To analyse a different market, change the two lookups in step 2. Every later
request reuses the IDs they return, so nothing else needs editing. Pass
type
on both lookups: an untyped search matches every taxonomy row containing your
term, which is slower and returns rows you did not ask for.Prerequisites
- Complete the Quickstart to create an API key and make your first request.
DEALROOM_CLIENT_IDandDEALROOM_CLIENT_SECRETexported as environment variables.jqfor the cURL and Command Prompt snippets. The PowerShell, Node.js, and Python variants don’t require it.
The recipe
How the requests fit together
Every request after the lookups reuses one filter fragment,MARKET, which is
the market definition: a technology tag, a location, and is_vc_round[eq]:true
to exclude grants, debt, and other non-venture events. Holding that fragment
constant is what makes the results comparable.
Steps 3 and 4 are the pair that carries the analysis. Step 3 tells you whether
money is flowing in. Step 4 tells you whether it is spread across more
companies or concentrated into larger rounds. Reading them together is what separates a
growing market from a concentrating one.
Common pitfalls
- Reporting lag. Rounds keep being recorded for weeks after they close, so the most recent period always understates. Exclude the current year from a trend, or label it as partial.
- Undisclosed amounts.
amount[gte]:1in step 4 excludes rounds with no reported amount, which is why itscountis lower than step 3’s. Leave the filter out and those rounds enter the distribution as zeroes. - Investor amounts double count. A round contributes its full size to every
investor in it, so step 5’s amounts rank investors but should not be totalled.
Deal count also favours investors who write many small cheques, so use
sort=-sum_amountwhen you want capital deployed instead. - Small groups. Narrow the market far enough and a percentile is drawn from
a handful of rounds. Check
countbefore reading a median.
Where to go from here
- Break the same market down by geography instead of time with
group_by=hq_country, or by stage withgroup_by=standardized_round. The filter fragment stays identical. See Analytics and aggregates for every supported source, metric, and dimension. - Add per-metric filters and percentages with
/analytics/aggregate/{source}/multi-metric, which can calculate shares such as “what proportion of this market is unicorns” in one request. - Request every monetary metric and threshold in another currency with
currency=EUR. See Currencies. - Move from the aggregate to the underlying records with
/data/transactions, using the same filter syntax. See Filtering and the Filters and sorting reference. - For a shorter first query against a
/dataendpoint, see Top fintech startups.