# Validate Work Email Addresses with ZeroBounce via API

By [Florian Martens](https://pipe0.com/authors/florian-martens) · Published Apr 8, 2025

Source: https://pipe0.com/blog/validate-work-email-address-with-pipe0-and-zerobounce

> Check email deliverability with ZeroBounce through the pipe0 API and keep bounced addresses out of your outreach.



In this blog post, we explore how you can validate work email addresses via an API endpoint.
For this, we use [pipe0](https://pipe0.com).

Pipe0 is a framework for data enrichment. To enrich data with pipe0 you use enrichment <AppLink linkType="pipe">pipes</AppLink>.
There are several pipes available to validate work email addresses via API. For this blog post, we're
using the pipe [PeopleValidateEmailZeroBounce@1](https://www.pipe0.com/docs/pipe-catalog/people-validate-email-zerobounce/version-1).

This pipe uses [ZeroBounce](https://www.zerobounce.net/) to validate the existence of the email address to
protect your reputation.

The cost per pipe invocation is \~1ct. per record.

## Prerequisites [#prerequisites]

🙆🏼‍♂️ Go to [pipe0](https://pipe0.com) and create an account <br />
🔑 Create an API Key

## Request object [#request-object]

<CodeBlockTabs defaultValue="Typescript">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="Typescript">
      Typescript
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="cURL">
      cURL
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="Typescript">
    ```typescript
    const id = 1;
    const result = await fetch("https://api.pipe0.com/v1/pipes/run", {
      method: "POST",
      headers: {
        "Authorization": `Bearer <API_KEY>`,
        "Conent-Type": "application/json"
      },
      body: JSON.stringify({
        pipes: [{ name: "PeopleValidateEmailZeroBounce@1" }],
        input: [{id, workEmail: "<EMAIL_ADDRESS>" }]
      })
    });

    const response = await result.json();

    // [NOT SHOWN] Poll the "/check" endpoint until the task status is "completed"
    // Learn more: https://www.pipe0.com/docs/pipeline#async-processing

    // Print email
    console.log(response.records[id].fields["isEmailValid"].value);
    ```
  </CodeBlockTab>

  <CodeBlockTab value="cURL">
    ```shell
    curl -X POST "https://api.pipe0.com/v1/pipes/run" \
    -H "Authorization: Bearer <API_KEY>" \
    -H "Content-Type: application/json" \
    -d '{
        "pipes": [{ "name": "PeopleValidateEmailZeroBounce@1" }],
        "input": [{ id: 1, workEmail: "<EMAIL_ADDRESS>" }]
    }'
    ```
  </CodeBlockTab>
</CodeBlockTabs>

## Using pipe0 [#using-pipe0]

In this example we used [pipe0](https://pipe0.com) instead of querying providers directly. Using pipe0
has many advantages:

* Use 50+ enrichment providers with one subscription
* Combine multiple enrichments in one API call
* Up-to-date API documentation and best-in-class DX
* Combine data enrichment, web scraping, and AI for powerful solutions
