Verify emails in Airtable
An Airtable automation with a Run a script action can call SimpleVerifier for each new record and write the status and reason back into the same row. No other tool is needed: the script below is the whole integration.
Setup
- Create an API key at simpleverifier.com/api-keys. It starts with sv_live_. API access comes with selected paid plans; a key on a plan without it gets a 402 that says so.
- In your table (the script assumes one named Contacts with an Email field), add two single line text fields: Email status and Email reason.
- Open Automations, create an automation and choose the trigger When a record is created, or When a record matches conditions with Email is not empty.
- Add the action Run a script. Under input variables add recordId, set to the trigger record's Airtable record ID, and email, set to its Email field.
- Paste the script below, replace sv_live_your_key with your key and the table name if yours differs, then click Test.
- Turn the automation on. New records get their status within a few seconds; a slow mail server can take up to about 30 seconds.
const API_KEY = "sv_live_your_key";
const TABLE = "Contacts";
const { recordId, email } = input.config();
if (email) {
const response = await fetch(
`https://simpleverifier.com/api/v1/verify?email=${encodeURIComponent(email)}`,
{ headers: { Authorization: `Bearer ${API_KEY}` } },
);
const result = await response.json();
if (!response.ok) throw new Error(result.error || `SimpleVerifier answered ${response.status}`);
await base.getTable(TABLE).updateRecordAsync(recordId, {
"Email status": result.status,
"Email reason": result.reason,
});
}What people use it for
- Verify sign-ups that a form, Softr or a website writes into Airtable.
- Check prospect emails in a lead-research base before they are exported to a sequencer.
- Keep a CRM built on Airtable clean: filter a view on Email status is valid for every send.
Using the result
Route on the status field: valid means the mail server confirmed the mailbox, risky means delivery could not be confirmed (catch-all domain, role address, provider that hides mailbox status), invalid means it will bounce or is a throwaway address. Keep risky out of cold sequences unless you accept the bounce risk.
Full endpoint reference, error codes and an OpenAPI file are in the API docs. For lists of thousands of addresses, upload a CSV on the verify page instead.
Try it on your own list first
Upload a CSV and get 100 free checks in the dashboard, no card needed, to see the results before you connect Airtable. The Airtable setup itself needs a plan with API access.
Common questions
- Which plans include API access for Airtable?
- API access comes with Pro, Business and Agency, listed on the pricing page; Starter covers CSV verification only. A key on a plan without API access gets a 402 that says so. Each key can make 120 calls a minute.
- Is the API key safe in the script?
- Anyone who can edit this base's automations can read the script, so use a key only for this base. You can revoke it at any time on the API keys page and create a new one.
- What about the records I already have?
- Export the view as CSV, upload it on the verify page and paste the statuses back, or follow /verify-export/airtable. The automation then covers new records.
- Is there a SimpleVerifier extension in the Airtable Marketplace?
- Not yet. The automation script works on any Airtable plan that can run scripts in automations.