Company Data API
for 75M+ companies.
Search companies with 30+ filter columns and 8 operators, industry, headcount, growth, funding stage, last round, location. Live or cached, from 0.75 credit per result.
SaaS companies in NYC with 50–200 employeesSeries B+ fintech in the USAI startups that raised >$10M since JanuaryHealthcare companies in Germany growing 20%+ in 6 monthsPrivately held software companies founded after 2020What is a company data API?
A company data API lets a program query a database of companies with structured filters, industry, headcount, location, growth, funding, and get firmographic records back as JSON. Where an enrichment API answers “tell me about this one domain”, a company data or company search API answers “give me every company that matches these criteria”.
DataForB2B covers 75M+ companies through one endpoint, POST /search/companies, with 30+ filter columns, 8 operators and nested AND / OR groups.
- Live enrichment at 1.5 credits per result, or cached data at 0.75 credit. Page with offset and count, up to 1000 results per request.
- Results carry the encoded org_ ID that the Company Enrichment API resolves into round-by-round funding, investors and offices.
- Same search as the search_company tool in the MCP server; monitors push funding or hiring events for the matching companies to your webhook.
- Endpoint
- POST https://api.dataforb2b.ai/search/companies
- Auth
- api_key header
- Filters
- 30+ columns · 8 operators · nested AND / OR groups
- Paging
- offset + count, up to 1000 results per request
- Cost
- 1.5 credits / result live · 0.75 credit / result cached
- Delivery
- REST · MCP tool search_company · monitors → webhooks
One endpoint. Every shape of company.
POST /search/companies with a filter group. Combine conditions with AND / OR, page with offset and count, choose live or cached data per request.
Combine industry, employee_count and country_iso_code to express the exact ICP. Every column takes a documented subset of the 8 operators.
Find companies the way capital does.
By how fast they hire, which stage they just closed, and where they are, 30+ columns, 8 operators, nested groups.
Industry, category, keyword
The labelled industry, the lower-cased category and a full-text keyword over name, tagline and description, match how the company describes itself.
industrycategorykeyworddomainHeadcount and growth
Filter by exact count, by range bucket, or by growth velocity over 1, 6 and 12 months. recent_hires_count catches teams that are staffing up right now.
employee_countemployee_growth_6memployee_growth_12mrecent_hires_countFunding stage and rounds
Normalised stage from pre-seed to post-IPO, last round amount and date, and a has_funding boolean. Chase the round, not the press release.
funding_stage_normalizedlast_funding_amount_usdlast_funding_datehas_fundingLocation and metadata
Headquarters and office locations by country, city and region. Founded year and company type.
country_iso_codecityoffice_countryfounded_yearcompany_typeEight operators, one filter group.
How conditions are written, what each operator matches, and the three request-level fields around the filter group. The complete column list lives in the API documentation.
| Operator / field | Applies to | Example | Behaviour |
|---|---|---|---|
| operatorsthe type field of a condition | |||
= | any | { "column": "name", "type": "=", "value": "Google" } | Exact match, case-insensitive. On multi-word fields it matches the full phrase in order. |
>, >=, <, <= | number / date | { "column": "employee_count", "type": ">=", "value": 100 } | Numeric and date comparisons. |
between | number / date | { "column": "founded_year", "type": "between", "value": 2010, "value2": 2020 } | Inclusive range; value2 is the upper bound. |
in | array | { "column": "country_iso_code", "type": "in", "value": ["US", "GB"] } | Any value in a JSON array (OR). A comma-separated string is treated as one literal, always pass an array. |
like | text | { "column": "keyword", "type": "like", "value": "artificial intelligence" } | All words present, in any order. The right choice for partial or keyword search. |
| request body | |||
filters | object | { op, conditions[] } | Recursive group: op is and / or, conditions holds conditions or nested groups. |
offset / count | int | default 0 / 25 | Pagination. count goes up to 1000 per request. |
enrich_live | boolean | default true | true fetches live data at 1.5 credits per result; false returns cached data at 0.75 credit. |
Search endpoint, dataset, or registry.
Three kinds of company data API answer three different questions. Where DataForB2B fits, and where the others are the better tool.
| // criterion | DataForB2B Company Data API | Dataset vendors (Coresignal, People Data Labs, Crustdata) | Registry APIs (OpenCorporates, Companies House) |
|---|---|---|---|
| Question it answers | Which companies match these criteria, and give me the record for each. | Which companies match these criteria, from a licensed snapshot. | Who are the registered legal entities, officers and filings. |
| Signals in the filters | Headcount growth over 1, 6 and 12 months, recent hires, funding stage, last round amount and date. | Firmographics and funding; growth signals depend on the vendor and the dataset tier. | Legal status, incorporation date, filings. No growth or funding velocity. |
| Freshness | enrich_live: true fetches at request time; false returns cached data at half the price. | Refreshed on the vendor's crawl cycle, often monthly for the full dataset. | Updated as registries publish filings, authoritative but slow for growth. |
| Billing | Per result: 0.75 credit cached, 1.5 credits live. No seat, no annual dataset licence required. | Per record or per match; enterprise datasets are licensed annually. | Often free or per-call government APIs; commercial wrappers charge per request. |
| Agent integration | MCP tool search_company, REST, and monitors that push funding and hiring events to a webhook. | REST; the agent builds and wraps the query itself. | REST; entity-centric, not built for ICP queries. |
| Best fit | Sales, recruiting and investment products or agents that build and re-query account lists in their own stack. | Teams that need a bulk company universe offline or want to license a dataset. | Compliance, KYC and legal-entity verification. |
Source data across 20+ points
Continuous global refresh from public sources — not a stale quarterly snapshot. Profiles, companies, and contact data verified in real time.
Data delivered where your stack lives.
Same dataset, three transports. Pull it via REST, plug it into your agent through MCP, or stream changes to your webhook in real time.
API
Pull on demand.
One JSON request. 60+ columns. 8 operators. Authenticate with your api_key header, point at the endpoint, get verified data back in 142ms (p50).
/search/people- api_key header auth
- JSON in, JSON out
MCP
Native tools for agents.
Drop our MCP server into Claude, Cursor, or any agent runtime. The model picks the tool, builds the filters and reads the response — no glue code, no schemas to maintain.
search_people · enrich_profile- Claude · OpenAI · Cursor
- tool-call native
- no schema babysitting
Webhooks
Get notified the moment it changes.
Subscribe to ICP events — new matches, role changes, funding rounds. We POST to your endpoint with the delta. Your sequence reacts before the data goes stale.
→ your_endpoint- ICP delta events
- signed payloads
- exponential retry
What can you build with our API.
One POST request, four product surfaces. Each layered on top of the same endpoint — only the question changes.
AI Recruiting product
Past employers, top schools, degrees, certifications and tenure in the same payload. Your agent shortlists ex-FAANG, ex-Big4 and Ivy/MIT graduates — and the data refreshes itself.
past_companyschooldegree_levelskillcertificationyears_of_experienceAI SDR
Wire funding triggers and ICP filters into your agent. Stream verified profiles into the sequence. Re-query when the ICP changes — the agent owns the list, not a CSV exported in March.
current_company_funding_stagecurrent_titlecurrent_company_sizeprofile_countryis_currently_employedInvestment platform
Catch stealth founders, track investor overlap, funding stage and tenure across thousands of operators. Pipe raw JSON into your scoring model — no scrapers, no stale lists, no broken refresh jobs.
current_title ~ "Stealth Founder"current_company_investorcurrent_company_funding_stagecurrent_company_sizeyears_at_current_companycurrent_company_industrySales automation platform
Power people search, enrichment and ICP refresh inside your product — one endpoint, MCP-ready, GDPR-compliant. Stop maintaining brittle scrapers; ship the feature instead.
current_companycurrent_titlecurrent_company_categorylanguage_proficiencyfollower_countBuilding something we haven't listed? Tell us what you're wiring it into. Half the columns we ship today came from a customer asking for one.

