What does BetterContact do?
Find new leads
Based on advanced Company and People filtering, find the perfect leads matching your criteria, with only fresh and accurate data.
Get lead's contact data
Get the mobile phone number and work email address of the leads you want to reach, and convert them into customers.
Enrich a single profile
Look up one person or one company and get their full profile back in the same response, with no polling.
Your first call
Grab your API key in your API settings, then enrich a single lead:request_id back immediately. Enrichment runs in the background.
Then either poll GET /async/{request_id}, or, better, pass a
webhook in the submit call and let us push the results to you.
Waterfall Lead Finder search
Data you get back
People information
Up to date contact information: job title, full name, LinkedIn profile URL, location, seniority, and more.
Company information
Up to date information on the contact’s current company: name, domain, HQ location, industry, headcount, and more.
Principles
Filter on companies and on people at once
Filter on companies and on people at once
Company criteria (industry, headcount, HQ, technologies, funding, hiring signals) and people criteria (job title, seniority, department, skills, location) are applied in the same search. See the full list on the endpoint reference.
Include and exclude on every filter
Include and exclude on every filter
Every list filter takes an
include and an exclude array. Exclusions are enforced by BetterContact after the search runs, which is why a request made only of exclude values matches nothing: always pair it with at least one include.Control how results spread across accounts
Control how results spread across accounts
limit_per_company caps how many leads come back per company, so a search returns a slice of many accounts instead of one full org chart. Combine it with limit and offset to paginate through the whole result set.How the API works
Submit your Lead Finder search
Apply your People and Company criteria and create a new search.
See endpointSeveral filters only accept exact values from a fixed list. See Taxonomies.
Get your results
Provide a webhook URL, or fetch the leads matching your criteria.
See endpoint
Set
enrich_email_address or enrich_phone_number on the search itself to get verified contact
data on every lead found, without a second call to the enrichment API.Waterfall email and phone enrichment
Data you get back
Mobile phone number
Get any lead’s verified mobile phone number.
Work email address
Get any lead’s verified work email address.
Principles
Request providers in relevant sequence
Request providers in relevant sequence
According to the information provided about the lead, BetterContact determines the optimal provider sequence to maximise the enrichment rate.
Verify the provided contact data
Verify the provided contact data
Once a provider returns contact data, we verify it through various layers and only push back valid data to you.
Request providers until valid data is found
Request providers until valid data is found
If one provider’s data is invalid, BetterContact will request the following providers until valid data is found.
BetterContact also verifies catch-all emails.Set
verify_catch_all to true and the status comes back as catch_all_safe or
catch_all_not_safe instead of a plain catch_all, so you can contact otherwise unreachable
leads without compromising your sending domain reputation.How the API works
Submit your lead(s) to enrich
A single endpoint enriches one lead or a batch of up to 100 at a time.
See endpoint
Fetch results
The waterfall needs a few seconds to query the providers and verify the data. Fetch the results,
or pass a
webhook URL in the submit call to get them pushed to you.
See endpointEnrich profiles
The two endpoints above are asynchronous, because a waterfall takes time. When you only need to look up one person or one company, Enrich Profile answers straight away.Enrich a lead profile
Job title, seniority, location, LinkedIn profile, and the company the person works at.0.1 credit per profile found.
Enrich a company profile
Industry, headcount, headquarters, description, keywords, LinkedIn page.Free, no credit consumed.
How it differs from the rest of the API
Synchronous: no request_id, no polling
Synchronous: no request_id, no polling
One call, one answer. The profile is in the response body under
data, so there is nothing to poll and no webhook to set up.Profile data only, no email and no phone
Profile data only, no email and no phone
These endpoints never return a work email address or a mobile phone number. For contact data, use the waterfall enrichment endpoint.
Nothing is charged when nothing is found
Nothing is charged when nothing is found
A lookup that returns no match answers
404 and costs nothing. See Credits.For a lead, send the contact’s
linkedin_url whenever you have it: it is the most reliable input.
Otherwise send first_name, last_name and company_domain together.For a company, send company_domain, company_linkedin_url, or both.Next steps
Authentication
The
X-API-Key header, and where to find your key.Request statuses
Know when a request is really done.
Webhooks
Stop polling, get results pushed to you.
Errors
Every status code, and what to do about it.
Credits
When a credit is consumed, and what happens when you run out.