API.
One endpoint. JSON in, JSON out. Authentication via API key in the Authorization header.
Generate keys in Settings → API. Each key is shown once — store it like a password. You can disable or rotate keys at any time.
Authentication
Every request must carry a header:
Authorization: Bearer mz_live_<your_key>
Keys are scoped to a single account and counted against that account's credit balance. There is no separate API quota — what you see in your dashboard is what you can spend.
POST /api/find-email
Find a verified email from first name, last name, and a company domain or name. One credit is charged only on a verified result. Responses arrive in 1–3 seconds for ~95% of requests.
Request body
{
"firstName": "Clara",
"lastName": "Weber",
"domainOrCompany": "deutschebank.com"
}Response — found
{
"ok": true,
"email": "clara.weber@deutschebank.com",
"domain": "deutschebank.com",
"confidence": 95,
"provider": "Microsoft 365",
"rawStatus": "FOUND",
"elapsed": 1.4
}Response — not found
{
"ok": false,
"status": "not_found",
"rawStatus": "NOT_FOUND",
"email": null,
"domain": "deutschebank.com",
"confidence": 0,
"elapsed": 2.1
}Example — curl
curl -X POST https://mozartemail.com/api/find-email \
-H "Authorization: Bearer mz_live_xxx" \
-H "Content-Type: application/json" \
-d '{"firstName":"Clara","lastName":"Weber","domainOrCompany":"deutschebank.com"}'Confidence scale
| Score | Meaning |
|---|---|
| 99 | SMTP-confirmed deliverable |
| 95 | Pattern + MX confirmed |
| 85 | Pattern match, catch-all domain |
| 75 | Probable, partial signal |
| 60 | Risky — verify manually |
Errors
All non-2xx responses include { "ok": false, "reason": "<code>" }. Common codes:
- missing_fields — required fields absent
- invalid_json — body is not valid JSON
- insufficient_credits — top up to continue
- unauthorized — missing or revoked API key
- icypeas_timeout — upstream provider didn't respond in 30s; safe to retry
- server_exception — internal error; please contact support if persistent
Rate limits
Soft limit of 60 requests per minute per API key. Bursts above the limit return 429 Too Many Requests; back off 30s.
SDKs
We don't maintain official SDKs — fetch is enough. If you'd like a typed client for TypeScript or Python, drop a note at concierge@mozartemail.com.
Need something else? Back home · Manage keys