All MCP tools
Bulk jobs1 credit / email

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.

REST endpoint
POST /api/v1/verify/bulk
Credit cost
1 credit / email

Input schema

FieldTypeRequiredDescription
emailsstring[]requiredEmail addresses to verify in this job (deduped server-side).
webhook_urlstringoptionalOptional 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

Use 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.