A catch-all domain can have deliverable addresses
The catch-all flag describes how a domain accepts mail. The final valid or invalid result describes the individual address after verification. A valid address can therefore have its catch-all flag set to Yes. The catch_all result is reserved for addresses whose deliverability remains unresolved after further checks.
Bulk uploads that survive closing the browser
Upload a UTF-8 CSV with up to one million email addresses and select the email column. Your downloaded results preserve the original columns, row order and duplicate rows, with verification findings added alongside them. Each unique email address is checked once per submission, with no extra charge for duplicates. Submitting the same address in another list starts a new check.
Transfers resume after interruptions. Once the file finishes saving, the server handles parsing, batching and verification, even after you close your browser. Eligible temporary SMTP replies may receive one short retry after 75 seconds. Queue and receiver limits can still affect completion time.
Return to your dashboard to follow progress, cancel remaining work or download results. Cancellation releases reserved credits for unchecked work. Your uploaded files and saved results stay with the verification until you delete the finished job.
Your workspace
Google sign-in, a personal workspace, one API key, prepaid Stripe purchases and 500 free credits after a short profile. Manage your balance and integrations from the dashboard.
Rate limits, without guesswork
Per workspace, API keys share separate allowances of 300 reads, 120 creation calls and 60 other submissions per minute. New jobs also have independent limits of 60 single verifications and 10 bulk jobs per minute. Bulk jobs include JSON email lists and CSV uploads. Retrying with the same Idempotency-Key uses a request allowance without creating another job. HTTP 429 includes Retry-After. Email processing capacity is separate from these request and job limits.
Shared processing capacity
Verification work is distributed fairly across active workspaces. Processing time varies with queue load and the domain controls required for each result. Large lists use the same dashboard and API workflow; follow your saved verification’s progress.
Saved, asynchronous results
Submit a check once and poll its saved result. Most direct recipient responses are quick; domain controls and queueing can remain pending for up to 30 minutes. Unknown results are free, and a fallback does not spend another credit.
Quality we can explain
Our verifier and distributed workers were developed using MillionVerifier, NeverBounce and ZeroBounce as reference points. Our email verification benchmarks compare provider classifications and one-time pricing, with the test methodology alongside the results.
Built to be understood by agents
Stable HTTP endpoints, API-key authentication, explicit errors and a machine-readable price formula let developers build tools around the API. Read llms.txt and pricing.md for capability and pricing facts. Live status reports whether verification workers are available.
What spends a credit?
Valid, invalid and catch-all results use one credit per unique email address. Unknown results, invalid email formats, rejected requests and service errors are free. Duplicate rows within the same submission share one check.
Reading and downloading saved results is free. A new submission starts a new check.
Paid credits never expire. One-time purchases, with no subscription or automatic top-up.