Integrations
RudderStack integration
A user transformation you paste into your RudderStack workspace checks the address of identify events and of the track events you name. It adds the result to each event before RudderStack sends it on, so your warehouse, CRM and email tool all receive the status.
- Status: Setup guide
- A JavaScript transformation
{
"ev_status": "valid",
"ev_reason": "accepted",
"ev_action": "send",
"ev_processed_at": "2026-11-06T12:00:00.000Z"
}At a glance.
- Status
- Setup guide. Not listed on a marketplace yet: you set it up yourself in a few steps, below and in the full guide.
- For
- Teams that collect sign-ups and profile changes through RudderStack and want every destination to know whether an address can receive mail.
- You need
- A RudderStack workspace with JavaScript transformations, and an API key made for it, with a daily credit cap used only by this transformation.
- Costs
- 1 credit = 1 validated address, as with any API request. Free: unknown results, API errors, malformed addresses and test addresses on sandbox.email-validation.org.
- Full guide
- Read the full setup guide
Typical uses.
A status column in your warehouse
In a warehouse, the four fields become columns next to the address, so reports and audiences can leave out invalid addresses.
Suppress bad addresses
In an email tool or a CRM, map ev_status or ev_action to a field and leave out the addresses whose action is remove.
Check only new addresses
Name the track events that carry a new or changed address, such as Signed Up or Email Changed, and turn off identify checks if your app sends one on every visit.
Set it up. 5 steps.
The short version of the full setup guide, which stays the reference when a step does not match what you see.
Create a key
Create an API key for RudderStack on the API keys page, with a daily credit cap.
Store the key
On Growth and Enterprise plans, add a secret named
EV_API_KEYto RudderStack’s credential store. On other plans, paste the key intoEV_API_KEY_IN_CODE: everyone who can open the transformation can read it there.Create the transformation
In Transformations, create a new JavaScript transformation, replace its code with the one in the guide and set the settings at its top.
Test it
Test with an identify event whose
context.traits.emailisaccepted@sandbox.email-validation.org. The output shows the event with the four fields added.Connect it
Save it and connect it to the destinations that should receive the status.
Good to know.
- Every event it checks is one validation. Transformations keep no lasting state, so an identify event that repeats an address already checked is charged again; within one batch, an address is checked once.
- It runs once for each destination it is connected to, so the same event sent to two destinations is checked twice: connect it only where the status is needed.
- It never stops or drops your events. When a check cannot be done, the event goes on without the four fields, and the log says why with the HTTP status, our error code and the request id, never the address.
- On a rate limit or an outage it sends no check until the Retry-After time is over. RudderStack does not run a transformation again later, so those events stay unchecked.
- For EU data residency, set
EV_REGIONtoeu. email-validation.org is not a RudderStack destination: the transformation is the way to hand the status to your other destinations.
Updated · Maintained by the email-validation.org team