A contact finder API that returns verified addresses, not rows
Wiring a contact finder into a product usually means normalising somebody else's schema, then adding a second vendor for deliverability, then reconciling the two. TAPAC is one HTTP endpoint with one response shape, where the verification is already done.
Request
curl -X POST https://tapacapi.com/v1/contacts/search \
-H "Authorization: Bearer $TAPAC_API_KEY" \
-H "Content-Type: application/json" \
-d '{"industry":"fintech","job_titles":["cto","vp engineering"],
"company_size":"51-200","location":"united kingdom",
"source":"website","limit":20}'
Response shape
| Field | Meaning |
|---|---|
name, title, company | Who the person is and where they work |
email | The address, already checked over SMTP for that mailbox |
verified | The SMTP verdict — a clean answer, or an explicit "unknown" for catch-all and greylisting servers instead of a fake "valid" |
source | Where the contact was found: website, telegram or discord |
company_size, location | The attributes the search matched on |
Endpoints
| Call | What it does |
|---|---|
POST /v1/contacts/search | Find contacts matching a profile; every email verified in the same call |
POST /v1/contacts/verify | Verify a batch of addresses you already hold |
GET /v1/status, GET /health | Quota, key state and service health — useful as a preflight in an agent loop |
POST /mcp | The same capability as an MCP tool (tapac_find_contacts) for agent frameworks |
OpenAPI 3.1 is published at /openapi.json, so client generation and agent tool-discovery work without hand-written glue. In sandbox mode (X-Sandbox: true) calls return sample data with no production side effects.
JavaScript client
npm install @tapacapi/sdk
const tapac = require('@tapacapi/sdk')({ apiKey: process.env.TAPAC_API_KEY });
const contacts = await tapac.findContacts({ industry: 'saas', job_titles: ['founder'], limit: 10 });
The SDK ships as dual ESM + CommonJS with type definitions, timeouts and retry/backoff on 429 and 5xx. Python consumers can use uvx --from git+https://github.com/axelfreeman/tapac-mcp tapac-mcp or plain requests against the REST endpoints.
Cost model
Pay-per-use: 100 free searches, then $0.10–0.50 per verified contact. Verification is not a separate line item — it happens inside the call you already paid for. There is no seat licence, so a fleet of agents sharing one key does not multiply the bill.
What the API will not do
- It does not promise replies. SMTP proves a mailbox exists, not that anyone wants your email.
- It does not invent confidence: catch-all domains come back labelled, not guessed.
- It does not store your results — you get the response, and the freshness work is done at request time.
Where to go next
- Install the TAPAC MCP server — npx, uvx or hosted endpoint, with the JSON block for Claude, Cursor, Codex and Windsurf.
- Outbound lead generation · contact finder API · REST API quickstart
- Verify email before sending · what an SMTP check proves · Get a free API key
- Compare TAPAC with Apollo, ZoomInfo, Hunter and Lusha · contact database alternative