E-mail verification API
Bounces get your domain blacklisted. Check every address before it enters a campaign — from your CRM, sign-up form or a script — with one HTTP call.
What one call checks
Every address goes through the same pipeline the app uses for its own campaigns:
- Syntax and length rules (RFC 5321).
- Disposable and temporary-mail domains from a built-in list of common providers.
- Role accounts (info@, sales@, support@) that rarely answer cold mail.
- MX records: does the domain accept mail at all?
- Mailbox and accept-all check over SMTP when our server can connect to the recipient's mail server; otherwise the reason smtp_unreachable says the mailbox was not checked.
Three buckets, not a score you have to interpret
The answer is valid, risky or invalid with reason codes. Campaigns never send to addresses verified as invalid; risky ones (accept-all servers, disposable domains, inconclusive or timed-out checks) are your call. A valid result with the reason smtp_unreachable means the domain accepts mail but the mailbox itself was not checked, and catch_all is true only when the accept-all check ran.
curl -X POST https://coldleads.app/api/v1/verify \
-H "x-api-key: sk_…" -H "Content-Type: application/json" \
-d '{"email":"jane.doe@example.com"}'
# illustrative responses (example.com is reserved for documentation)
# mailbox not checked (no SMTP connection to the mail server)
{ "status": "valid", "score": 75, "reasons": ["smtp_unreachable"], "mx": "mx.example.com", "catch_all": false }
# mailbox confirmed over SMTP
{ "status": "valid", "score": 97, "reasons": ["ok"], "mx": "mx.example.com", "catch_all": false }Lists and pricing
Bulk endpoint: up to 5 000 addresses per job, 5 parallel jobs, results as JSON (CSV export is in the web app). 120 requests per minute per key. 1 credit per address; the Business plan ($99/month) includes 10,000 credits and the API, extra packs cost $5 per 1 000.
Results are cached for 30 days, so re-checking the same list is fast; every check still costs 1 credit.
Billing you control from the app
Change the plan in Settings and choose when it starts — today (unused days are credited and a new billing month begins) or at the next renewal. Update the card in one click, cancel any time: a cancelled subscription keeps working until the end of the paid period. No Stripe dashboard, no e-mails to support.
FAQ
Is there an OpenAPI spec?
Yes — /api/v1/openapi.json (OpenAPI 3.1). The reference with examples is at /api/v1.
Which plan includes the API?
Business. Solo and Team can verify lists in the web app with their monthly credits.
Where are the checks performed?
On Cold Leads' servers, never from your domain. Addresses go only to our hosting providers and, during a mailbox check, to the recipient's own mail server; results are cached for 30 days.
Can I find an address by name and company?
Yes — POST /api/v1/find takes a name and a domain, tries common address patterns and returns the most likely address with a confidence score and the checked candidates. The method is verified only when the mailbox check confirmed the address; otherwise it is pattern. 1 credit.