Skip to content

Verify email addresses in n8n workflows

Integration Automation

Call the PricklyMails API from an n8n HTTP Request node: verify the address a form brings in one request, or a whole list as one batch.

No PricklyMails node to install: n8n's own HTTP request calls the PricklyMails API, with your key kept as a credential.

Verify for free

Step by step

Verify addresses from n8n in four steps

  1. In PricklyMails

    Create an API key in PricklyMails

    1. In the dashboard, open API Keys and click New key.
    2. Under Environment, pick Test first: the key starts with pm_test_, answers from canned results, bills nothing and contacts no mail server.
    3. Copy the key as soon as it shows: it is shown only once.

    Tip

    The Free plan holds one key: once everything works, revoke the test key, then create the one under Live.

  2. In n8n

    Save your PricklyMails key as an n8n credential

    1. Click Create, then Credential.
    2. Search for Bearer Auth and select it.
    3. Paste your key in Bearer Token, without Bearer in front: n8n adds it itself.
    4. Save the credential.
  3. In n8n

    Verify one address in an n8n workflow

    One request returns the result: with Prefer: wait=12, the response holds it whenever the check ends within 12 seconds, and is a 202 without it otherwise.

    1. After the node that brings the address, such as a form trigger, add an HTTP Request node.
    2. Set Method to POST and URL to https://api.pricklymails.com/api/verify.
    3. Under Authentication, choose Generic Credential Type, then Bearer Auth, and pick your credential.
    4. Turn on Send Headers and add a header named Prefer, with wait=12 as its value.
    5. Turn on Send Body, set Body Content Type to JSON and Specify Body to Using JSON, then paste the body below.
    6. Under Options, add Timeout and set it to 16000, in milliseconds.
    7. Add an If node whose condition is {{ $json.verification.recommendation }} is equal to remove.
    body.json
    {
        "email": "{{ $json.email }}"
    }
    

    Note

    Without a result in time, the If node finds no recommendation and sends the address down its false branch: decide there whether an address not yet verified goes on.

  4. In n8n

    Verify a list in an n8n workflow

    A list goes as one batch: send the addresses with their contact IDs, wait for the batch, then read its results and update each contact.

    1. After the node that reads your contacts, add an Aggregate node that gathers the addresses into emails and the contact IDs into custom_ids.
    2. Send them with an HTTP Request node, POST to https://api.pricklymails.com/api/batches, with your credential.
    3. Add a Wait node of one minute, then an HTTP Request node that reads the batch, and an If node on its status whose false branch goes back to the Wait node.
    4. Read the results with an HTTP Request node whose Pagination option updates the offset parameter in each request.
    5. Turn the rows into one item each with a Split Out node, then update each contact by its custom_id with the tool's own node.
    The PricklyMails requests of a batch, one by one

Frequently asked questions

Does an exported workflow hold my PricklyMails key?

Not when the key sits in a credential: n8n's exported JSON holds the credential's name and ID, never its secret. A key typed into Send Headers, or brought in by Import cURL, is exported with the workflow.

Sourcen8n's official help center

Can I keep the addresses out of n8n's execution history?

Yes. In the workflow's settings, stop saving successful production executions, or redact production execution data, so the addresses a run handled do not stay in its history.

Sourcen8n's official help center

Can I verify the addresses of a form built in n8n?

Yes: start the workflow with an n8n Form Trigger whose field has the Email element type, verify the address as above, then end on an n8n Form node of page type Form Ending to tell the person what happened.

Sourcen8n's official help center

Is there a PricklyMails node for n8n?

No, and it takes none: n8n's own HTTP request calls the PricklyMails API, with the key you saved as a credential.

These trademarks belong to their respective owners. Naming them implies no partnership.

Check your list before your next send.

1,000 tokens free when you sign up, no credit card. After that, you only pay for answers.