GDPR compliant
Full compliance with European data protection regulations. Your data privacy is our priority.

CCPA compliant
Adhering to California Consumer Privacy Act standards for maximum data protection.
Publicly available data
All data sourced from publicly available and verified sources, ensuring ethical collection.
Related solutions
Company Enrichment API
Resolve one company into round-by-round funding, investors, offices and growth.
VC Data API
Deal-sourcing screens on funding stage, investors and founder moves.
Buying Signals API
Funding, hiring and growth events on your account list, pushed to a webhook.
A company data API (also called a company search API) takes filters and returns every company that matches, it builds lists. A company enrichment API takes one identifier and returns the full record for that one company. On DataForB2B they chain: /search/companies returns the org_ IDs, /enrich/company resolves an ID into round-by-round funding, investors and every office.
75M+ companies and 30+ filterable columns across seven groups: basic info (name, domain, industry, keyword), size, headquarters, offices, growth (1, 6 and 12-month headcount growth, recent hires), metadata (founded year, company type, verified page) and funding (normalised stage, last round amount and date, has_funding). Each column supports a documented subset of the 8 operators; the full column list with operators is in the API documentation.
Per result returned: 1.5 credits with enrich_live: true, 0.75 credit with enrich_live: false. A cached search returning 100 companies costs 75 credits. Use count to cap the results you pay for, and the filters to keep total small.
Yes. Add a condition { "column": "domain", "type": "=", "value": "ramp.com" } and count: 1. For a list, use the in operator with an array of domains and count up to 1000, it is the fastest way to hydrate a CRM export with industry, size, growth and funding fields.
Filter last_funding_date with >= and a date string, optionally combined with last_funding_amount_usd >= and funding_stage_normalized in [...]. The has_funding boolean excludes bootstrapped companies. Pair the search with a funding monitor if you want new rounds pushed to a webhook instead of re-running the query.
Yes. The DataForB2B MCP server exposes search_company with the same columns and operators. Claude, Cursor or any MCP-compatible runtime turns a natural-language ICP into the filter group, runs the search and reads the JSON, no schema to maintain on your side.
Build with us. Now.
Get an API key in 60 seconds. Plug your AI agent into 800M+ verified profiles and 75M+ companies — today.