Clarity before every campaign
Verify your emails.
Send with confidence.
Turn a list of addresses into a clearer next step. Check one email or an entire list, understand every result, and see exactly how your credits are used.
Free credits renew monthly · Unknown and catch-all: no net charge
Check one email
A positive verification result for this address.
Explore the four outcomes
Illustrative results. No real emails are checked and no credits are used.
Free credits every monthA practical way to get started.
Clear result categoriesAnswers, with uncertainty kept visible.
Fair credit rulesOnly valid and invalid use a credit.
Your list stays yoursKeep source rows with their results.
For the whole list
More clarity.
Every row accounted for.
Bring your CSV, choose the email column and review the preview before checking. Your source rows and their other columns stay connected to the results.
- Review before you run
Inspect repeated and unreadable rows before starting verification.
- One address, one shared result
Repeated rows keep their place without adding duplicate run charges.
- Take the context with you
Filter and export results with the original source row identity.
5 source rows 4 unique addresses
| Row | Email address | Source | Result |
|---|---|---|---|
| 01 | alex@example.com | Newsletter | Valid |
| 02 | sam@example.org | Webinar | Unknown |
| 03 | lee@example.net | Newsletter | Invalid |
| 04 | team@example.org | Event | Catch-all |
| 05 | alex@example.com Shares row 01's result | Event | Valid |
For the way you build
Your workflow.
A straightforward API.
Submit verification jobs from your server, read the results and receive a signed completion event. The same workspace credit rules apply.
- Scoped keys and spending caps
Choose the permissions and credit cap for each live API key.
- Test before going live
Use a Test key and reserved example addresses without using credits.
- Retries you can account for
Reuse the same idempotency key for a retry. Verify webhook signatures and deduplicate event IDs.
/api/v1/jobscurl -X POST "$FAIRVALID_BASE_URL/api/v1/jobs" \
-H "Authorization: Bearer $FAIRVALID_API_KEY" \
-H "Idempotency-Key: homepage-example-01" \
-H "Content-Type: application/json" \
-d '{
"emails": [
"deliverable@example.com",
"unknown@example.com"
]
}'job.completedAt the point of entry
Email verification.
Built into your forms.
Add the website widget to an email field. Decide how your form handles invalid addresses, uncertain results and checks that cannot finish.
- Configured for your site
Authorize an exact website origin and set a daily check budget.
- Your rules for each outcome
Allow, warn or stop for invalid and inconclusive results. Set separate rules for timeouts and unavailable checks.
- Keep privileged keys on your server
The install snippet uses a publishable site identifier.
Bring your existing contacts
Connected to your tools.
Careful with your data.
Choose a worksheet, contact list or audience, then preview the records in FairValid before checking them.
- Google SheetsChoose a worksheet or a public sheet link. Imports are read-only; results are not written back to Sheets.
- HubSpotKeep contact and list identity attached. Contact fields stay unchanged unless you explicitly enable an available write-back option.
- MailchimpKeep audience identity intact. Importing contacts does not subscribe or unsubscribe them.
Keep control of what happens next.
Results you can interpret
Every answer has a meaning.
Every credit has a reason.
See what the check found and exactly how it affects your balance. Inconclusive results stay inconclusive, with no net verification charge.
Valid
A usable positive result for this check. Inbox delivery is never guaranteed.
1creditInvalid
The address did not pass the check. Review it before your next send.
1creditCatch-all
The domain may accept mail for addresses that do not exist. A specific mailbox is uncertain.
0net chargeUnknown
A dependable answer could not be confirmed. Uncertainty stays visible in your results.
0net charge
Still checking is a separate state.
A pending check has no final answer yet. A credit may be held while it runs; a hold is not a completed charge.
Technical failures and unprocessed work have no net charge. Their reservations are released or returned to the original credit lot.
Understand holds and returnsThe details matter
Built around the work
that surrounds a check.
From your first import to the next recheck, keep source information, access, and credit decisions in view.
List essentials
Keep the useful context around every address.
CSV, TXT, or pasted addresses
Bring in a file or paste a list directly into your workspace.
Original columns preserved
Choose the email column. Keep the rest of each source row attached.
Repeated addresses recognized
Duplicate rows share one verification result within the run.
Exports that match your next step
Download all rows, finished results, a filtered view, or valid addresses only.
Selective rechecks
Create a fresh run for new addresses, older results, or the whole source.
Developer controls
Connect verification to the way your product works.
Scoped keys and spending caps
Limit a key to the permissions and live credit budget it needs.
Safe request retries
Reuse the same idempotency key and request to retrieve the same API job.
A sandbox without credit use
Test documented example addresses with simulated outcomes.
Signed completion events
Receive job events, verify their signatures, and deduplicate deliveries.
Website-specific form rules
Set the allowed origin, outcome rules, and budget for your form widget.
Workspace clarity
Understand usage and decide who can do what.
Visible credit effects
See available and held credits, charges, and returns in your workspace.
Free credits used first
Checks use the current free allowance before available paid credits.
A monthly free allowance
Your allowance resets to 300 free credits each month on your signup date. Unused free credits do not roll over.
Roles for your team
Separate access to verification, billing, members, and account settings.
Revocable access
Revoke API keys, pause widget sites, and disconnect connected sources.
Before you begin
Good questions.
Clear answers.
The practical details about results, credits, and working with your data.
Visit the help centerWhat do the 300 free credits include?
Your free allowance resets to 300 each month on your signup date. Free credits are used before paid credits, and unused free credits do not roll over.
How the free allowance worksWhen does a check use a credit?
A completed Valid or Invalid result uses one credit. Unknown and Catch-all results have no net charge. A check may temporarily hold a credit while it runs; technical failures and unprocessed work do not create a net verification charge. Returns go to the original credit lot, so a return from an expired free period does not increase your new allowance.
Understand charges and returnsDoes a Valid result guarantee delivery?
No. Valid records a usable positive result for that check. It does not guarantee inbox delivery or give permission to contact the address. Catch-all and Unknown results remain separate so you can make your own decision.
Understand each resultWhich files can I upload?
Upload a UTF-8 CSV or TXT file up to 100 MB and 1,000,000 data rows, or paste up to 8 MiB and 100,000 rows. Choose the email column before checking. Other columns remain attached to their source rows. Save spreadsheet files as CSV before uploading.
Prepare your first listWill repeated addresses cost extra?
Within a run, repeated addresses share one verification result across their original source rows. Repeated rows do not add extra sample or run charges. A deliberate fresh recheck is a new run and may use credits again; earlier results stay in place.
Read about repeated addressesDo paid credits expire?
Unused paid credits remain available while your account stays open. Canceling a subscription stops future renewals and credit grants; your remaining paid credits stay available. Choose a one-time purchase or a monthly plan on the pricing page.
See current pricingWill FairValid change my connected contacts?
Importing does not change contact fields, subscriptions, or list membership. Google Sheets stays read-only. HubSpot result properties and Mailchimp result tags are optional and must be enabled explicitly. Those result updates do not subscribe or unsubscribe contacts.
Explore supported integrationsCan I try the API before using live credits?
Yes. Test keys simulate documented example addresses without provider calls or verification-credit use. You can test jobs, results, cancellation, and retries. For real addresses, use a scoped Live key and keep it on your server.
Open the API referenceStart with a little certainty
Your next list.
A clearer next step.
Bring one address or your first list. Review the result, understand its credit effect, and decide what comes next.
Free credits reset monthly.
No rollover. Clear credit rules.