curl --request POST \
--url https://app.bettercontact.rocks/api/v2/enrich_profile/company \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"company_domain": "microsoft.com"
}
'{
"success": true,
"data": {
"company_id": 107993854,
"company_name": "Bodegas Aragonesas S.A.",
"company_domain": "bodegasaragonesas.com",
"company_website": "bodegasaragonesas.com",
"company_description": "Bodegas Aragonesas S.A. is a winery...",
"company_linkedin_url": "https://www.linkedin.com/company/bodegas-aragonesas-s-a-",
"company_industry": "Beverage Manufacturing",
"company_type": "privately_held",
"company_founded_year": 1984,
"company_employees_number": 20,
"company_employees_range_start": 11,
"company_employees_range_end": 50,
"company_headquarters": "Carr. de Magallón a la Almunia, S/N; Fuendejalón, Aragón / España 50529, ES",
"company_head_quarters_city": "",
"company_head_quarters_country": "Spain",
"company_address_city": "",
"company_address_state": "",
"company_address_country": "Spain",
"company_address_zipcode": "",
"company_keywords": [
"wine industry",
"wine"
]
}
}{
"success": false,
"error": "Your are not authorized. Please check your api_key."
}{
"success": false,
"error": "Company was not found."
}{
"success": false,
"error": "company_domain or company_linkedin_url is required."
}{
"success": false,
"error": "Something bad happened"
}Enrich Profile
Enrich a company profile
Look up a single company by domain or LinkedIn URL.
POST
/
enrich_profile
/
company
curl --request POST \
--url https://app.bettercontact.rocks/api/v2/enrich_profile/company \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"company_domain": "microsoft.com"
}
'{
"success": true,
"data": {
"company_id": 107993854,
"company_name": "Bodegas Aragonesas S.A.",
"company_domain": "bodegasaragonesas.com",
"company_website": "bodegasaragonesas.com",
"company_description": "Bodegas Aragonesas S.A. is a winery...",
"company_linkedin_url": "https://www.linkedin.com/company/bodegas-aragonesas-s-a-",
"company_industry": "Beverage Manufacturing",
"company_type": "privately_held",
"company_founded_year": 1984,
"company_employees_number": 20,
"company_employees_range_start": 11,
"company_employees_range_end": 50,
"company_headquarters": "Carr. de Magallón a la Almunia, S/N; Fuendejalón, Aragón / España 50529, ES",
"company_head_quarters_city": "",
"company_head_quarters_country": "Spain",
"company_address_city": "",
"company_address_state": "",
"company_address_country": "Spain",
"company_address_zipcode": "",
"company_keywords": [
"wine industry",
"wine"
]
}
}{
"success": false,
"error": "Your are not authorized. Please check your api_key."
}{
"success": false,
"error": "Company was not found."
}{
"success": false,
"error": "company_domain or company_linkedin_url is required."
}{
"success": false,
"error": "Something bad happened"
}This endpoint is synchronous and does not consume credits.Unlike the enrichment and Lead Finder APIs, there is no
request_id and nothing to poll: the
company profile comes back in the same response.company_domain, company_linkedin_url, or both. At least one is required, otherwise the call
is rejected with 422.
curl -X POST https://app.bettercontact.rocks/api/v2/enrich_profile/company \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "company_domain": "microsoft.com" }'
const res = await fetch(
"https://app.bettercontact.rocks/api/v2/enrich_profile/company",
{
method: "POST",
headers: {
"X-API-Key": process.env.BETTERCONTACT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ company_domain: "microsoft.com" }),
}
);
const { success, data } = await res.json();
import os, requests
res = requests.post(
"https://app.bettercontact.rocks/api/v2/enrich_profile/company",
headers={"X-API-Key": os.environ["BETTERCONTACT_API_KEY"]},
json={"company_domain": "microsoft.com"},
)
company = res.json()["data"]
Authentication
This endpoint accepts the key either in theX-API-Key header, like every other endpoint, or
as an api_key attribute in the body. The header is the recommended form: it keeps the key out of
your request payloads and out of your logs.
This is also the endpoint to use when a Lead Finder search turns out to be a single company
lookup: that case is rejected with a
422. See Errors.What you get back
The response mirrors thecompany_* block of the Lead Finder
payload, so the same parsing code works on both.
A few fields deserve a note:
| Field | Note |
|---|---|
company_domain / company_website | Always the same value. |
company_type | Normalised: lowercased, spaces replaced by underscores. Privately Held comes back as privately_held. |
company_employees_range_start / _end | Parsed from the size range. 11-50 gives 11 and 50. An open ended range such as 10000+ sets the start only and leaves the end null. |
company_head_quarters_city and the company_address_* fields | May be an empty string rather than null when the source has no value. Test for emptiness, not just for null. |
company_keywords | An array of strings, not a comma separated string. |
Every other
company_* key from the Lead Finder payload is present in the response and always
null. They are kept for payload compatibility, so do not read anything into them.Landbase specific attributes such as revenue, is_b2b and technologies_used are not
returned by this endpoint. You can still filter on them through
Lead Finder.Authorizations
Body
application/json
Company to look up
At least one of company_domain or company_linkedin_url is required. You can send both.
Response
Company found.
Example:
true
The company profile. Fields below carry data; every other company_* key from the Lead Finder payload is still present and always null, kept for payload compatibility. Landbase-only attributes such as revenue, is_b2b and technologies_used are not returned here.
Show child attributes
Show child attributes
Was this page helpful?