"Business email verifier herunterladen" means "download a business email verifier". You rarely need to. Desktop verifier software checks an address you already hold. An API can hand you the address with its status attached, so there is nothing to install and nothing to run overnight.
This guide shows the three-call version: size a list, read the status, export only what you can send to.
TL;DR
- Three calls replace a downloaded verifier: a free count, one enrichment, one CSV export.
- It takes about 20 minutes and spends 1 to 3 LeadOcean records. Counts and the enum lookup cost 0.
- The Free plan (1,000 records for life, no card) covers all of it except bulk CSV export, which starts on Solo at $97 a month.
Prerequisites
- A LeadOcean API key from
https://app.leadocean.io/register, stored as$LEADOCEAN_API_KEY. curlandjq.- One business address you already hold, written here as
jane.doe@acme.com(a placeholder).
Step 1: Learn the 13 statuses
Every record carries an email_status. The values are exact strings, so look them up instead of guessing. The lookup is free.
curl -s https://api.leadocean.io/v1/enums/email_status \
-H "x-api-key: $LEADOCEAN_API_KEY"The same call is available to an MCP client as leadocean_list_enum_values with name: "email_status". The 13 values group like this:
| Group | Statuses |
|---|---|
| Send | verified, catch_all_valid |
| Cannot confirm | catch_all |
| Do not send | invalid, spam_trap, abuse, disposable |
| Use with care | risky, role, derived |
| Not checked | untested, unknown, none |
A verified address was either tested by LeadOcean's own verifier or asserted by a supplier held to the same standard. The ones LeadOcean tested carry a verified_batch_date.
Step 2: Size the list before you spend anything
A count is free, so measure first. This call uses the search endpoint with count=true as a query parameter and limit=1. The body is flat JSON and filters are arrays.
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{
"jobLevel": ["VP"],
"jobFunction": ["Advertising & Marketing"],
"country": ["DE"],
"emailStatus": ["verified"]
}'meta.total is the number of people who match. data comes back empty with meta.countOnly true, so no records are spent.
Drop emailStatus and the total grows. That gap is your unverified share. A search count of verified is an upper bound: confirm each address on enrichment in Step 3.
Step 3: Check one address you already hold
To verify a single address, enrich it. Send exactly one identifier and set reveal_email so the status and the address come back.
curl -s -X POST https://api.leadocean.io/v1/people/enrich \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{"email": "jane.doe@acme.com", "reveal_email": true}' \
| jq '.data.contact_data | {email_status, email_type, contact_emails}'A hit costs one record. If we hold nobody for that address you get a 404 and it costs nothing. That makes enrichment a pay-per-answer check: you only spend on addresses we know.
Read contact_emails[].status and contact_emails[].verified_batch_date. A null date means LeadOcean's verifier never tested that address.
Step 4: Export only the mailable rows
For a whole list, filter on status and export. Bulk CSV export is not on Free. It is included on Solo and Agency (50k rows a file on Agency).
curl -s -X POST https://api.leadocean.io/v1/exports \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{
"name": "de-marketing-vps-verified",
"filters": {
"jobLevel": ["VP"],
"jobFunction": ["Advertising & Marketing"],
"country": ["DE"],
"emailStatus": ["verified", "catch_all_valid"]
},
"limit": 200,
"columns": ["profile_full_name", "email_N_address", "email_N_status"],
"caps": { "emails": 1 }
}'An export runs async. Poll GET /v1/exports/{id}, then fetch GET /v1/exports/{id}/download. The CSV headers come back as email_1_address and email_1_status. One export takes up to 50,000 rows, and an account gets 500,000 rows a day. Every row costs one record.
No code? The Exports page at app.leadocean.io does the same job: a filter builder, a column picker, the record price before you start, and a CSV download.
What you get
This is the email_status enum lookup from the LeadOcean MCP server on 2026-10-21. It costs no records.
{
"name": "email_status",
"total": 13,
"values": [
"verified", "catch_all_valid", "catch_all", "risky", "unknown",
"untested", "invalid", "role", "disposable", "spam_trap",
"abuse", "derived", "none"
]
}A free count run on the same date with leadocean_count_leads:
| Filter | Total |
|---|---|
VP, Advertising & Marketing, DE, emailStatus verified | 194 |
| Same filters, default mailable set (verified, catch_all_valid, catch_all) | 490 |
Same filters, no email condition (totalAll) | 1,340 |
Those 194 VPs span 140 companies. Only 194 of 1,340 carry a status we would call verified in search. That gap is why a verifier step matters.
The enrichment from Step 3 returns this shape (response shape from the API reference, placeholder values):
{
"success": true,
"data": {
"contact_data": {
"has_email": true,
"email_status": "verified",
"email_type": "work",
"contact_emails": [
{
"email": "jane.doe@acme.com",
"type": "work",
"status": "verified",
"verified_batch_date": "2026-09-20"
}
]
}
}
}Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| 401 | Missing or wrong x-api-key header | Re-copy the key from the app and send it as x-api-key. |
| 402 | Fewer records left than the call needs | Check GET /v1/usage. Spend fewer rows or move to a paid plan. |
| 429 | Above the plan's rate limit (5 a second on Free, 200 on Agency) | Wait for the Retry-After header, then retry. |
| 404 on enrich | LeadOcean holds nobody for that address | Nothing was billed. Try linkedin_url or search by domain first. |
| Zero results | An enum value in the wrong case | Copy values exactly from /v1/enums/email_status. |
| 400 on export | Over the 50,000 rows per export ceiling, or a filter that cannot be applied | Lower limit or split the filter. |
FAQ
Is there anything to download?
No. The API runs over HTTPS and the MCP server at https://api.leadocean.io/mcp signs in with OAuth. The only file you download is your own CSV export.
Can LeadOcean verify a list I upload?
Not as a standalone job. There is no upload-and-clean endpoint. You enrich addresses one at a time with POST /v1/people/enrich, or you export fresh rows already carrying a status.
Does it verify personal addresses?
No. LeadOcean's verifier has not tested personal addresses. On a personal address, verified means a supplier asserted it. Treat it as a lead to check.
What if a verified email bounces?
There is no refund or credit-back for bounces. Read email_status before sending, and prefer verified and catch_all_valid.
Next steps
- Find the address first: How to find business email addresses.
- Compare tools: The best email verifiers, benchmarked.
- Apply it to one role: How to find a VP of Marketing email.
- Plans and limits: LeadOcean pricing.
Verify business emails with one API call, not a download
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →