Waterfall Email Finder API
Find verified work emails from a name and company, or a LinkedIn URL, from your AI assistant, no-code workflow or own code.
- From $0.017 per Email Found
- Many Email Finders in One Call
- 10,000 Emails per Task
| Person and company |
|---|
| Maya Lindqvist, brightwave.io |
| Tom Okafor, northpeak.com |
| Léa Moreau, junipervale.studio |
Trusted by 38,000+ users at startups and Fortune 500 teams
Works with any tool that can send HTTP requests
Claude
Cursor
Codex
Make
n8n
Zapier
- Your own code
Pick Your Way In
Let an AI assistant or your automation tool do the setup, or call the REST API from your own code.
Paste the setup prompt
Copy the prompt for Claude Code, Codex or Cursor, or for Make, n8n or Zapier, and paste it in. The AI creates a Datablist folder on your computer and sets everything up.
Paste your API key
When the AI asks, copy your API key from the Datablist app and paste it into the .env file it opened. Never paste it into the chat.
Get your results
Send your list of people with their company and get one row back per person: the email found, whether it is verified and the email provider, ready for your sequence or CRM.
See a sample resultUsing Make, n8n or Zapier? Here is every field for the HTTP request
Use the HTTP request module or node your tool offers. You need three steps: send the list, wait, then read the results.
1. Send your list (HTTP request)
- Method
POST- URL
https://api.datablist.com/v1/enrichments/tasks- Headers
X-API-Key= your API keyContent-Type=application/json- Body (JSON)
- json{"enrichmentId": "waterfall-email-finder","uniqueId": "waterfall-email-finder-import-1","settings": {"sourceKind": "name_company"},"inputs": [{"inputId": "row-1", "data": {"firstName": "Maya", "lastName": "Lindqvist", "companyNameOrDomain": "brightwave.io"}},{"inputId": "row-2", "data": {"firstName": "Tom", "lastName": "Okafor", "companyNameOrDomain": "northpeak.com"}},{"inputId": "row-3", "data": {"firstName": "Lea", "lastName": "Moreau", "companyNameOrDomain": "junipervale.studio"}}]}
- Keep
- The
@idfrom the response. That is your task ID.
2. Wait until it is done
Add a short wait or delay, then a GET request to https://api.datablist.com/v1/enrichments/tasks/TASK_ID with the same X-API-Key header. Repeat until status is completed.
3. Read the results
GET https://api.datablist.com/v1/enrichments/tasks/TASK_ID/results?limit=50. Map outputs to your columns. If nextCursor is not empty, call again with &cursor= plus that value.
At a Glance
One call tries several email finders in a row until one returns an address, and you only pay for the emails found. No Datablist workspace, collection or import needed.
What you give it
- Names and companies: First and last name, or a full name, with the company name or, better, its domain
- Or LinkedIn URLs: A public LinkedIn profile URL instead of the name
- Your own finder keys (optional): Run the waterfall on your own provider accounts
What you get back
- The work email: For example maya.lindqvist@brightwave.io
- A status: Verified or unverified, or why nothing was found
- The email provider: Google, Microsoft and others, useful for deliverability
What it costs
- 25 credits per email found: Nothing when no email comes back
- 1,000 credits = $1: Shared with the Datablist app
What Teams Build With It
Put Waterfall Email Finder wherever your data already flows.
Fill your sequences with emails
- Lead with name and company
- Added to your sequence
Find emails for new leads as they arrive and push them straight to Lemlist, Instantly, Apollo or your CRM.
Enrich inbound and event leads
- Signup or event list
- Routed to the right owner
Turn names from webinars, trade shows or partner lists into work emails you can route and follow up on.
Reach candidates directly
- Candidate LinkedIn URL
- Outreach from your ATS
Send a LinkedIn profile URL and get a work email, so your outreach does not depend on InMail credits.
What Will It Cost You?
Pay per lookup with credits. API access starts on the Growth plan.
How much will it cost you?
Tell us how many contacts you need emails for and we'll show you the cheapest way to get them.
= 25,000 credits at 25 credits per email found (the maximum, if every row returns a result)
How credits work
1,000 credits = $1, so each credit costs a tenth of a cent. You pay 25 credits for each email found and nothing for contacts without a result, so the estimate above is the maximum. Using your own finder keys can change the Datablist usage. Every result returns creditsUsed, so you can track the real cost per row. Plan credits renew monthly and reset if unused. Top-up credits never expire.
Build It Into Your Code
Everything you need to call the REST API directly: code, responses, endpoints, fields, authentication and limits.
datablist/waterfall-email-finder-api
Official examples: cURL, Python with Requests or async HTTPX, and TypeScript. Put your key in DATABLIST_API_KEY and run.
Copy, Paste, Run
A complete script that creates a task, waits for it and prints every result. Replace YOUR_PERSONAL_API_KEY with your key.
# 1. Create the task (returns 202 Accepted and the task "@id")
curl --request POST 'https://api.datablist.com/v1/enrichments/tasks' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"enrichmentId": "waterfall-email-finder",
"uniqueId": "waterfall-email-finder-import-1",
"settings": {
"sourceKind": "name_company"
},
"inputs": [
{"inputId": "row-1", "data": {"firstName": "Maya", "lastName": "Lindqvist", "companyNameOrDomain": "brightwave.io"}},
{"inputId": "row-2", "data": {"firstName": "Tom", "lastName": "Okafor", "companyNameOrDomain": "northpeak.com"}},
{"inputId": "row-3", "data": {"firstName": "Lea", "lastName": "Moreau", "companyNameOrDomain": "junipervale.studio"}}
]
}'
# 2. Poll every few seconds until status is completed, failed or stopped
curl 'https://api.datablist.com/v1/enrichments/tasks/TASK_ID' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'
# 3. Read the results, then follow nextCursor until it is null
curl 'https://api.datablist.com/v1/enrichments/tasks/TASK_ID/results?limit=50' \
--header 'X-API-Key: YOUR_PERSONAL_API_KEY'What the API Returns
One result per input, with your inputId, a status, the outputs and the credits used. Sample data.
{
"taskId": "00000000000040008000000000000001",
"results": [
{
"inputId": "row-1",
"status": "success",
"outputs": {
"emailFound": "maya.lindqvist@brightwave.io",
"emailStatus": "verified",
"mxProvider": "google"
},
"creditsUsed": "25",
"error": null
}
],
"nextCursor": null
}Endpoints and Fields
All paths are relative to https://api.datablist.com. Field definitions come from GET /v1/enrichments/waterfall-email-finder (docs updated Oct 21, 2026). Schema version: 2026-09-12.
View API schema (JSON) (opens in a new tab)
- /v1/enrichments/waterfall-email-finder
- Read the schema, no key needed
- POST
- /v1/enrichments/tasks
- Create a task
- /v1/enrichments/tasks/{taskId}
- Poll status and progress
- /v1/enrichments/tasks/{taskId}/results
- Read results, 1 to 100 per page
- POST
- /v1/enrichments/tasks/{taskId}/stop
- Cancel a running task
- /v1/enrichments/tasks
- Task history, newest first
Schema Reference
Send settings once per task and one data object per input. Results can include extra fields as the enrichment evolves, so keep unknown keys when you parse outputs.
Show all settings, inputs and outputs
Settings
sourceKindEmail Search Method | Text | Choose how to find the email: by using the person's name and company (default), or by LinkedIn URL.Allowed values: |
|---|---|---|
useFullNameUse Full Name | Boolean | Check this setting to use a single Full Name input instead of First Name and Last Name. Enabled when: |
useCustomAPIKeysCustom Waterfall | Boolean | Check this setting to customize the Waterfall sequence and use your own API Keys. Enabled when: |
customSequenceWaterfall Sequence | JSON list | Define each provider and configure your API Keys. Enabled when: |
customSequence[].providerProvider | Text | Allowed values: Enabled when: |
customSequence[].apiKeyProvider API Key | Text | When configuring your sequence, you have to provide your API Key for each provider. Enabled when: |
Inputs (data)
firstNameFirst Name | JSON | Person's first name. If you only have the full name, enable 'Use Full Name' in the settings. Enabled when: |
|---|---|---|
lastNameLast Name | JSON | Person's last name. If you only have the full name, enable 'Use Full Name' in the settings. Enabled when: |
fullNameFull Name | JSON | Person's full name. In you have the First Name and Last Name, disable 'Use FullName' in the settings. Enabled when: |
companyNameOrDomainCompany Name or Domain | Text | For best results, provide the company domain or website (e.g. datablists.com). Enabled when: |
linkedInProfileLinkedIn Profile | Text | Person's Profile URL should be in the format of https://linkedin.com/in/xxx . This enrichment doesn't work with Sales Navigator Profile URL format. |
Outputs
emailFoundEmail | Text | Email FoundFormat: |
|---|---|---|
emailStatusEmail Status | Text | Deliverability info for found email ('verified', 'unverified'). 'not_found' message when no email has been found. 'missing_source_data', 'invalid_data' for error in input data. |
mxProviderMX Provider | Text | Email Provider. One of amazon, apple, barracuda, cisco, csc, gandi, google, ionos, microsoft, mimecast, other, ovh, proofpoint, safenames |
finderProviderProvider | Text | Which Email Finder provider returned the result. Enabled when: |
One Header, Clear Limits
Create a Personal API Key in your Datablist account and send it on every authenticated request.
Authentication
Send your key in the X-API-Key header. Datablist exchanges and renews access tokens for you.
- Header:
X-API-Key: YOUR_PERSONAL_API_KEY - Optional: manage tokens yourself with
Authorization: BearerfromPOST /v1/account/token - One or the other: sending both headers returns
400 AmbiguousCredentials - Server side only: keep keys out of URLs, browser code and logs
Limits
- Inputs per task: 1 to 10,000
- Size: 16 KiB per input, 10 MiB per request
- Run time: up to 24 hours per task
- Task creation: 10 requests per 60 seconds per account
- Polling and results: 120 requests per 60 seconds per operation
- Active tasks: about 20 at once per account
- Retention: tasks and results are kept for 90 days
Frequently Asked Questions
Everything you or your AI coding agent need to integrate the Waterfall Email Finder API: auth, request, polling, results, limits and retries.


