Email Verification Without Code: Zapier, Make, and n8n Webhook Integrations
Most email verification guides assume you have a developer on hand to write API code. But a huge portion of the people who need email verification in their workflows - marketing ops, RevOps, solo founders, no-code builders - are working entirely in Zapier, Make, or n8n. They need verification wired into their lead funnels without touching a codebase.
The good news is that every major no-code and low-code automation platform supports making HTTP requests directly to any REST API. You do not need a native app or plugin for Bulk Email Checker. You just need to know how to configure an HTTP GET request, parse a JSON response, and route records based on the result - and this guide walks through all of it.
By the end you will have working verification flows in whichever platform you use, plus real workflow examples for Google Forms, Typeform, HubSpot, and Airtable.
How Webhook-Based Verification Works
The Bulk Email Checker API is a plain HTTP GET endpoint. You pass it an email address and an API key as query parameters, and it returns a JSON object with the verification result. No OAuth, no complex setup, no native app required.
In a no-code automation platform, the flow looks like this:
- A trigger fires - a new form submission, a new CRM contact, a new spreadsheet row
- An HTTP request step calls the verification API with the email from step 1
- The platform parses the JSON response and extracts the
statusfield - A filter or router directs the record based on the result: verified leads go to your CRM or email list, invalid leads get flagged or suppressed
The URL pattern for every request is the same:
https://api.bulkemailchecker.com/real-time/?key=YOUR_API_KEY&email={{email_field}}
Replace {{email_field}} with however your platform references the email value from the previous step - each platform uses slightly different variable syntax, which the sections below cover.
Getting Your API Key
Sign up at BulkEmailChecker.com and find your API key in your account dashboard. You can test any email instantly using the free email checker before building your automation. The API documentation has the full list of response fields and event codes.
A note on credits: each verification call consumes one credit. For low to medium volume no-code workflows (a few hundred verifications per day), the standard pay-as-you-go plan works well. High-volume automations - like verifying every new CRM contact as it comes in at scale - are better served by the unlimited plan.
Zapier Using Webhooks + HTTP Request
Zapier has two relevant built-in tools for calling external APIs: "Webhooks by Zapier" (which can make outbound HTTP requests) and the newer "HTTP Request by Zapier" action available in some plans. Both work for this use case. The steps below use Webhooks by Zapier since it is available on all paid plans.
Step 1: Set up your trigger
Choose whatever triggers your workflow - New Form Response in Google Forms, New Submission in Typeform, New Contact in HubSpot, New Row in Google Sheets, etc. Connect the account and test the trigger so Zapier loads sample data with an email field.
Step 2: Add a Webhooks by Zapier action
Add an action step. Search for "Webhooks by Zapier" and choose the "GET" event type. This tells Zapier to make an outbound GET request - exactly what the BEC API expects.
Step 3: Configure the URL
In the URL field, enter the base endpoint: https://api.bulkemailchecker.com/real-time/
In the "Query String Params" section, add two rows:
- Key:
key| Value:your_api_key_here - Key:
email| Value: click the field and map the email from your trigger step (e.g. the email field from your Google Form response)
Leave the other fields at defaults. Set the content type to "json" and test the step - Zapier will show you the full JSON response from the API.
Step 4: Add a Filter step
After the webhook step, add a "Filter by Zapier" action. Set the condition: status (from the webhook response) Does not contain failed. This passes only verified and unknown-status addresses through to your downstream actions.
For stricter filtering, use: status Exactly matches passed. This lets through only confirmed-valid addresses and blocks both failed and catch-all unknowns.
Step 5: Add your downstream action
After the filter, add whatever action you want for valid leads: add to Mailchimp, create a HubSpot contact, update a Google Sheet row, send a Slack notification, etc.
status = passed AND isDisposable = false → add to CRM. Path B: isDisposable = true → log to a "review" sheet. Path C: status = failed → discard. Paths are available on Zapier Professional and above.
Example: Google Forms → Verify → HubSpot
This is one of the most common no-code use cases: a lead gen form feeding directly into a CRM, with verification acting as a filter in between so only real addresses make it into HubSpot.
The Zap structure:
- Trigger: Google Forms - New Form Response
- Action: Webhooks by Zapier - GET request to BEC API with email mapped from step 1
- Filter: Filter by Zapier - Only continue if
status=passed - Action: HubSpot - Create or Update Contact
With this Zap running, every Google Form submission gets verified before it creates a HubSpot contact. You keep your CRM clean automatically, without any developer work.
Make HTTP Module
Make (formerly Integromat) is often preferred over Zapier for complex multi-branch workflows. Its "HTTP - Make a request" module handles API calls and has excellent JSON response parsing built in.
Step 1: Set up your trigger module
Add the trigger for your data source - Watch Responses in Typeform, Watch Rows in Google Sheets, Watch New Records in Airtable, etc. Run the module once to load sample data.
Step 2: Add the HTTP - Make a request module
Click the + after your trigger and search for "HTTP". Select "Make a request." Configure it as follows:
- URL:
https://api.bulkemailchecker.com/real-time/ - Method: GET
- Query String: Add two parameters:
key= your API key, andemail= map the email field from your trigger - Parse response: Toggle ON. This is important - it tells Make to automatically parse the JSON response so you can use individual fields like
statusandisDisposablein subsequent modules
Step 3: Add a Router module
After the HTTP module, add a Router. This lets you create multiple paths based on the verification result. Configure two routes:
- Route 1 (Valid): Filter:
data.statusequalspassed→ downstream action - Route 2 (Invalid): Filter:
data.statusequalsfailed→ log to error sheet or simply do nothing
You can add a third route for unknown (catch-all domains) if you want to handle those separately rather than lumping them with passed or failed.
Example: Typeform → Verify → Airtable
A common content marketing workflow: gated content form in Typeform, leads going into Airtable for nurturing, with verification in the middle.
The scenario structure in Make:
- Module: Typeform - Watch Responses
- Module: HTTP - Make a request (BEC API, parse response ON)
- Module: Router
- Path A:
data.status = passed→ Airtable - Create Record (full contact data) - Path B:
data.status = failed OR data.isDisposable = true→ Airtable - Create Record in separate "Invalid Leads" table for review
- Path A:
data.status, data.isDisposable, etc. With it OFF, you get a raw string and need to use a JSON Parse function first. Always enable Parse Response to keep your filter conditions simple.
n8n HTTP Request Node
n8n is a self-hosted automation tool popular with technical founders and ops teams who want full control over their data without sending it through third-party SaaS platforms. Its HTTP Request node handles REST API calls cleanly.
Configure the HTTP Request node
Add an HTTP Request node after your trigger. Set these fields:
- Method: GET
- URL:
https://api.bulkemailchecker.com/real-time/ - Authentication: None (the API key is passed as a query parameter)
- Query Parameters: Add
key= your API key, andemail={{ $json.email }}(adjust the field reference to match your trigger's output) - Response Format: JSON
Add an IF node for routing
After the HTTP node, add an IF node. Set the condition: {{ $json.status }} equals passed. Connect the TRUE output to your CRM or database write action. Connect the FALSE output to a logging node or leave it unconnected to silently discard invalid addresses.
Accessing nested fields
n8n gives you full access to nested JSON. To check whether the address is disposable, use {{ $json.isDisposable }}. To get the MX hostname: {{ $json.mxEnrichment.mxHostname }}. These can be written to database fields alongside the email for a complete audit trail of every verification run.
// IF node condition - allow passed and unknown (catch-all), block failed and disposable
{{ $json.status !== "failed" && !$json.isDisposable && !$json.isGibberish }}
// To access the suggested email correction (typo fix)
{{ $json.emailSuggested }}
// To check if it is a role account (info@, sales@, etc.)
{{ $json.isRoleAccount }}
// Credits remaining (useful for monitoring)
{{ $json.creditsRemaining }}
Routing Logic: What to Do With Each Result
Across all three platforms, the decision logic is the same. Here is the recommended routing table based on the API response fields:
| Condition | Recommended Action |
|---|---|
status = passed | Add to CRM / email list / main workflow |
status = failed | Discard or log to error sheet |
status = unknown (catch-all) | Add to CRM with a "needs review" tag |
isDisposable = true | Discard silently or log separately |
isRoleAccount = true | Route to separate follow-up queue |
emailSuggested is not null | Log the suggested correction; optionally email the person |
| HTTP error / timeout | Fail open: add to CRM, set verification_status = "api_error" |
status field. (6) Test with a known-bad email like test@notareal.xyz to confirm the filter works.
Frequently Asked Questions
Does Bulk Email Checker have a native Zapier app?
Not currently. But the Webhooks by Zapier approach described here is actually more flexible than a native app - you get direct access to every field in the API response, including isDisposable, isRoleAccount, mxEnrichment, and emailSuggested. Native apps often expose only a subset of available data.
Will each verification use a credit from my plan?
Yes - each API call consumes one credit. For most no-code workflows triggered by form submissions or CRM events, volume is manageable on a pay-as-you-go basis. If you are processing thousands of new contacts per day through an automated flow, check the unlimited plan pricing.
What happens if the API times out in my Zap or Make scenario?
Both Zapier and Make have configurable error handling. Set your HTTP module to treat non-200 responses as errors, and add an error path that routes the record through anyway with a flag like verification_status = api_error. This keeps your workflow running even during brief API unavailability. n8n has similar error branching via the Error Trigger node.
Can I use this to verify existing contacts in a Google Sheet in bulk?
Yes, using Make or n8n with a loop. In Make, use "Google Sheets - Search Rows" to pull the list, then use an iterator to process each row through the HTTP verification module. In n8n, use a Google Sheets node to read rows, then wire it through an HTTP Request node in a loop workflow. For very large existing lists, the bulk upload feature at BulkEmailChecker.com is faster than looping through a no-code tool one record at a time.
Can I use this with Airtable automations or other native automation tools?
Yes. Airtable Automations supports a "Fetch URL" action that makes HTTP GET requests - same pattern as above. Notion, Monday.com, and most other platforms with automation builders have equivalent HTTP request modules. The URL, key, and email query parameters are the same regardless of which tool you use.
Start With One Zap, One Scenario
The setup takes about 10 minutes once you have your API key. Start with one workflow - your highest-volume lead source - and verify that the filter is correctly routing addresses before expanding to other data sources.
The payoff compounds quickly. Every bad email that does not enter your CRM is a contact that does not inflate your email platform subscriber count, does not generate a bounce when you send a campaign, and does not waste a sales rep's time on follow-up. For marketing ops teams running no-code stacks, this is one of the highest-leverage automations you can build.
Stop Bouncing. Start Converting.
Millions of emails verified daily. Industry-leading SMTP validation engine.