Real-time email validation on sign-up forms: how it works and what it catches
Real-time email validation checks an address as it is typed: syntax, typos, disposable domains, role accounts, MX and an optional mailbox check. Here is how it works.
Verify every lead with one HTTP step: Webhooks by Zapier GET plus a Filter, or Make's HTTP module plus a Router. Exact settings, typo fixing, error handling, costs and a Zapier vs Make comparison.
To verify emails with Zapier or Make, add one HTTP step after your trigger that calls the Verifyre API with the email mapped into the query string, then filter or branch on the status or score it returns. In Zapier that is a Webhooks by Zapier GET step followed by a Filter; in Make it is an HTTP module followed by a Router. Either way the setup takes about ten minutes, and every lead is verified before it reaches your CRM or email tool.
Most lead pipelines look the same: a form, a Zap or scenario, a CRM or ESP. Anything typed into the form, including typos and disposable addresses, flows straight through. Typically 5% to 15% of raw form submissions are undeliverable at the moment they are captured, and each one becomes a bounce in the welcome email, a dead record in the CRM and a wasted sales follow-up.
Putting the check in the automation means it runs once, in one place, for every source that feeds the pipeline. You never send to an address that cannot receive, and you can fix typos on the way through.
URL: https://verifyre.co/api/v1/verify
Query String: email = {{Email from the trigger step}}
Send As JSON: No
Unflatten: Yes
Headers: Authorization = Bearer vfy_live_YOUR_API_KEY
Test the step with a real address. The response fields appear as Status, Score, Reason, Reason Text, Did You Mean, Deliverable and Provider, ready to map into later steps.
Did You Mean, default Email from trigger. The output is the corrected address when a suggestion exists (gmial.com becomes gmail.com) and the original otherwise. Map that output, not the raw trigger email, into the CRM step.The same pattern works with any other Zapier trigger, and the native Zapier integration replaces step 2 with a "Verify Email" action that needs no headers.
URL: https://verifyre.co/api/v1/verify
Method: GET
Query String: Name: email Value: {{1.email}}
Headers: Name: Authorization Value: Bearer vfy_live_YOUR_API_KEY
Body type: empty
Parse response: Yes
Parse response: Yes is the setting people miss. Without it the response is a single text blob and nothing is mappable; with it, status, score, did_you_mean and the rest appear as fields in the next module.
status equal to deliverable; route 2, status equal to risky (or score greater than or equal to 60 if you prefer the score); route 3, fallback for everything else.reason_text to a Google Sheet for review.{{if(2.did_you_mean; 2.did_you_mean; 1.email)}} so a suggested fix replaces a typo.The ready-made Make integration wraps the HTTP module with the key stored as a connection, which keeps it out of the scenario itself.
| Aspect | Zapier | Make |
|---|---|---|
| Pricing model | Per task; every step that runs after the trigger is a task | Per operation; each module run is an operation, usually cheaper per row |
| Ease of setup | Simpler, more guided; Filter and Paths are easy | Steeper at first; the Router and filters are more flexible once learned |
| Branching | Paths, limited to a few branches on lower plans | Router with unlimited routes and per-route filters |
| Error handling | Automatic retries, step-level errors halt the Zap | Explicit error handlers per module: retry, ignore, resume, rollback |
| Fixing typos | Formatter step with a default value | Inline if() function in the mapping |
For a simple form-to-CRM flow with one filter, either is fine. With several outcomes, or if you need control over what happens on an API error, Make is the stronger tool.
Each verification uses one Verifyre credit per unique address; a second check of the same address within 24 hours is free and returns cached: true. On the automation side, Zapier counts the webhook step and every later step as tasks, so a lead that passes the filter and lands in a CRM costs around three tasks. Make counts one operation per module, so the same flow is roughly four operations. A lead that fails the filter in Zapier stops before any further task is charged, and a Make route that no row matches costs nothing.
For developers who would rather skip the no-code layer, the same endpoint is documented on the email verification API page, and the JSON fields mapped above are identical.
Status is the simpler rule: deliverable only. Score lets you choose your own line; 60 and above admits catch-all and other risky addresses, which is often right for B2B leads where catch-all domains are common.
The API returns 402 out_of_credits. In Zapier the step errors and the Zap halts until you top up; in Make you can add an error handler that passes the lead through unverified instead.
By about half a second to three seconds per lead, which is the time of the SMTP conversation. The ms field in the response reports the exact figure.
Related reading
@Real-time email validation checks an address as it is typed: syntax, typos, disposable domains, role accounts, MX and an optional mailbox check. Here is how it works.
@Role accounts like info@ and sales@ belong to a function, not a person. Why ESPs distrust them, the consent problem, when B2B senders can still use them and how to detect them.
@Clean a Klaviyo list the right way: export and verify, suppress undeliverable profiles, build a verified-deliverable segment, and keep sign-up forms clean with real-time checks.
Photos: Freepik