A lead enrichment API adds fields. It does not add truth to the fields already there
Enrichment is usually sold as a way to complete a row: you have a name and a company, and the API fills in title, headcount, industry, location and an email address. What that description hides is that the added fields inherit the age of the record they were added to. A title appended in 2026 to a contact collected in 2022 is a fresh field on a stale person.
What enrichment can establish
| Field | What the value actually means | How fast it goes stale |
|---|---|---|
| Job title | What the record said at collection time, unless re-scanned live | 23% of contacts change jobs each year (ZoomInfo, 2025) |
| Company size / industry | A firmographic that moves with funding rounds and layoffs | Quarters, not years |
| Email address | A string that pattern-matches the domain — or a mailbox that accepted a handshake | 40% dead within two years (NeverBounce) |
| Verified status | The result of an SMTP probe at a specific moment | Immediately: it is a timestamp, not a property |
None of these are worthless. The failure mode is uniform presentation: a pattern-guessed address and a handshaken one arrive in the same column, formatted identically, and get treated as equally true downstream.
Three fields to demand on every row
- Source. Was this address published on a company site, found in a Telegram or Discord community, or generated from a pattern? Those are different assets with different lifetimes.
- Timestamp. When was the record last seen live? An enrichment partner that cannot answer this is selling a snapshot of unknown age.
- Per-address verification state. Not a badge on the export — a verdict from the same call that produced the address, with accept-all domains explicitly marked
unknownrather thanvalid.
Freshly sourced data outperforms stored records by 42% (Harvard Business Review, 2024). That figure is a statement about age, not about suppliers: it says the value is in looking now.
What an enriching API call looks like
TAPAC does not fill in a stored row — it re-derives the row: it searches by industry, job title, company size, location and source, then probes each mailbox over SMTP inside the same request. The response carries the person, company, title, the source the address was found in, and its verification state.
curl -X POST https://tapacapi.com/v1/contacts/search \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"industry":"software","job_titles":["vp sales"],"company_size":"51-200",
"location":"germany","source":"website","limit":40}'
Single addresses can be checked with POST /v1/contacts/verify; accept-all servers return unknown, rejected mailboxes return invalid. From an agent it is one tool call: npx -y @tapacapi/mcp or the hosted endpoint https://tapacapi.com/mcp, exposing tapac_find_contacts and tapac_status — the server returns onboarding instead of an error when no key is set.
- Pay-per-use, $0.10–0.50 per verified contact, 100 free searches, no seat licence.
- No stored database: every request searches and verifies at that moment, so there is no cached file to re-enrich and no list to clean later.
The honest limit. Verification proves a mailbox exists; it does not prove that its owner wants your offer. Enrichment of any kind is a data operation, and no data operation substitutes for relevance — it only decides how much of your sending reaches a real inbox.
Where to go next
- Email verification cost · Lead enrichment API · Email verification API
- Email list cleaning · B2B email finder · B2B lead list · Catch-all verification
- Install the TAPAC MCP server — npx, uvx or the hosted endpoint, with the JSON block for Claude, Cursor, Codex and Windsurf.
- Compare TAPAC with Apollo, ZoomInfo, Hunter and Lusha · Pricing · Get a free API key