A read-only JSON API over the Tech.eu Funding Explorer dataset: European startup funding rounds, companies, investors and exits. Keyless, CORS-enabled, keyset-paginated. Every round is cited to its published source and EUR-normalized at the ECB reference rate on the round date. Licensed CC BY 4.0.
Prefer to use it from an AI assistant? See the MCP server. Overview of every machine surface: /for-ai.
Full dataset, not a sample: 38,636 companies, 52,046 funding rounds, 30,605 investors, 8,858 exits, about €715B in disclosed funding — the same tables the site renders. No key, no account, no gated endpoint. Scope (European tech, including Turkey and Israel), the FX method and the confidence tiers are on the methodology page.
| Path | Returns | Parameters |
|---|---|---|
/api/v1 | API index: endpoints, rate limits, usage notes | |
/api/v1/rounds | Funding rounds, newest first; each with amountEur, amountEurStored, source {domain, tier}, confidence | country · stage · sector · minAmount · from · to · limit · after |
/api/v1/companies/{id} | Company profile: description, location, sectors, every round with investors, exit if any, funding-signal estimates | |
/api/v1/investors | Investor directory (entity-resolved): deal and company counts, top sector | q · type · sort · page |
/api/v1/investors/{name} | Investor profile: portfolio, biggest deals, co-investors, sector and country focus | URL-encoded name |
/api/v1/exits | Exits and M&A, newest first | country · from · to · limit · after |
/api/v1/market-map | Aggregates for a period: totals, concentration, breakdowns by country, sector, stage, with provenance | period (2026, 2026-q1, 2026-01) |
/api/v1/changes | Incremental sync: rows added and removed since a timestamp, oldest first, resumable cursor | type (rounds | companies) · since · limit · after |
/api/v1/openapi.json | OpenAPI 3.1 description of everything above |
First call:
curl "https://funding.tech.eu/api/v1/rounds?country=Germany&stage=Series+A&from=2026-01-01&limit=5"
/rounds, /exits and /changes are keyset-paginated: pass the returned nextCursor as ?after=. /investors is page-based (?page=). limit defaults to 25 and caps at 100.
Per IP: 120 requests / 60 s, 600 / hour, 2,000 / day. Every response carries ratelimit-limit, ratelimit-remaining, ratelimit-reset and ratelimit-scope (which window they describe). Over the limit: HTTP 429 with retry-after. Single-entity reads never approach these; a full re-walk of /rounds does, which is what the changes feed is for. Responses are cacheable for 5 minutes (cache-control: public, max-age=300).
/api/v1/changes is keyed on ingestion time, sorted oldest first, and returns added rows plus removed-row tombstones. Store the last nextCursor and start there on the next run; a daily sync is a handful of requests. Additions and removals only: the source tables carry no modification timestamp, so a silent edit to an existing row is not reported — re-read that record by id when you need its current state. Exits are not in the feed (that table has no ingestion timestamp).
curl "https://funding.tech.eu/api/v1/changes?type=rounds&since=2026-01-01&limit=100"
amountEur — recomputed at the ECB reference rate on the round date; amountEurStored keeps the value as published, so the two can be compared.source {domain, tier} and confidence — where the figure was published and how much weight it carries.participatedRoundEur is combined round size, not capital deployed alone.market-map includes provenance: disclosed %, high-confidence %, ECB reconciliation delta.CC BY 4.0 has one condition: when you show, republish or redistribute figures from this dataset, cite “Tech.eu Funding Explorer” and link the page or API URL the figure came from. Questions, or need high-volume access above the fair-use limits? Contact Tech.eu.