API reference · 2 endpoints
Fit and search
Investors ranked out of 100 for a startup by what they are observed doing: entry stage, theme share, geography, recent activity and round size. Every score comes with its reasons and the points behind it.
ParameterDescription
stageenum · body · requiredpre_seed, seed, series_a, series_b or growth.themestring · body · requiredAn investment theme from facets, such as
Fintech.countrystring · body · requiredThe startup's country, in English.
round_usdnumber · bodyTarget round size in USD, 10,000 to 5,000,000,000.
foundedyear · bodyFounding year.
limitinteger · queryResults per page, up to your plan's page size: 25 on Free, 100 on Pro and Team.
curl -X POST "https://api.vcinfo.io/v1/fit" \
-H "X-API-Key: $VCINFO_KEY" \
-H "Content-Type: application/json" \
-d '{"stage":"seed","theme":"Fintech","country":"Germany","round_usd":3000000}'const res = await fetch("https://api.vcinfo.io/v1/fit", {
method: "POST",
headers: { "X-API-Key": process.env.VCINFO_KEY, "Content-Type": "application/json" },
body: JSON.stringify({"stage":"seed","theme":"Fintech","country":"Germany","round_usd":3000000}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://api.vcinfo.io/v1/fit",
headers={"X-API-Key": os.environ["VCINFO_KEY"]},
json={"stage":"seed","theme":"Fintech","country":"Germany","round_usd":3000000},
)
res.raise_for_status()
data = res.json()Response
200{
"input": {
"stage": "seed",
"theme": "Fintech",
"country": "Germany",
"round_usd": 3000000,
"revenue": null,
"founded": null,
"url": null
},
"firms": [
{
"slug": "example-capital",
"name": "Example Capital",
"domain": "example.vc",
"type": "vc",
"city": "Berlin",
"country": "Germany",
"facts": [
[
"seed entries",
"58%"
],
[
"Portfolio in Fintech",
"41%"
],
[
"Companies in Germany",
"64%"
],
[
"Rounds, last 12 months",
"19"
],
[
"Typical round",
"$1M to $5M"
]
],
"score": 88,
"reasons": [
"Entered 58% of its companies at seed",
"41% of its checked portfolio is in Fintech",
"64% of its companies are in Germany",
"19 funding rounds in the last 12 months",
"Typically joins rounds of $1M to $5M"
],
"breakdown": {
"stage": 1,
"theme": 0.82,
"geography": 1,
"activity": 0.7,
"size": 1
}
}
],
"method_note": "Scores weigh where a firm's funding rounds enter companies (30 points), how much of its checked portfolio is in the theme (30), where its companies are (15), its rounds in the last 12 months (15) and whether the rounds it joins fall in the same size band as the one asked (10). Built only from what VCinfo observes: a firm's stated thesis does not raise its score."
}A question in plain English becomes the same filters as /v1/firms, and the firms come from the database, never from the model. filters shows how the question was read.
Questions a day: 5 on Free, 100 on Pro, 500 on Team. x-asks-remaining says how many are left.
ParameterDescription
qstring · query · requiredThe question, at least three characters.
limitinteger · queryResults per page, up to your plan's page size: 25 on Free, 100 on Pro and Team.
curl "https://api.vcinfo.io/v1/search?q=seed%20fintech%20investors%20in%20Germany" \
-H "X-API-Key: $VCINFO_KEY"const res = await fetch("https://api.vcinfo.io/v1/search?q=seed%20fintech%20investors%20in%20Germany", {
headers: { "X-API-Key": process.env.VCINFO_KEY },
});
const data = await res.json();import os, requests
res = requests.get(
"https://api.vcinfo.io/v1/search?q=seed%20fintech%20investors%20in%20Germany",
headers={"X-API-Key": os.environ["VCINFO_KEY"]},
)
res.raise_for_status()
data = res.json()Response
200{
"query": "seed fintech investors in Germany",
"filters": {
"stage": "seed",
"theme": "Fintech",
"country": "Germany"
},
"interpreted_by": "model",
"total": 37,
"firms": [
{
"slug": "example-capital",
"name": "Example Capital",
"domain": "example.vc",
"type": "vc",
"country": "Germany",
"city": "Berlin",
"portfolio_count": 64,
"rounds_last_12_months": 19,
"themes": [
{
"name": "Fintech",
"share": 0.41
}
]
}
]
}