Shipping a signup form
Wire verification before launch so typos and fake inboxes never create dead user rows.
Gate signups and forms with real-time verification. Same result model as the dashboard and list jobs — prepaid credits that stay fair when the answer is unknown.
{
"status": "valid",
"score": 0.95,
"is_deliverable": true,
"credits_used": 1
}Same classification as dashboard spot-checks and bulk list jobs.
Ship verification once. Product, growth, and marketing share deliverable / risky / undeliverable / unknown everywhere.
Verify one address or up to 50 per call, upload files for async jobs, and poll or long-poll status. Bearer or X-API-Key auth, JSON in and out.
deliverable, undeliverable, risky, and unknown — plus quality flags for disposable, role, free, and accept-all.
Unknown outcomes never consume credits. You fund work you can act on and re-check edge cases later.
Create and revoke API keys from the dashboard. Keep secrets server-side — never in client forms.
Dashboard spot-checks and list jobs match API responses so product and marketing stop arguing about “valid”.
100 starter credits, then prepaid packs. Volume pricing available when traffic climbs.
POST an email, get a result you can branch on in your form handler — without a second vocabulary for the rest of the product.
curl -X POST https://your-host/api/v1/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com"}'{
"success": true,
"code": "0",
"message": "Success",
"data": {
"email": "user@example.com",
"status": "valid",
"score": 0.95,
"is_deliverable": true,
"is_disposable": false,
"reason": "accepted",
"credits_used": 1,
"retryable": false
}
}Same status model as single-email API responses. Unknown rows stay free to re-check.
Clean exports and migrations with the same result language you already wire into forms.
Get 100 free starter credits. Unknown results never burn credits — same model in the API, lists, and UI.
Use real-time gates and list jobs where data quality and reputation are on the line.
Wire verification before launch so typos and fake inboxes never create dead user rows.
Keep real-time checks on the hot path so growth experiments do not pollute the user table.
Revoke compromised keys from the dashboard and ship a new secret without redesigning the integration.
Spot-check addresses in the UI with the same result model your API returns in production.
Bulk-verify before you load historical contacts into a new ESP or CRM.
Process addresses to return a result. Secrets stay server-side; keys stay revocable.
Illustrative goals — not customer claims. Wire verification so every surface shares one quality bar.
One integration path for web, mobile, and backend jobs — same status vocabulary everywhere.
Stop undeliverable rows at the form so product and marketing mail avoid hard-bounce noise.
Prepaid credits with free unknown results — no surprise bill for inconclusive checks.
Straight answers for engineers evaluating ValidReach.
Start free with starter credits. Same results in the dashboard, list jobs, and API — so your integration stays honest at scale.