A waterfall tries multiple data providers one after another until one returns a result. This is the best way to maximize email coverage without writing fallback logic yourself.
What you will do
Search for a waterfall that finds emails
Run it for a single contact
Run it in bulk for a list
Prerequisites
A Databar API key (get one here )
A name and company (or domain) for the person you want to find
Step 1: Find a waterfall
Search available waterfalls:
curl "https://api.databar.ai/v1/waterfalls/?q=email" \
-H "x-apikey: YOUR_API_KEY"
Each waterfall lists the providers it uses and the input parameters it expects. Pick the one that matches your data.
curl -X POST "https://api.databar.ai/v1/waterfalls/WATERFALL_ID/run" \
-H "x-apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"full_name": "John Smith",
"company": "Google"
}
}'
You will receive a task_id. Poll it to get results:
curl "https://api.databar.ai/v1/tasks/YOUR_TASK_ID" \
-H "x-apikey: YOUR_API_KEY"
The response includes which provider returned the result and whether the email was verified.
Step 3: Run in bulk
For multiple contacts, use the bulk endpoint:
curl -X POST "https://api.databar.ai/v1/waterfalls/WATERFALL_ID/bulk-run" \
-H "x-apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": [
{"full_name": "Sarah Chen", "company": "Stripe"},
{"full_name": "James Lee", "company": "Notion"}
]
}'
Task data is stored for 24 hours . Make sure to retrieve and save your results before they expire.
With the Python SDK
from databar import DatabarClient
client = DatabarClient()
result = client.run_waterfall_sync( WATERFALL_ID , {
"full_name" : "John Smith" ,
"company" : "Google"
})
print (result)
# Bulk
results = client.run_waterfall_bulk_sync( WATERFALL_ID , [
{ "full_name" : "Sarah Chen" , "company" : "Stripe" },
{ "full_name" : "James Lee" , "company" : "Notion" },
])
for r in results:
print (r)
Next steps
Enrich leads Enrich a batch of leads with company and contact data.
Table enrichment pipeline Store data in a table and run enrichments across all rows.