Named decision-makers at companies in your list.
9.5 million contacts across 231,197 companies, averaging 117 each where present. Coverage varies enormously by segment, so a single headline number would mislead in one direction or the other:
| US mid-market — 11–500 employees | 77.7% |
| Mid-market, any country | 28.0% |
| Any company with firmographics | 24.1% |
| Every domain we profile | 9.0% |
The source is strongest on US companies — 67.9% of US domains against 16.4% for the UK and 9.9% for Germany — so a US mid-market list carries named contacts on roughly four companies in five, and a European list will not. The count is shown on every plan, for the exact set you built, so you can see which you have before paying for it.
This endpoint takes domains, not a technology. Build the company set with /v1/companies, then pass its domains here — so list filtering lives in one place and the two endpoints can never disagree about who is in a list.
curl "https://www.ansafi.com/api/v1/contacts?domain=example.com,acme.com&seniority=cxo,vp" \ -H "Authorization: Bearer $ANSAFI_KEY"
domain — required, comma separated, up to 100 per call · seniority — optional: cxo, vp, director, manager, staff · limit — default 200, maximum 1000. Results come back most senior first, then those with a business email.
Named contacts are included from Growth. On Free and Starter the endpoint returns 403 plan_required; counts remain available everywhere through /v1/companies and in the app.
An address confirmed two years ago is not an address. Check business_email_last_seen, and run anything older through /v1/verify — it costs one call and protects your sending reputation.