Abstract email verification with BillionVerify
Abstract provides developer APIs for IP geolocation, email validation, phone validation, and more. When you pair Abstract with BillionVerify, you add a dedicated email verification layer β catching invalid addresses, disposable domains, and catch-all mailboxes before they pollute your data pipelines or inflate your API costs.
Why verify before the send
APIs that process user-submitted data are only as good as the input they receive. An unverified email address can trigger downstream errors, inflate usage costs, or silently degrade data quality. BillionVerify filters out invalid, role-based, and disposable addresses at the point of ingestion, so every email that flows into your Abstract-powered workflows is clean and deliverable.
Ready-to-use n8n workflow
Import this workflow into n8n β it verifies every address with BillionVerify before Abstract sends, so only deliverable contacts are emailed. Install the BillionVerify community node first, then add your API key.
{
"name": "Verify emails before sending in Abstract + BillionVerify",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
240,
300
],
"name": "When clicking βTest workflowβ"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "email-field",
"name": "email",
"value": "jane@example.com",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
460,
300
],
"name": "Get contacts"
},
{
"parameters": {
"sendTo": "={{ $json.email }}",
"subject": "Message for Abstract contacts",
"message": "Replace this Gmail send with your Abstract node β only deliverable, verified contacts reach it.",
"options": {}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
900,
300
],
"name": "Send email",
"webhookId": "",
"credentials": {
"gmailOAuth2": {
"id": "",
"name": "Gmail account"
}
}
},
{
"parameters": {
"operation": "verify",
"email": "={{ $json.email }}",
"additionalOptions": {}
},
"type": "n8n-nodes-billionverify.billionVerify",
"typeVersion": 1,
"position": [
540,
300
],
"name": "Verify Email (BillionVerify)",
"credentials": {
"billionVerifyApi": {
"id": "",
"name": "BillionVerify account"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "is-deliverable",
"leftValue": "={{ $json.is_deliverable }}",
"rightValue": "",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
}
}
]
}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
720,
300
],
"name": "IF deliverable"
}
],
"connections": {
"When clicking βTest workflowβ": {
"main": [
[
{
"node": "Get contacts",
"type": "main",
"index": 0
}
]
]
},
"Get contacts": {
"main": [
[
{
"node": "Verify Email (BillionVerify)",
"type": "main",
"index": 0
}
]
]
},
"Verify Email (BillionVerify)": {
"main": [
[
{
"node": "IF deliverable",
"type": "main",
"index": 0
}
]
]
},
"IF deliverable": {
"main": [
[
{
"node": "Send email",
"type": "main",
"index": 0
}
],
[]
]
}
},
"settings": {
"executionOrder": "v1"
}
}Workflow templates with Abstract
Ready-to-use workflows that verify emails before Abstract sends.
How it works
- 1
Connect BillionVerify to your workflow using the n8n community node, Integrately, or the REST API.
- 2
Pass each email address collected by your Abstract-integrated app to BillionVerify for verification.
- 3
BillionVerify checks syntax, DNS records, SMTP reachability, and flags disposable or role-based addresses.
- 4
Only verified, deliverable addresses continue to the next step in your pipeline.
- 5
Review verification results and set custom rules β for example, reject catch-all domains β to match your data quality standards.
When to use this
Clean incoming form submissions
Validate emails captured from sign-up forms or lead flows before storing them. BillionVerify identifies undeliverable and disposable addresses so your database stays accurate and your downstream API calls to Abstract return meaningful results.
Protect data enrichment pipelines
When enriching contact records through Abstract's APIs, start by verifying each email with BillionVerify. Skipping invalid records up front reduces wasted enrichment calls and improves the quality of insights you extract.
FAQ
Does BillionVerify work alongside Abstract's own email validation API?
Yes. BillionVerify performs deeper SMTP-level and deliverability checks that complement Abstract's lightweight format validation, giving you a more comprehensive picture of each address.
How do I connect BillionVerify to my Abstract workflow?
Use the BillionVerify n8n community node, the Integrately 1-click connector, or call the REST API directly from any HTTP-capable step in your automation.
What types of problematic emails does BillionVerify catch?
BillionVerify identifies invalid syntax, non-existent domains, unreachable mailboxes, disposable addresses, role accounts (info@, support@), and catch-all domains that accept any email regardless of validity.
Verify emails in Abstract
Create a free account, grab your API key, and stop bounces before they happen.
Get started free