Skip to content

Export the results

GET /v1/bulk-verifications/{jobId}/items?limit=100

Rows come back in row_index order, one page at a time. limit defaults to 100 and can be raised to 1000.

{
"emails": [
{
"row_index": 0,
"submitted_email": "a@example.com",
"normalized_email": "a@example.com",
"result": {
"email": "a@example.com",
"normalized_email": "a@example.com",
"verdict": "deliverable",
"sub_status": "mailbox_exists",
"quality_score": 95,
"confidence": 92,
"signals": {
"syntax": "pass",
"domain": "pass",
"mx": "pass",
"smtp": "pass",
"catch_all": "pass",
"role_account": "pass",
"disposable": "pass",
"dnsbl": "pass",
"toxic": "pass",
"greylisting": "pass"
},
"verified_at": "2026-09-05T06:35:01.000Z"
}
},
{
"row_index": 1,
"submitted_email": "B@Example.com",
"normalized_email": "b@example.com",
"result": null
}
],
"next_cursor": "1"
}

result is the same object a single verification returns, or null for a row that has not finished yet.

When next_cursor is a string, there are more rows: pass it back as ?cursor= on the next call. It is null on the last page.

Terminal window
curl "https://api.tryverifyemail.com/v1/bulk-verifications/$JOB_ID/items?limit=1000&cursor=$CURSOR" \
-H "Authorization: Bearer sk_your_api_key"