submit_bulk
Submit an async bulk verification job
Queue a large list (up to 1M) as an async job — returns a job_id to poll. Optional completion webhook.
When an agent uses submit_bulk
Use submit_bulk for anything bigger than a few hundred addresses. It returns immediately with a job_id instead of blocking, so an agent can hand off a large list and poll. Small lists may finish inline (status completed); larger ones return pending — then poll get_job_status until completed and fetch get_job_results. Pass a public HTTPS webhook_url to be notified when the job finishes instead of polling.
POST /api/v1/verify/bulkInput schema
| Field | Type | Required | Description |
|---|---|---|---|
emails | string[] | required | Email addresses to verify in this job (deduped server-side). |
webhook_url | string | optional | Optional public HTTPS URL to POST a job.completed notification to. |
Call it over MCP
An MCP client invokes the tool with a tools/call request. Hosted clients send this to https://verifly.email/mcp with your Authorization: Bearer vf_… header; the verifly-mcp-server package does the same with VERIFLY_API_KEY set.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "submit_bulk",
"arguments": {
"emails": [
"a@test.com",
"b@test.com",
"c@test.com"
],
"webhook_url": "https://yoursite.com/webhook"
}
}
}Posting that same call straight to the hosted endpoint:
curl -s -X POST "https://verifly.email/mcp" \
-H "Authorization: Bearer vf_your_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"submit_bulk","arguments":{"emails":["a@test.com","b@test.com","c@test.com"],"webhook_url":"https://yoursite.com/webhook"}}}'Equivalent raw REST call
Under the hood this tool calls POST /api/v1/verify/bulk. If you are not using MCP, hit the REST API directly:
curl -s -X POST "https://verifly.email/api/v1/verify/bulk" \
-H "Authorization: Bearer vf_your_api_key" \
-H "Content-Type: application/json" \
-d '{"emails":["a@test.com","b@test.com","c@test.com"],"webhook_url":"https://yoursite.com/webhook"}'What you get back
A JSON object with job_id, status (pending / completed), total_emails, estimated_seconds, and check_status_url / results_url / download_url.
Required input: emails.
Related tools
get_job_statusPoll one bulk job by job_id for status, percent progress, and a running valid/invalid/risky summary. Free.
Openget_job_resultsFetch the full per-address results of a completed bulk job by job_id, plus the summary. Free.
Openlist_jobsList the account’s bulk jobs, newest first, with status and summary. Filter by status, paginate. Free.
OpenUse submit_bulk in your agent
Verifly is the only email verifier with a hosted MCP server plus autonomous agent self-registration. An agent can call register_account for an instant key and 100 free credits, then start calling submit_bulk — no human, no dashboard.