API Reference · v1

Email Verification API

Verify single emails, run bulk jobs, find professional emails by name, embed the FoxGuard widget on any form, and manage your API keys and credits — all on the same nine-check engine behind every call.

Base URLapi.verifox.ai/v1AuthX-API-Key headerRate limit60 req/minFormatJSON over HTTPSLatency~380ms

Overview

What does the Verifox API actually do?

One nine-check engine, three ways to call it, and a verdict you can bill against.

What does each call check?

Every call runs the same nine-check engine behind our email verification service: RFC syntax, domain & MX, SMTP handshake with mailbox ping, disposable detection, role detection, catch-all detection with AI-confidence scoring, domain age, and SPF/DKIM/DMARC authentication. That last mile matters: 20–40% of B2B lists fail at catch-alls, and confidence scoring keeps those addresses instead of discarding them as unknown. Accuracy sits at 99.99%.

How do I integrate it?

Integrate three ways: REST endpoints handle real-time checks (~380ms median, sub-50ms cached) and bulk jobs at ~10,000/minute. The Email Finder module turns name + domain into a verified address. For agentic stacks, the MCP server exposes the engine as native tool calls. One balance covers everything: single checks, bulk uploads, finder results, and the FoxGuard widget.

What happens behind every API call?

Every call (single verify, bulk job, finder, or widget) runs the same nine-check engine and returns one tagged verdict you can act on.

01REQUEST

Call the endpoint

Send any address with your key in the X-API-Key header. Bulk jobs take a whole CSV instead.

GET /v1/email-validation/:email
02ENGINE

Nine checks per address

Catch-all domains come back with a 0 to 100 AI confidence score instead of an unknown.

Syntax, domain, MX, SMTP, disposable, role, catch-all, domain age, authentication
03RESPONSE200 OK

Read the JSON verdict

Branch on status, and on confidence for catch-alls. The full breakdown ships in the same object.

validriskyinvalid
Median ~380ms, sub-50ms when cached

Quickstart

Your first verify in under a minute

  1. 01

    Create an API key

    Sign up and mint a key in the dashboard. 1,000 free credits on signup, 2,500 with a work email, no card.

  2. 02

    Call the endpoint

    Pass any address to GET /v1/email-validation/:email with your key in the header.

  3. 03

    Read the verdict

    isValid, reachable, and the full nine-check breakdown come back in one JSON object.

1curl -X GET "https://api.verifox.ai/v1/email-validation/[email protected]" \2 -H "X-API-Key: vfx_your_api_key"
200 - OK
1{2 "email": "[email protected]",3 "domain": "example.com",4 "isValid": true,5 "reachable": "safe",6 "syntax": true,7 "smtp": {8 "deliverable": true,9 "catchAll": false,10 "hostExists": true11 },12 "isFree": false,13 "isRole": false,14 "isDisposable": false,15 "hasGravatar": true,16 "suggestion": null,17 "verifiedAt": "2026-03-31T10:30:00Z"18}

Authentication

One header, four scopes

All REST endpoints require an API key via the X-API-Key header. Create keys in your dashboard and scope each one to exactly what it needs.

Key scopes

fullAll endpoints
verifyEmail verification only
listsList management only
read-onlyGET requests only

No key? Use FoxGuard

The widget's free public tier verifies 4 emails per day per device with one script tag, no API key at all.

Error codes

Every status, one shape

All errors return { error: string } with the HTTP status telling you what to do next.

CodeNameMeaning
200OKRequest completed
201CreatedResource created
202AcceptedJob started. Poll for results
400Bad RequestCheck your request parameters
401UnauthorizedInvalid or missing API key
402Payment RequiredInsufficient Fox Credits
404Not FoundResource doesn't exist
429Rate LimitedSlow down and retry after the window resets
500Server ErrorRetry after a short delay
503UnavailableDatabase unavailable. Retry shortly