{"openapi":"3.1.0","info":{"title":"Brouky API","version":"1.0.0","description":"Venture intelligence for investors and startups: an AI data agent over Brouky's database, the AI VC Finder, and investor, startup and market data. The same operations are available as an MCP server.","contact":{"url":"https://brouky.tech/dashboard/developers"}},"servers":[{"url":"https://api.brouky.tech/functions/v1/brouky-api"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Your key from /dashboard/developers (brk_live_...)."}},"schemas":{"Result":{"type":"object","properties":{"success":{"type":"boolean"},"operation":{"type":"string"},"data":{"type":"object","description":"Operation-specific structured result."},"summary":{"type":"string","description":"A short readable answer."},"charts":{"type":"array","description":"Chart specs (RichChartSpec: type, title, xKey, series, data, unit).","items":{"type":"object"}},"url":{"type":["string","null"],"description":"The full interactive view on brouky.tech."},"credits":{"type":["object","null"],"properties":{"charged":{"type":"integer"},"remaining":{"type":["integer","null"]}}}}}}},"paths":{"/v1/my_account":{"post":{"operationId":"my_account","summary":"My Brouky plan and credits","description":"The plan (free or paid), the credit balance, and which tools this account can use. Call it when unsure whether a paid tool will run, or when the user asks about their plan. Free.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/ask":{"post":{"operationId":"ask","summary":"Ask Brouky","description":"Answer any question about investors, startups, funding rounds and markets in plain language. Brouky's data agent writes and runs the queries over its database of investors, startups and funding rounds since 2020, and returns the answer, the result rows and ready-made charts. Use for counts, rankings, trends and lists, e.g. \"seed rounds in the Czech Republic by year\" or \"most active fintech investors in Germany in 2025\". Paid plans: 1 credit per question.\n\nCredits per call: 1. Scope: ask.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"The question, 3-500 characters.","minLength":3,"maxLength":500}},"required":["query"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/find_investors":{"post":{"operationId":"find_investors","summary":"Find investors for a startup (AI VC Finder)","description":"Rank the investors that best fit a startup, by their real investment history: sector and tag overlap, stage, geography, check size and portfolio twins. Give the startup's website, or describe it. Returns up to 50 ranked investors with a fit % and the reasons, match-overview charts (their deal activity in your sector, stages, locations) and a link to the full report. Free accounts get one run with the top 5 matches; paid plans get up to 50 matches for 3 credits a run. Brouky classifies the startup itself; if you already know what it does, pass `sector` (and `subsectors` / `tags`) so the first run matches on the right market instead of paying for a corrected second run.\n\nCredits per call: 3. Scope: finder.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"website":{"type":"string","description":"The startup's website, e.g. https://example.com. Preferred."},"description":{"type":"string","description":"What the startup does, if there is no website (1-3 sentences)."},"raising_stage":{"type":"string","enum":["pre-seed","seed","series-a","series-b","series-c-plus"],"description":"The round being raised now."},"investor_region":{"type":"string","description":"Where investors should be based: europe, eu, cee, dach, nordics, north america, n america, us, uk, apac, asia, latam, mena, africa, global."},"investor_countries":{"type":"array","items":{"type":"string"},"description":"Explicit investor HQ countries (wins over investor_region)."},"sector":{"type":"string","enum":["Artificial Intelligence & Data","Commerce & Marketing","Consumer, Lifestyle & Services","Energy, Environment & Mobility","Finance & Blockchain","Healthcare & Life Sciences","Industry & Hardware","Software & Developer Tools"],"description":"Primary sector of the startup. Overrides the Brouky classification."},"subsectors":{"type":"array","items":{"type":"string"},"description":"Subsectors, e.g. [\"generative media\", \"adtech\"]."},"tags":{"type":"array","items":{"type":"string"},"description":"Specific themes, e.g. [\"generative video\", \"advertising\", \"film production\"]."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/analyze_deck":{"post":{"operationId":"analyze_deck","summary":"Analyze a pitch deck (VC data room)","description":"For investor (VC) accounts. Give a direct, public link to a pitch deck (PDF or PPTX). Brouky creates a data room in your VC dashboard and runs its AI deck analysis against your fund thesis: deal score, verdict, scored dimensions, strengths, risks, red flags and questions for the first meeting. Waits up to about 90 seconds; if the analysis is still running, call get_deck_analysis with the returned room_id. Paid plans: 3 credits.\n\nCredits per call: 3. Scope: finder.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deck_url":{"type":"string","description":"Direct public https link to the PDF or PPTX file (not a viewer page)."},"startup_name":{"type":"string","description":"Name of the startup, if known."}},"required":["deck_url"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/get_deck_analysis":{"post":{"operationId":"get_deck_analysis","summary":"Get a deck analysis","description":"Fetch the result of analyze_deck for a data room (room_id from analyze_deck). Free.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"room_id":{"type":"string","description":"The room_id returned by analyze_deck."}},"required":["room_id"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/find_startups_for_fund":{"post":{"operationId":"find_startups_for_fund","summary":"Deal sourcing: startups for my fund","description":"For investor (VC) accounts. Scores startups against your fund thesis (sectors, stages, geography and portfolio) and returns the best fits with the reasons, plus short analyst notes for the top 5. The batch is saved to your VC dashboard match list. Paid plans: 3 credits.\n\nCredits per call: 3. Scope: finder.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":30,"default":20,"description":"How many startups to score into the batch."}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/find_customers":{"post":{"operationId":"find_customers","summary":"Sales targets: startups that need what you sell","description":"For service providers and organisations on Brouky (agencies, law firms, accelerators, SaaS vendors). Describe who you want to reach in plain language, e.g. \"seed-stage fintechs in DACH that are hiring engineers\", and get a ranked list of startups with fit %, momentum and why each one needs you. Uses your organisation profile by default. Paid plans: 3 credits (a repeat within 24 hours is free).\n\nCredits per call: 3. Scope: finder.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"brief":{"type":"string","description":"Who you want to reach, in plain language."},"org_key":{"type":"string","description":"Your organisation key, if you manage more than one."},"regions":{"type":"array","items":{"type":"string"},"description":"Override the regions, e.g. [\"DACH\", \"Nordics\"]."},"stages":{"type":"array","items":{"type":"string"},"description":"Override the stages, e.g. [\"seed\", \"series-a\"]."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/search_investors":{"post":{"operationId":"search_investors","summary":"Search investors","description":"List investors (VCs, angels, corporate VCs) by name, country, region, type or sector focus, ranked by Brouky score or by number of investments. Free within rate limits.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Name or location substring."},"country":{"type":"string","description":"HQ country, e.g. Germany."},"region":{"type":"string","description":"HQ region, e.g. CEE, DACH, Nordics."},"investor_type":{"type":"string","description":"e.g. VC, Angel, Corporate VC, Accelerator."},"sector":{"type":"string","description":"Primary sector focus, e.g. \"Fintech & Insurance\"."},"sort":{"type":"string","enum":["score","investments"],"default":"score"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":25},"offset":{"type":"integer","minimum":0,"default":0}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/get_investor":{"post":{"operationId":"get_investor","summary":"Investor profile","description":"Full profile of one investor: thesis, team, HQ, scores, sector and stage mix, investments by year and recent portfolio companies. Use the key from search_investors or find_investors. Free within rate limits.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"Investor key (normalized_key), e.g. \"hv-capital\"."}},"required":["key"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/search_startups":{"post":{"operationId":"search_startups","summary":"Search startups","description":"List startups by keyword, sector, country and stage. Returns name, what they do, HQ, stage and funding. Free within rate limits.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Keyword over name and description, e.g. \"payments\"."},"sector":{"type":"string","description":"Primary category."},"countries":{"type":"array","items":{"type":"string"},"description":"HQ countries."},"stages":{"type":"array","items":{"type":"string"},"description":"e.g. seed, series-a."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":25},"offset":{"type":"integer","minimum":0,"default":0}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/get_startup":{"post":{"operationId":"get_startup","summary":"Startup profile","description":"Full profile of one startup: what it does, HQ, stage, status, founders, every funding round with its investors, and total raised. Accepts the startup key or its name. Free within rate limits.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"Startup key or exact name, e.g. \"revolut\"."}},"required":["key"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}},"/v1/country_overview":{"post":{"operationId":"country_overview","summary":"Country startup market overview","description":"The venture market of one country since 2020: deals and capital by year, the stage mix, the top sectors and the most active investors over the last three years, with country-report charts. Free within rate limits.\n\nCredits per call: 0. Scope: read.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"Country name, e.g. \"Czech Republic\", \"Germany\"."}},"required":["country"]}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"400":{"description":"Invalid input"},"401":{"description":"Missing or invalid key"},"402":{"description":"Not enough credits"},"403":{"description":"Key lacks the scope, or plan required"},"429":{"description":"Rate limited"}}}}}}