Skip to main content

n8n

In n8n, an Icypeas lookup is three nodes: HTTP Request → Wait → HTTP Request. Works on n8n cloud and self-hosted.

Save your API key as a credential​

In Credentials › Add credential, choose Header Auth and set:

  • Name: Authorization
  • Value: your API key

Call it Icypeas. You'll reuse it in both HTTP nodes.

Add an HTTP Request node, rename it Start search, and set:

SettingValue
MethodPOST
URLhttps://app.icypeas.com/api/email-search
AuthenticationGeneric Credential Type › Header Auth › Icypeas
Send BodyOn, Body Content Type JSON, Specify Body Using JSON
JSONSee below
JSON
{
"firstname": "{{ $json.firstname }}",
"lastname": "{{ $json.lastname }}",
"domainOrCompany": "{{ $json.company }}"
}

Adapt the $json.… expressions to the field names coming from your previous node.

Wait​

Add a Wait node: Resume › After Time Interval, 10 seconds.

Read the result​

Add a second HTTP Request node, Read result:

SettingValue
MethodPOST
URLhttps://app.icypeas.com/api/bulk-single-searchs/read
AuthenticationHeader Auth › Icypeas
JSON{ "id": "{{ $('Start search').item.json.item._id }}" }

Use the email​

In the next nodes:

  • Email: {{ $json.items[0].results.emails[0].email }}
  • Certainty: {{ $json.items[0].results.emails[0].certainty }}
  • Status: {{ $json.items[0].status }}
Retry while in progress

Add an If node after Read result: if status is NONE, SCHEDULED or IN_PROGRESS, loop back to the Wait node. Otherwise continue.

Many items at once

n8n runs the HTTP node once per item. Single searches are limited to 10 per second: in the node's Options, enable Batching with 5 items every 1,000 ms. For hundreds of rows, use the bulk search instead.