Skip to main content

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:
You get a request_id back immediately. Enrichment runs in the background.
Both APIs are asynchronous, and 2xx does not mean the results are ready.While a request is running, the GET endpoints answer 202 with an empty body. Only status: "terminated" guarantees results. Branch on status, never on the HTTP code alone. See Request statuses.
Then either poll GET /async/{request_id}, or, better, pass a webhook in the submit call and let us push the results to you.

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

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.
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.
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

According to the information provided about the lead, BetterContact determines the optimal provider sequence to maximise the enrichment rate.
Once a provider returns contact data, we verify it through various layers and only push back valid data to you.
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 endpoint

Enrich 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

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.
These endpoints never return a work email address or a mobile phone number. For contact data, use the waterfall enrichment endpoint.
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.