Enrichment
Rounds announced more than 30 days ago. A durable historical set that grows each cycle as freshness snapshots age into it.
What a funding data provider is asked for. Given a company domain, return that company's latest funding stage: the most recent round it raised, named correctly.
Two boards. Freshness measures rounds announced in the last 30 days: how fast a provider indexes news. Enrichment measures rounds older than that: how completely it has backfilled history. These reward opposite things, and a provider that leads one routinely trails the other, so they are ranked separately rather than averaged into a rank that describes neither. Each freshness cohort ages into enrichment once its window closes.
Vendors benchmarked. The 16 measured providers are Apollo, CompanyEnrich, Crunchbase, Crustdata, Exa, Explorium, Fiber, Firecrawl, Fundable, Harmonic, Ocean.io, Parallel, People Data Labs, PredictLeads, Seltz, and ZoomInfo. Several are measured on more than one endpoint, for 21 arms in total. Crunchbase and Harmonic are measured from reviewed exports mapped to the same company identities, so neither carries a latency or cost figure. PitchBook and Tracxn are private-market research platforms built for investor workflows and hence are not benched here.
Which board answers your question. Start from what consumes the data instead of the top of a ranking. Vendors are divided in 3 categories based on how they source data: Long Running Agent APIs research each company at request time, Web search APIs extract it from a search index, and GTM data providers return a stored record.
2026-08-26 added Firecrawl Spark 2 and rebenchmarked every vendor on the freshness board against a new snapshot, last run 2026-08-26. Full changelog →
Every column is a measured value. Column definitions, the matching policy, and what each number does not tell you are in [02] methodology.
Measured on 181 company observations across 3 dated snapshots: 2026-08 (2026-07-27 to 2026-08-26), 2026-08 (2026-07-16 to 2026-08-15) and 2026-07 (2026-06-16 to 2026-07-15). This is a rolling measurement: every vendor is re-run on a new snapshot of recent rounds, so these numbers change over time. Each snapshot above is scored on the rounds announced inside its own window.
| Provider | Endpoint & configuration | Measured on | Latest stage correct | Correct when returned | Latest stage returned | Funding fields returned | Fields returned | Median latency | Est. cost | Official docs | Company identified |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Long Running Agent APIs | |||||||||||
| Exa | POST /agent/runseffort=medium · JSON schema | 100company measurements · 2 snapshots | 97.0% | 97.9% | 96.0% | 73.6% | 3.7 / 5 | 27,293 ms | $10.00$0.10 / request (medium effort) | Exa official docs | 100.0%100/100 domains |
| Firecrawl | POST /v2/agentmodel=spark-2 · JSON schema · maxCredits capped per run | 50company measurements · 1 snapshot | 100.0% | 100.0% | 98.0% | 87.2% | 4.4 / 5 | 102,203 ms | $1.98$0.59 / 1,000 credits | Firecrawl official docs | 100.0%50/50 domains |
| Firecrawl | POST /v2/agentmodel=spark-1-mini · JSON schema · maxCredits capped per run | 100company measurements · 2 snapshots | 96.0% | 96.9% | 97.0% | 94.4% | 4.7 / 5 | 92,998 ms | $9.95$0.59 / 1,000 credits | Firecrawl official docs | 100.0%100/100 domains |
| Parallel | POST /v1/tasks/runsprocessor=core · structured JSON output | 181company measurements · 3 snapshots | 95.0% | 96.0% | 95.6% | 86.7% | 4.3 / 5 | 62,142 ms | $4.53$25 / 1,000 Task runs | Parallel official docs | 100.0%181/181 domains |
| Web search APIs | |||||||||||
| Exa | POST /searchtype=instant · JSON schema | 100company measurements · 2 snapshots | 98.0% | 99.0% | 95.0% | 90.2% | 4.5 / 5 | 1,618 ms | $0.70$0.007 / request | Exa official docs | 100.0%100/100 domains |
| Exa | POST /searchtype=deep-reasoning · JSON schema | 181company measurements · 3 snapshots | 95.6% | 96.0% | 96.7% | 84.8% | 4.2 / 5 | 9,916 ms | $2.71$0.015 / request | Exa official docs | 100.0%181/181 domains |
| Parallel | POST /v1/responsesmodel=parallel · reasoning.effort=medium · text.format JSON schema | 100company measurements · 2 snapshots | 90.0% | 90.6% | 96.0% | 82.6% | 4.1 / 5 | 17,020 ms | $5.00$50 / 1,000 Responses requests (medium reasoning) | Parallel official docs | 100.0%100/100 domains |
| Seltz | POST /v1/answerscope=news · response_format JSON | 100company measurements · 2 snapshots | 71.0% | 85.9% | 78.0% | 57.8% | 2.9 / 5 | 2,109 ms | --Pricing not disclosed | Seltz official docs | 100.0%100/100 domains |
| Seltz | POST /v1/answerscope=companies · response_format JSON | 100company measurements · 2 snapshots | 22.0% | 32.8% | 67.0% | 62.6% | 3.1 / 5 | 2,118 ms | --Pricing not disclosed | Seltz official docs | 100.0%100/100 domains |
| GTM data providers | |||||||||||
| Apollo | GET /api/v1/organizations/enrich | 181company measurements · 3 snapshots | 59.7% | 69.5% | 85.1% | 70.1% | 3.5 / 5 | 320 ms | $3.44$0.0196 / modeled credit | Apollo official docs | 97.2%176/181 domains |
| CompanyEnrich | GET /companies/enrich | 181company measurements · 3 snapshots | 12.7% | 19.1% | 63.5% | 56.8% | 2.8 / 5 | 334 ms | $1.77$0.0098 / credit | CompanyEnrich official docs | 96.7%175/181 domains |
| Crunchbase (exported dataset) | Crunchbase self-serve plan exportidentity-mapped export · not an API run | 81company measurements · 1 snapshot | 95.1% | 98.7% | 96.3% | 92.6% | 4.6 / 5 | -- | --Not comparable | Crunchbase (exported dataset) official docs | 100.0%81/81 domains |
| Crustdata | POST /company/enrichexact_match=true · fields=[funding] · 25 domains/batch | 181company measurements · 3 snapshots | 81.2% | 90.1% | 89.5% | 71.3% | 3.6 / 5 | 1,537 ms | $54.30$0.30 / response credit | Crustdata official docs | 96.1%174/181 domains |
| Explorium | POST /v1/businesses/match + bulk_enrichfunding_and_acquisition enrichment | 181company measurements · 3 snapshots | 5.5% | 13.6% | 36.5% | 40.4% | 2.0 / 5 | 715 ms | $11.00$0.04 / request proxy | Explorium official docs | 44.8%81/181 domains |
| Fiber | POST /v1/company-search | 181company measurements · 3 snapshots | 74.6% | 80.2% | 92.3% | 88.3% | 4.4 / 5 | 615 ms | $4.11$0.020 / credit | Fiber official docs | 97.8%177/181 domains |
| Fundable | GET /api/v1/companydomain query parameter | 100company measurements · 2 snapshots | 84.0% | 92.3% | 91.0% | 91.0% | 4.5 / 5 | 1,300 ms | $3.53$0.05 / credit | Fundable official docs | 91.0%91/100 domains |
| Harmonic (exported dataset) | Supplied Harmonic company exportidentity-audited mapping · not an API run | 81company measurements · 1 snapshot | 81.5% | 81.5% | 100.0% | 91.8% | 4.6 / 5 | -- | --Pricing not disclosed | Harmonic (exported dataset) official docs | 100.0%81/81 domains |
| Ocean.io | POST /v2/enrich/company | 181company measurements · 3 snapshots | 11.1% | 19.4% | 54.1% | 29.4% | 1.5 / 5 | 575 ms | $1.11$0.064 / credit | Ocean.io official docs | 96.7%175/181 domains |
| People Data Labs | GET /v5/company/enrich | 181company measurements · 3 snapshots | 13.3% | 19.5% | 65.2% | 51.4% | 2.6 / 5 | 325 ms | $17.38$0.10 / successful match | People Data Labs official docs | 92.3%167/181 domains |
| PredictLeads | GET /api/v3/companies/{domain}/financing_events | 181company measurements · 3 snapshots | 68.0% | 82.4% | 81.8% | 64.3% | 3.2 / 5 | 561 ms | $4.83$0.04 / request · 100 free | PredictLeads official docs | 84.0%152/181 domains |
| ZoomInfo | gtm companies enrich --file10 domains/batch · 4 funding fields | 181company measurements · 3 snapshots | 72.4% | 85.0% | 84.5% | 85.8% | 4.3 / 5 | 958 ms | $18.10$0.10 / credit launch promo · $0.35 standard | ZoomInfo official docs | 90.6%164/181 domains |
The historical board. A vendor is scored on the rounds that were already more than 30 days old when it ran. Each row's own denominator is shown in the company identified column.
| Provider | Endpoint & configuration | Latest stage correct | Correct when returned | Latest stage returned | Funding fields returned | Fields returned | Median latency | Est. cost | Official docs | Company identified |
|---|---|---|---|---|---|---|---|---|---|---|
| Long Running Agent APIs | ||||||||||
| Exa | POST /agent/runseffort=medium · JSON schema | 88.7% | 93.0% | 90.7% | 67.3% | 3.4 / 5 | 26,549 ms | $30.00$0.10 / request (medium effort) | Exa official docs | 100.0%300/300 domains |
| Firecrawl | POST /v2/agentmodel=spark-1-mini · JSON schema · maxCredits capped per run | 92.3% | 92.3% | 100.0% | 93.3% | 4.7 / 5 | 109,835 ms | $29.86$0.59 / 1,000 credits | Firecrawl official docs | 100.0%300/300 domains |
| Firecrawl | POST /v2/agentmodel=spark-2 · JSON schema · maxCredits capped per run | 87.3% | 89.9% | 95.3% | 84.2% | 4.2 / 5 | 104,406 ms | $11.87$0.59 / 1,000 credits | Firecrawl official docs | 99.7%299/300 domains |
| Parallel | POST /v1/tasks/runsprocessor=core · structured JSON output | 90.0% | 92.3% | 95.4% | 84.9% | 4.3 / 5 | 53,684 ms | $5.47$25 / 1,000 Task runs | Parallel official docs | 100.0%219/219 domains |
| Web search APIs | ||||||||||
| Exa | POST /searchtype=deep-reasoning · JSON schema | 88.6% | 88.6% | 100.0% | 93.6% | 4.7 / 5 | 12,848 ms | $3.29$0.015 / request | Exa official docs | 100.0%219/219 domains |
| Exa | POST /searchtype=instant · JSON schema | 87.0% | 89.0% | 97.0% | 89.0% | 4.5 / 5 | 1,507 ms | $2.10$0.007 / request | Exa official docs | 100.0%300/300 domains |
| Parallel | POST /v1/responsesmodel=parallel · reasoning.effort=medium · text.format JSON schema | 89.0% | 90.1% | 94.3% | 81.6% | 4.1 / 5 | 15,930 ms | $15.00$50 / 1,000 Responses requests (medium reasoning) | Parallel official docs | 100.0%300/300 domains |
| Seltz | POST /v1/answerscope=companies · response_format JSON | 54.7% | 59.9% | 91.3% | 80.7% | 4.0 / 5 | 1,969 ms | --Pricing not disclosed | Seltz official docs | 100.0%300/300 domains |
| Seltz | POST /v1/answerscope=news · response_format JSON | 40.0% | 59.3% | 66.3% | 46.3% | 2.3 / 5 | 1,926 ms | --Pricing not disclosed | Seltz official docs | 100.0%300/300 domains |
| GTM data providers | ||||||||||
| Apollo | GET /api/v1/organizations/enrich | 49.8% | 63.7% | 78.1% | 64.3% | 3.2 / 5 | 284 ms | $4.16$0.0196 / modeled credit | Apollo official docs | 96.8%212/219 domains |
| CompanyEnrich | GET /companies/enrich | 46.1% | 55.2% | 83.6% | 69.3% | 3.5 / 5 | 342 ms | $2.15$0.0098 / credit | CompanyEnrich official docs | 97.7%214/219 domains |
| Crunchbase (exported dataset) | Crunchbase self-serve plan exportidentity-mapped export · not an API run | 85.8% | 90.8% | 94.5% | 87.8% | 4.4 / 5 | -- | --Not comparable | Crunchbase (exported dataset) official docs | 98.6%216/219 domains |
| Crustdata | POST /company/enrichexact_match=true · fields=[funding] · 25 domains/batch | 79.0% | 89.2% | 88.6% | 68.4% | 3.4 / 5 | 1,469 ms | $65.70$0.30 / response credit | Crustdata official docs | 94.1%206/219 domains |
| Explorium | POST /v1/businesses/match + bulk_enrichfunding_and_acquisition enrichment | 21.9% | 43.8% | 40.6% | 46.4% | 2.3 / 5 | 697 ms | $13.32$0.04 / request proxy | Explorium official docs | 53.4%117/219 domains |
| Fiber | POST /v1/company-search | 84.9% | 88.2% | 96.3% | 90.0% | 4.5 / 5 | 632 ms | $4.98$0.020 / credit | Fiber official docs | 97.3%213/219 domains |
| Fundable | GET /api/v1/companydomain query parameter | 60.3% | 86.1% | 69.7% | 68.7% | 3.4 / 5 | 1,370 ms | $10.60$0.05 / credit | Fundable official docs | 70.7%212/300 domains |
| Harmonic (exported dataset) | Supplied Harmonic company exportidentity-audited mapping · not an API run | 71.2% | 72.9% | 97.7% | 90.0% | 4.5 / 5 | -- | --Pricing not disclosed | Harmonic (exported dataset) official docs | 98.6%216/219 domains |
| Ocean.io | POST /v2/enrich/company | 5.5% | 14.3% | 35.2% | 21.1% | 1.1 / 5 | 551 ms | $1.35$0.064 / credit | Ocean.io official docs | 96.3%211/219 domains |
| People Data Labs | GET /v5/company/enrich | 67.6% | 80.9% | 83.6% | 64.7% | 3.2 / 5 | 276 ms | $21.02$0.10 / successful match | People Data Labs official docs | 95.9%210/219 domains |
| PredictLeads | GET /api/v3/companies/{domain}/financing_events | 37.9% | 70.1% | 53.4% | 39.0% | 1.9 / 5 | 562 ms | $5.84$0.04 / request · 100 free | PredictLeads official docs | 57.5%126/219 domains |
| ZoomInfo | gtm companies enrich --file10 domains/batch · 4 funding fields | 46.1% | 78.9% | 58.5% | 62.1% | 3.1 / 5 | 972 ms | $21.90$0.10 / credit launch promo · $0.35 standard | ZoomInfo official docs | 76.7%168/219 domains |
Finding a round announced this week and holding a correct historical record are different capabilities, and a vendor can be strong at one and weak at the other. Averaging them into a single number hides that, so they are measured separately. The split is on the announcement date: rounds inside the trailing 30 days are freshness, everything older is enrichment.
Rounds announced more than 30 days ago. A durable historical set that grows each cycle as freshness snapshots age into it.
Rounds announced in the trailing 30 days, sourced from current public funding news and verified before inclusion. Measured while the rounds are still recent, which is what exposes update lag.
Each cycle builds a new dated freshness cohort and re-runs every vendor against it. Freshness results pool across the snapshots a vendor took part in, so its own case count is shown beside its score.
Latest-stage Ground Truth is reviewed per company against a primary source. Blank Ground Truth is a pass-through case.
correct latest stages ÷ the Ground Truth-reviewed companies that provider was measured on/search at deep-reasoning and at instant, plus its Agent API; Parallel runs the Task API and the Responses API; Seltz runs its companies and news scopes. Contract tests beside the runner assert that parity, so a difference in score is attributable to the varied parameter rather than to a different question.Both boards are subdivided by how a provider produces its answer, because a single ranked list quietly compares things that are not substitutes for each other. Every provider is asked the same question about the same companies and judged by the same policy, so the rows remain directly comparable. The grouping is a reading aid, not a separate scoring rule, and nothing is excluded or weighted differently.
The distinction is about mechanism, so Exa and Parallel each appear in two groups. Exa's Agent API and Parallel's Task API dispatch an agent that researches the company; Exa's two /search arms and Parallel's Responses API resolve the question against an index. The instruction and output schema sent to all of them are identical, so the endpoint is the only variable. The grouping also explains results a single list would make look contradictory, since an agent that researches on demand can lead on historical rounds and still be beaten on rounds announced last week.
Every result is aligned to the same company domains. A latest stage counts as correct under the documented Ground Truth matching policy, which includes selected stage equivalents and exact date or amount evidence for non-Series disagreements. A missing provider stage lowers the correct-stage result, except that a blank vendor stage is accepted when Ground Truth is Undisclosed.
The provider table links directly to official API, endpoint, product, or access documentation for every measured provider, including Crunchbase, Harmonic, Apollo, People Data Labs, PredictLeads, Exa, and Parallel. Those links document vendor access and capabilities; vendor claims do not determine benchmark scores.
Yes. Ground Truth is independently reviewed against official company newsrooms, investor announcements, regulatory filings where applicable, and company-issued wire releases. Provider outputs are then scored against that frozen reference using identical company inputs.
They answer different questions and are ranked separately. Freshness measures rounds announced in the trailing 30 days, so it tells you how fast a provider indexes a new announcement. Enrichment measures rounds older than 30 days, so it tells you how completely a provider has backfilled history. A provider can lead one and trail the other, which is exactly why they are not averaged into a single rank.
Because they were measured on different companies. Providers join the benchmark at different times, and each freshness snapshot is its own cohort that ages into enrichment once its window closes. Every score is therefore computed against that provider's own denominator, shown in the Measured on column. Using a board-wide denominator would silently penalise every provider that was present before a later one joined.
It depends on which board you need, so read the one that matches your workflow rather than a blended rank. The tables report latest stage correct as the headline, alongside correct when returned, which separates a provider that is often wrong from one that is often silent. Both are shown because a provider that returns nothing is not the same as a provider that returns a wrong stage, and the right trade-off depends on what consumes the data.
Only on correctness and coverage. Both are measured from reviewed exports mapped to the same company identities rather than from timed, billed endpoint calls, so neither carries a latency or cost figure. An export also has no query moment relative to an announcement, which is what a freshness score measures.
Against a documented matching policy, judged by gpt-5.6 at medium reasoning effort with the same prompt for every provider. The policy accepts documented equivalents for same-letter Series variants, PE and growth, strategic investment, Seed Bridge and Pre-Series A, and crowdfunding and grant labels, and keeps Seed and Pre-Seed distinct. For non-Series disagreements an exact announced date or amount match can establish correctness. Every verdict carries a reason and a decision basis.
Yes. The frozen inputs, the normalized provider outputs, the judge policy, and the evaluation code are public in the open data repository linked at the top of this page. Each freshness cohort publishes its own input list, so a snapshot is reproducible on its own rather than only as part of the combined cohort. Literal vendor HTTP response bodies are not redistributed.
They are private-market research platforms built primarily for investor workflows, including private equity, rather than company funding enrichment APIs that a GTM system can call per domain. This benchmark measures the enrichment job, so a provider has to expose a way to ask about a specific company and get a structured answer back.
type=instant, the Exa Agent API, Seltz on its companies and news scopes, and Firecrawl's agent endpoint./search at deep-reasoning and instant plus its Agent API, Parallel across POST /v1/tasks/runs and POST /v1/responses, and Seltz across its two search scopes. Contract tests beside the runner assert that parity, so a score difference is attributable to the varied parameter rather than a different question.latest_date, round_count), so any provider scored through the later web-research schema, which emits latest_announced_on and funding_round_count, was capped at 3 of 5 fields no matter what it actually returned. Both spellings are now counted; coverage rose for the affected providers, and no correctness score, ranking, or judge verdict changed.gpt-5.6 medium-reasoning policy as the rest of the benchmark: 222 / 300 correct (74.0%).gpt-5.6 at medium reasoning effort across all 13 providers.Best company funding data API: accuracy, latency, and cost → · Best funding data providers: the measured landscape → · Real-time funding data: recent-round freshness and latency → · Crunchbase alternatives, measured → · Harmonic alternatives, measured → · PredictLeads vs People Data Labs → · Apollo vs People Data Labs → · PredictLeads vs Apollo → · Exa vs Parallel →