Real-time verification
Real-time email verification checks an address when someone enters it in a form, before it reaches your database. As a real-time email verification service, CampaignKit works through the API, Zapier, n8n or an Auth0 Action: 200 free validations, then pay as you go.
Real time email verification checks an email address when someone enters it in your form, not weeks later in a bulk clean. Some call it real-time email validation; it's the same thing. The point is to catch a bad address while the person is still there to fix it.
For each address you get one of three results: valid, risky or invalid. When the address looks like a typo of a well-known email provider, such as gmai.com, you also get a suggested correction.
To check a whole list instead, use the bulk email verifier. To check one address by hand, without an account, use the free email verifier.
| Route | Best for | Where to start |
|---|---|---|
| Real-time email verification API | Your own signup, checkout or lead form, checked while the person is on the page | Email validation API reference, developers |
| Zapier | Form tools such as Google Forms or Typeform, no code | Validate emails in Zapier |
| n8n | Webhook or form workflows, no code | Validate emails in n8n |
| Auth0 Action | Sign-ups through Auth0 | Email validation for Auth0 |
The API. Your code sends POST /v1/email/validate with your API key as a Bearer token. One request can hold up to 100 addresses. Your code decides when to call it: when the email field loses focus, or when the form is submitted. If you were looking for a real time email validation API, this is the one to start with.
Zapier. Add the CampaignKit Validate Email action after your form's "new submission" trigger. Then use a Filter step, or Paths, to handle valid, risky and invalid addresses differently.
n8n. The CampaignKit community node has a Validate Email operation. Put it after a Webhook trigger that receives your form submissions, then filter on the result.
Auth0. A Pre User Registration Action calls the API before the user is created. If the address fails, the Action denies the sign-up and shows the person a message, including the suggested correction when there is one.
Only your own code can check an address while the person is still on the page. Zapier and n8n run after the form has been submitted, so use them to filter contacts before they reach your CRM or email list.
| Result | What it means for your form | What to do |
|---|---|---|
| valid | No risk found | Accept the address |
| risky | The address may cause problems, for example a disposable or role address (info@, support@) | Accept it and flag it, or ask for another address, depending on the form |
| invalid | The address is undeliverable | Ask the person to check the address |
If an invalid result comes with a suggested correction, show it ("Did you mean john@gmail.com?") and let the person choose. Don't replace the address without asking: the suggestion is advice, and the person knows their own address.
How strict to be depends on the form. A free newsletter signup can accept risky addresses and flag them. A checkout or a trial signup may ask for a different address when it's disposable.
The request and response format, including the result fields, is in the email validation API reference.
Networks fail and services have outages, so decide in advance what your form does when the check doesn't come back. Our advice: set a timeout in your own code, and if it runs out, let the person through and check the address again later. Blocking a real sign-up because a check didn't answer costs you more than one unchecked address.
The Auth0 example works this way. It gives up after 5 seconds and lets the sign-up through.
The API returns a 429 error when you exceed the rate limit. Treat that the same way: accept the address and check it again later.
A valid result is a strong signal, not a promise of delivery:
CampaignKit is a pay-as-you-go service. You start with 200 free validations and no credit card. After that you buy credits in packs: there's no subscription, and credits never expire.
Each validated address uses one credit. If the same address appears twice in one request, it's charged once.
| Pack size | Price | Cost per 1,000 emails |
|---|---|---|
| 2,500 emails | $6 | $2.40 |
| 10,000 emails | $15 | $1.50 |
| 50,000 emails | $75 | $1.50 |
| 100,000 emails | $120 | $1.20 |
| 1,000,000 emails | $429 | $0.43 |
See all packs on the pricing page. Verifying more than 1,000,000 emails? Contact sales for custom pricing.
Start with 200 free validations. Upgrade only when you're ready.
No credit card required • Cancel anytime