Integrations

Shopify integration

Check each Shopify customer’s email address when the customer is added or its address changes, and save the status in customer metafields that your segments, flows and exports can use. A webhook relay in your own Cloudflare account checks new customers, and a clean-up command catches up the ones you already have.

  • Status: Setup guide
  • A relay and a command, in your own accounts

Clean your customersNode 22.18 or later

Terminal
export EV_API_KEY=…  SHOPIFY_SHOP=acme  SHOPIFY_CLIENT_ID=…  SHOPIFY_CLIENT_SECRET=…
node clean.mjs --dry-run    # counts what it would check
node clean.mjs              # checks and writes the results

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
Shopify merchants who email their customers and want to know which addresses will bounce before a campaign or a flow sends to them, and stores that want a doubtful address flagged on the order before fulfilment.
You need
A Shopify store and a custom app you create for it in Shopify’s Dev Dashboard, a Cloudflare account for the relay, Node 22.18 or later for the command, and an API key made for it, with a daily credit cap. For a clean-up large enough to go as one bulk job, the key also needs Bulk lists.
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.

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.

  1. Create a custom app

    In Shopify’s Dev Dashboard, create an app for your store with read_customers and write_customers (and the two order scopes to tag orders), release it, install it on your store and copy its Client ID and Client secret.

  2. Deploy the relay

    Deploy relay.js from the guide to your Cloudflare account with Wrangler and your store’s myshopify name, and add the secrets EV_API_KEY, SHOPIFY_CLIENT_ID and SHOPIFY_CLIENT_SECRET.

  3. Run the setup

    node clean.mjs --setup --relay-url with the relay’s address creates the four metafield definitions and subscribes the relay to customer creation and customer updates.

  4. Test it

    Add a test customer with no_mailbox@sandbox.email-validation.org: within a few seconds its Email status metafield is invalid, at no cost. Then delete the test customer.

  5. Clean the rest

    Run the clean-up command with --dry-run to count what it would check, then without it to check every customer that has no result yet and write each one’s metafields.

Good to know.

Updated · Maintained by the email-validation.org team