Tools / Email finder / API
For an email verification API inside a signup form, a CRM sync or a script: send one POST to the RouterGrowth runs endpoint with capability contact.verify and the address. The response is JSON with the status, a certainty grade when available, the catch-all flag and the mail servers. One key covers several verification providers.
Ask your agent
Write a Python function that calls RouterGrowth contact.verify for an email and returns True only for valid.
Connect RouterGrowth once, then ask in plain words. New workspaces start with $1 of credit. Get a key or read the setup guide.
A real run
One call to contact.verify (email deliverability check), run through RouterGrowth on October 16, 2026. These are the first rows it returned; fields that name a person are masked.
| status | certainty | catch_all | mx_provider | |
|---|---|---|---|---|
| s***@***.co | valid | ultra_sure |
One API call for an address at a .co startup domain: valid, ultra_sure, catch-all not reported by this provider, Google mail servers.
Step by step
Create an API key in the RouterGrowth dashboard. No developer account with a verification company is needed.
Send capability contact.verify with input {"email": ...} and a max_cost. The response carries a run_id and, for short calls, the result.
result.status is valid, invalid or unknown. certainty, catch_all and mx_provider sit next to it, and billing.charged shows what the call cost.
Treat unknown as a soft result: let the user continue, and recheck later or ask for another address.
Price
List prices on this call, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.
In practice
You describe the job; the agent picks the calls, shows the price and runs them.
Write a Python function that calls RouterGrowth contact.verify for an email and returns True only for valid.
Add an email check to our signup endpoint: block invalid addresses, allow unknown with a warning.
Connect
One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
npm install -g routergrowth && routergrowth setup
routergrowth run -c contact.verify -i '{"email": "rivera@example.com"}'curl -X POST https://api.routergrowth.com/v1/run \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{"capability": "contact.verify", "input": {"email": "rivera@example.com"}}'Worth knowing
The REST endpoint and the MCP tool run the same capability with the same input and the same response.
Pass max_cost on each request. The run refuses to start if the quote is above it.
If the first provider cannot decide, the next is tried within the same request, so your code handles one response shape.
FAQ
A POST with your key in the header and a JSON body naming the capability, the input with the email, and max_cost.
Short runs return the result directly. A longer one returns a run_id to poll until it is done.
The router retries a rate-limited provider by itself. For large lists, run them as a batch.
Sandbox keys return clearly labeled simulated data, useful for wiring up your code before using a live key.
More on Email finder
Reading this as an agent? This page as markdown: /tools/email-finder/verification-api.md
Connect your agent once. The first calls run on the $1 that comes with signup.