Enrich Companies
Reveal full company data for companies you’ve already found via Search Companies.
Pass up to 100 company ids (from the search response). Each enriched result includes:
- Firmographics: size, revenue range, year founded, company type
- Industry: primary industry, sub-industry, SIC/NAICS codes
- Locations: HQ and additional office sites
- Technologies, funding rounds, buyer intent topics
- LinkedIn followers, logo URL, social links (LinkedIn, Facebook, X, Instagram, YouTube, TikTok)
- Open job posting counts: total and breakdowns by department, location, and seniority
- Ownership: immediate parent (
directParent) and top of the ownership tree (ultimateParent)
Billing: Charged per successful result via the
reveal_companyaction.
Persisting to a table: Pass
tableIdto also add these companies to an existing table and populate the relevant enrichment columns. See Companies Tables.
curl --request POST \
--url https://api.lusha.com/v3/companies/enrich \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"ids": [
"16303253",
"12790225",
"18654301"
],
"reveal": [
"employeesByLocation",
"employeesByDepartment",
"employeesBySeniority",
"competitors",
"intent",
"openJobsTotal",
"openJobsByDepartment",
"directParent",
"ultimateParent"
]
}
'import requests
url = "https://api.lusha.com/v3/companies/enrich"
payload = {
"ids": ["16303253", "12790225", "18654301"],
"reveal": ["employeesByLocation", "employeesByDepartment", "employeesBySeniority", "competitors", "intent", "openJobsTotal", "openJobsByDepartment", "directParent", "ultimateParent"]
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['16303253', '12790225', '18654301'],
reveal: [
'employeesByLocation',
'employeesByDepartment',
'employeesBySeniority',
'competitors',
'intent',
'openJobsTotal',
'openJobsByDepartment',
'directParent',
'ultimateParent'
]
})
};
fetch('https://api.lusha.com/v3/companies/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.lusha.com/v3/companies/enrich")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"16303253\",\n \"12790225\",\n \"18654301\"\n ],\n \"reveal\": [\n \"employeesByLocation\",\n \"employeesByDepartment\",\n \"employeesBySeniority\",\n \"competitors\",\n \"intent\",\n \"openJobsTotal\",\n \"openJobsByDepartment\",\n \"directParent\",\n \"ultimateParent\"\n ]\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/companies/enrich"
payload := strings.NewReader("{\n \"ids\": [\n \"16303253\",\n \"12790225\",\n \"18654301\"\n ],\n \"reveal\": [\n \"employeesByLocation\",\n \"employeesByDepartment\",\n \"employeesBySeniority\",\n \"competitors\",\n \"intent\",\n \"openJobsTotal\",\n \"openJobsByDepartment\",\n \"directParent\",\n \"ultimateParent\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Authorizations
Your Lusha API key. You can find this in your Lusha dashboard under API settings.
Include this key in the api_key header for all requests.
Body
Company IDs from search results (strings)
1 - 100 elements["16303253", "12790225"]
Additional data fields to reveal. Each field is charged separately per result.
employeesByDepartment- breakdown of employees by departmentemployeesByLocation- breakdown of employees by country/stateemployeesBySeniority- breakdown of employees by seniority levelcompetitors- list of competitor company IDsintent- buyer intent topicsestimatedAnnualItSpend- estimated annual IT spend.monthlyWebsiteTraffic- monthly website traffic and month-over-month change.openJobsTotal- reveals the total open job count. In the response, this appears as thetotalfield inside theopenJobsobject.openJobsByDepartment- reveals open job counts broken down by department. In the response, this appears as thebyDepartmentfield inside theopenJobsobject.openJobsByLocation- reveals open job counts broken down by location. In the response, this appears as thebyLocationfield inside theopenJobsobject.openJobsBySeniority- reveals open job counts broken down by seniority level. In the response, this appears as thebySeniorityfield inside theopenJobsobject.directParent- the company's immediate parent in its ownership tree.ultimateParent- the company at the top of its ownership tree.
employeesByDepartment, employeesByLocation, employeesBySeniority, competitors, intent, estimatedAnnualItSpend, monthlyWebsiteTraffic, openJobsTotal, openJobsByDepartment, openJobsByLocation, openJobsBySeniority, directParent, ultimateParent [ "employeesByDepartment", "employeesByLocation", "employeesBySeniority", "competitors", "intent", "estimatedAnnualItSpend", "monthlyWebsiteTraffic", "openJobsTotal", "openJobsByDepartment", "openJobsByLocation", "openJobsBySeniority", "directParent", "ultimateParent" ]
Optional. If provided, these companies are also added to this table (if not already present) and the revealed fields' columns are populated. See the Tables API.
"583021"
Response
Successful response
Show child attributes
Show child attributes
Added to a Prospecting, Enrich, Signals, or Lookalike response when tableId is passed on the request. The primary response is unaffected even if the table write fails.
Show child attributes
Show child attributes
Credit usage summary for a V3 API request
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.lusha.com/v3/companies/enrich \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"ids": [
"16303253",
"12790225",
"18654301"
],
"reveal": [
"employeesByLocation",
"employeesByDepartment",
"employeesBySeniority",
"competitors",
"intent",
"openJobsTotal",
"openJobsByDepartment",
"directParent",
"ultimateParent"
]
}
'import requests
url = "https://api.lusha.com/v3/companies/enrich"
payload = {
"ids": ["16303253", "12790225", "18654301"],
"reveal": ["employeesByLocation", "employeesByDepartment", "employeesBySeniority", "competitors", "intent", "openJobsTotal", "openJobsByDepartment", "directParent", "ultimateParent"]
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['16303253', '12790225', '18654301'],
reveal: [
'employeesByLocation',
'employeesByDepartment',
'employeesBySeniority',
'competitors',
'intent',
'openJobsTotal',
'openJobsByDepartment',
'directParent',
'ultimateParent'
]
})
};
fetch('https://api.lusha.com/v3/companies/enrich', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.lusha.com/v3/companies/enrich")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"16303253\",\n \"12790225\",\n \"18654301\"\n ],\n \"reveal\": [\n \"employeesByLocation\",\n \"employeesByDepartment\",\n \"employeesBySeniority\",\n \"competitors\",\n \"intent\",\n \"openJobsTotal\",\n \"openJobsByDepartment\",\n \"directParent\",\n \"ultimateParent\"\n ]\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/companies/enrich"
payload := strings.NewReader("{\n \"ids\": [\n \"16303253\",\n \"12790225\",\n \"18654301\"\n ],\n \"reveal\": [\n \"employeesByLocation\",\n \"employeesByDepartment\",\n \"employeesBySeniority\",\n \"competitors\",\n \"intent\",\n \"openJobsTotal\",\n \"openJobsByDepartment\",\n \"directParent\",\n \"ultimateParent\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}