> ## Documentation Index
> Fetch the complete documentation index at: /help/llms.txt
> Use this file to discover all available pages before exploring further.

# Find and verify emails with Icypeas

> Find a contact's work email and check that it exists before you email them, with your own Icypeas account or the Kerux email finder.

> [!NOTE]
>
> **Pro plan.** Icypeas works through a connection and integration steps, which are part of Pro and Agency (and the free trial). Anything you already have keeps working on every plan. See [Plans and billing](/help/account/billing.md).

Icypeas finds a person's work email from their name and their company's website, and checks whether an address really exists. Kerux has two ready-made Icypeas steps:

* **Icypeas: find the contact's work email**: finds the email, gives it to the contact (when they have none) and to the next steps.
* **Icypeas: verify the contact's email**: checks that the contact's email can receive mail, so you skip email for the ones that can't.

## Two ways to run the steps

| | Your own Icypeas key | Kerux email finder |
| - | - | - |
| **Account needed** | Your Icypeas account | None |
| **Paid with** | Your Icypeas credits | Kerux email finder credits, bought in **Settings > Billing** |
| **Available** | Now | Coming soon |

Both work the same way in a campaign: the same steps, outcomes and variables. You choose in the step's **Account** field.

### Kerux email finder (coming soon)

With the Kerux email finder you don't need an Icypeas account: in the step's panel, click **Use Kerux email finder** under **Account**, and the step uses your organization's email finder credits:

| Step | Email finder credits |
| - | - |
| **Find the contact's work email** | 1 credit, only when an email is found, whatever its certainty. Nothing is charged when no email is found or the search is refused. An email found after the step stopped waiting is still charged. |
| **Verify the contact's email** | 0.1 credit per check. Checking an email the Kerux email finder just found for that contact is included. |

The same contact and email are never charged twice: **Start over** or a repeated answer is not charged again, and the same search repeated in your organization uses the answer already found instead of searching again. Packs of credits are paid once and never expire. See [Add-ons](/help/account/add-ons.md). Until it is available, the panel says **Kerux email finder (no account of your own needed) is coming soon.** and the steps work with your own Icypeas key.

When the credits run out, nothing is sent: the contact waits with **Waiting for email finder credits: nothing is sent until you buy more in Billing**, and **Needs attention** shows **Buy email finder credits**. The contact continues by itself as soon as credits are bought.

## Icypeas credits with your own key

| Step | Icypeas credits |
| - | - |
| **Find the contact's work email** | 1 credit, only when an email is found. Nothing found costs nothing. |
| **Verify the contact's email** | 0.1 credit per check, whatever the answer. |

Icypeas credits are bought in Icypeas (they don't expire on its credit packs). Check your balance in your Icypeas account.

**1. Connect Icypeas**

To use the Kerux email finder instead, skip this step and click **Use Kerux email finder** in the step's panel (once available). In Icypeas, open the **API** page ([app.icypeas.com/bo/api](https://app.icypeas.com/bo/api)) and copy your **API key**. In Kerux, go to **Integrations > Connections**, click **Connect** on the **Icypeas** row (under **Enrichment**), paste the key in **API key** and click **Save**. One Icypeas connection serves both Icypeas steps.

**2. Find the contact's work email**

In your campaign, click **+**, open the **Automations** tab of **Add a step** and choose **Icypeas: find the contact's work email**. In its panel, pick your Icypeas connection in **Account**. **Company website or name** is filled in for you: the company's website when Kerux knows it (Icypeas finds more emails with a website), otherwise the company name. The contact's first and last name go with it.

**3. Choose what happens next**

The step has four ways out:

* **Email found**: the contact goes on. A contact without an email gets the one found, so a later **Send email** step goes to it. The email is also in the variable bar as **+ Icypeas email (step N)**, and its certainty as **Email certainty**.
* **No email found**: Icypeas found nothing (or nothing it is sure enough about). Connect it to what those contacts should do instead, for example stay on LinkedIn. Left open, the contact's path ends there.
* **No answer from Icypeas in time**: Icypeas didn't answer within 1 hour (it usually answers in seconds).
* **Icypeas refused the search**: see Common problems below. Left open, the contact stops with Icypeas's message so you can fix it and retry.

**4. Verify an email before emailing (optional)**

Add **Icypeas: verify the contact's email** before your email steps. It checks the contact's email (or any email you put in **Email to verify**). **Email is deliverable** goes on; **Undeliverable or can't confirm** takes its own path, so you can skip email for those contacts. You don't need it right after the find step: Icypeas already checks the emails it finds.

> [!TIP]
>
> A common flow: invitation and LinkedIn messages first; for contacts who don't answer, **Icypeas: find the contact's work email**, then on **Email found** a **Send email** step. Contacts with **No email found** stay on LinkedIn.

## How sure is the email?

Every answer has a certainty, in the **Email certainty** variable:

| Certainty | Meaning | What Kerux does |
| - | - | - |
| `ultra_sure`, `very_sure` | The address exists. | **Email found** / **Email is deliverable** |
| `probable` | The address very likely exists. | **Email found** / **Email is deliverable** |
| `undeliverable` | The address doesn't exist. | **No email found** / **Undeliverable or can't confirm** |
| `not_found` | Icypeas can't tell (for example, the company's mail server accepts everything). | **No email found** / **Undeliverable or can't confirm** |

To email only the surest ones, add a **Condition** after the step on the email certainty.

## Common problems

> [accordion] The contact has no company
>
> Icypeas needs a company website or name. A contact with neither waits with **Paused: this step needs data the contact doesn't have**, before anything is spent. Add the company to the contact and the contact continues.

> [accordion] The contact has no email (verify step)
>
> The verify step needs an email. A contact without one waits with **Paused: this step needs data the contact doesn't have**. Put a find step before it, or add the email.

> [accordion] Icypeas says the key is wrong
>
> The contact waits with **Paused: the other service rejected the key** and the connection shows Icypeas's words. Copy the key again from Icypeas's **API** page, paste it in the connection and click **Save**; waiting contacts continue within 15 minutes.

> [accordion] Icypeas refused the search
>
> The contact stops with **Stopped: the other service refused the call** and Icypeas's answer, in **Needs attention** with **Retry**. Common reasons: the contact has neither a first nor a last name, or the Icypeas subscription is unpaid. Fix it and click **Retry**.

> [accordion] The contact already had an email
>
> The find step never replaces an email the contact already has. The found one is still in the step's **Work email** variable.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.