Prospecting Companies
Search Lusha’s company database with firmographic filters - size, revenue, industry, technologies, intent, and signals. Returns paginated, lightweight previews - enrich the returned IDs for full firmographic data.
curl --request POST \
--url https://api.lusha.com/v3/companies/prospecting \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"pagination": {
"page": 0,
"size": 25
},
"filters": {
"companies": {
"include": {
"sizes": [
{
"min": 1,
"max": 1000
}
],
"revenues": [
{
"min": 10000000
}
],
"locations": [
{
"country": "United States"
}
],
"technologies": [
"React",
"Node.js"
],
"technologiesCondition": "or",
"mainIndustriesIds": [
1,
5
],
"intentTopics": [
"Cloud Migration"
],
"foundedYear": [
{
"min": 1990,
"max": 2020
}
],
"businessModel": [
"B2B",
"B2G"
],
"companyType": [
"Public Company",
"Private Company"
],
"linkedinUrls": [
"https://www.linkedin.com/company/microsoft"
],
"keywords": [
"cloud",
"artificial intelligence"
],
"signals": {
"types": [
"headcountIncrease3m",
"surgeInHiring"
],
"startDate": "2025-01-01"
}
},
"exclude": {
"domains": [
"competitor.com"
],
"businessModel": [
"B2C"
],
"companyType": [
"Non Profit"
],
"keywords": [
"staffing"
]
}
}
},
"tableId": "583021",
"options": {
"includePartialProfiles": false
}
}
'import requests
url = "https://api.lusha.com/v3/companies/prospecting"
payload = {
"pagination": {
"page": 0,
"size": 25
},
"filters": { "companies": {
"include": {
"sizes": [
{
"min": 1,
"max": 1000
}
],
"revenues": [{ "min": 10000000 }],
"locations": [{ "country": "United States" }],
"technologies": ["React", "Node.js"],
"technologiesCondition": "or",
"mainIndustriesIds": [1, 5],
"intentTopics": ["Cloud Migration"],
"foundedYear": [
{
"min": 1990,
"max": 2020
}
],
"businessModel": ["B2B", "B2G"],
"companyType": ["Public Company", "Private Company"],
"linkedinUrls": ["https://www.linkedin.com/company/microsoft"],
"keywords": ["cloud", "artificial intelligence"],
"signals": {
"types": ["headcountIncrease3m", "surgeInHiring"],
"startDate": "2025-01-01"
}
},
"exclude": {
"domains": ["competitor.com"],
"businessModel": ["B2C"],
"companyType": ["Non Profit"],
"keywords": ["staffing"]
}
} },
"tableId": "583021",
"options": { "includePartialProfiles": False }
}
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({
pagination: {page: 0, size: 25},
filters: {
companies: {
include: {
sizes: [{min: 1, max: 1000}],
revenues: [{min: 10000000}],
locations: [{country: 'United States'}],
technologies: ['React', 'Node.js'],
technologiesCondition: 'or',
mainIndustriesIds: [1, 5],
intentTopics: ['Cloud Migration'],
foundedYear: [{min: 1990, max: 2020}],
businessModel: ['B2B', 'B2G'],
companyType: ['Public Company', 'Private Company'],
linkedinUrls: ['https://www.linkedin.com/company/microsoft'],
keywords: ['cloud', 'artificial intelligence'],
signals: {types: ['headcountIncrease3m', 'surgeInHiring'], startDate: '2025-01-01'}
},
exclude: {
domains: ['competitor.com'],
businessModel: ['B2C'],
companyType: ['Non Profit'],
keywords: ['staffing']
}
}
},
tableId: '583021',
options: {includePartialProfiles: false}
})
};
fetch('https://api.lusha.com/v3/companies/prospecting', 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/prospecting")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pagination\": {\n \"page\": 0,\n \"size\": 25\n },\n \"filters\": {\n \"companies\": {\n \"include\": {\n \"sizes\": [\n {\n \"min\": 1,\n \"max\": 1000\n }\n ],\n \"revenues\": [\n {\n \"min\": 10000000\n }\n ],\n \"locations\": [\n {\n \"country\": \"United States\"\n }\n ],\n \"technologies\": [\n \"React\",\n \"Node.js\"\n ],\n \"technologiesCondition\": \"or\",\n \"mainIndustriesIds\": [\n 1,\n 5\n ],\n \"intentTopics\": [\n \"Cloud Migration\"\n ],\n \"foundedYear\": [\n {\n \"min\": 1990,\n \"max\": 2020\n }\n ],\n \"businessModel\": [\n \"B2B\",\n \"B2G\"\n ],\n \"companyType\": [\n \"Public Company\",\n \"Private Company\"\n ],\n \"linkedinUrls\": [\n \"https://www.linkedin.com/company/microsoft\"\n ],\n \"keywords\": [\n \"cloud\",\n \"artificial intelligence\"\n ],\n \"signals\": {\n \"types\": [\n \"headcountIncrease3m\",\n \"surgeInHiring\"\n ],\n \"startDate\": \"2025-01-01\"\n }\n },\n \"exclude\": {\n \"domains\": [\n \"competitor.com\"\n ],\n \"businessModel\": [\n \"B2C\"\n ],\n \"companyType\": [\n \"Non Profit\"\n ],\n \"keywords\": [\n \"staffing\"\n ]\n }\n }\n },\n \"tableId\": \"583021\",\n \"options\": {\n \"includePartialProfiles\": false\n }\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/companies/prospecting"
payload := strings.NewReader("{\n \"pagination\": {\n \"page\": 0,\n \"size\": 25\n },\n \"filters\": {\n \"companies\": {\n \"include\": {\n \"sizes\": [\n {\n \"min\": 1,\n \"max\": 1000\n }\n ],\n \"revenues\": [\n {\n \"min\": 10000000\n }\n ],\n \"locations\": [\n {\n \"country\": \"United States\"\n }\n ],\n \"technologies\": [\n \"React\",\n \"Node.js\"\n ],\n \"technologiesCondition\": \"or\",\n \"mainIndustriesIds\": [\n 1,\n 5\n ],\n \"intentTopics\": [\n \"Cloud Migration\"\n ],\n \"foundedYear\": [\n {\n \"min\": 1990,\n \"max\": 2020\n }\n ],\n \"businessModel\": [\n \"B2B\",\n \"B2G\"\n ],\n \"companyType\": [\n \"Public Company\",\n \"Private Company\"\n ],\n \"linkedinUrls\": [\n \"https://www.linkedin.com/company/microsoft\"\n ],\n \"keywords\": [\n \"cloud\",\n \"artificial intelligence\"\n ],\n \"signals\": {\n \"types\": [\n \"headcountIncrease3m\",\n \"surgeInHiring\"\n ],\n \"startDate\": \"2025-01-01\"\n }\n },\n \"exclude\": {\n \"domains\": [\n \"competitor.com\"\n ],\n \"businessModel\": [\n \"B2C\"\n ],\n \"companyType\": [\n \"Non Profit\"\n ],\n \"keywords\": [\n \"staffing\"\n ]\n }\n }\n },\n \"tableId\": \"583021\",\n \"options\": {\n \"includePartialProfiles\": false\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))
}{
"requestId": "5ad275c8-7dd4-462a-bd45-6bc1970da64e",
"pagination": { "page": 0, "size": 25, "total": 874 },
"results": [
{
"id": "16303253",
"name": "Lusha",
"domain": "www.lusha.com",
"employeeCount": { "min": 201, "max": 500 },
"industry": "Technology, Information & Media",
"location": {
"city": "London",
"state": "England",
"country": "United Kingdom",
"countryIso2": "GB",
"continent": "Europe"
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/lushadata"
},
"has": ["alternativeName", "description", "companyType", "emails", "socialLinks"],
"canReveal": [
{ "field": "emails", "credits": 1 }
]
}
],
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}
{
"statusCode": 400,
"message": "Invalid request parameters"
}
{
"statusCode": 403,
"message": "Your account is not active. Please reach out to support at support@lusha.com"
}
id. Pass that id to Enrich Companies to get the full company profile.
| Step | Endpoint | Purpose |
|---|---|---|
| 1 | POST /v3/companies/prospecting | Find companies matching your target market; get back previews + ids |
| 2 | POST /v3/companies/enrich | Pass the ids from step 1 to get full firmographic data |
Endpoint
POST https://api.lusha.com/v3/companies/prospecting
api_key header)
Results are paginated up to 50,000 total.
Request body
Show include fields
Show include fields
200.[{ "country": "United States" }]{ "min": ..., "max": ... }. Example: [{ "min": 1, "max": 1000 }]{ "min": ..., "max": ... }. Example: [{ "min": 10000000 }]["React", "Node.js"]"or" or "and" - how the technologies list is combined.[1, 5]["Cloud Migration"]"or" or "and" - how the intentTopics list is combined.{ "min": ..., "max": ... }) on the number of matched intent topics.Show signals fields
Show signals fields
["headcountIncrease3m", "surgeInHiring"]YYYY-MM-DD format.country, state, and startDate.department (example: "Engineering & Technical") and accepts an optional startDate.{ "min": ..., "max": ... }. Example: [{ "min": 1990, "max": 2020 }]B2B, B2C, B2G.Government, Private Company, Public Company, Educational, Non Profit, Self Employed.["https://www.linkedin.com/company/microsoft"]["cloud", "artificial intelligence"]include. Companies matching this criteria are removed from results. Example: { "domains": ["competitor.com"] }Show options fields
Show options fields
true, includes companies with incomplete data in results.Example request
curl --request POST \
--url https://api.lusha.com/v3/companies/prospecting \
--header 'api_key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"pagination": { "page": 0, "size": 25 },
"filters": {
"companies": {
"include": {
"sizes": [{ "min": 1, "max": 1000 }],
"revenues": [{ "min": 10000000 }],
"locations": [{ "country": "United States" }],
"technologies": ["React", "Node.js"],
"technologiesCondition": "or",
"mainIndustriesIds": [1, 5],
"intentTopics": ["Cloud Migration"]
},
"exclude": {
"domains": ["competitor.com"]
}
}
},
"options": { "includePartialProfiles": false }
}'
{
"pagination": { "page": 0, "size": 25 },
"filters": {
"companies": {
"include": {
"sizes": [{ "min": 1, "max": 1000 }],
"revenues": [{ "min": 10000000 }],
"locations": [{ "country": "United States" }],
"technologies": ["React", "Node.js"],
"technologiesCondition": "or",
"mainIndustriesIds": [1, 5],
"intentTopics": ["Cloud Migration"]
},
"exclude": {
"domains": ["competitor.com"]
}
}
},
"options": { "includePartialProfiles": false }
}
Response
200 - Success
page, size, and total (total matching companies across all pages).Show preview fields
Show preview fields
exact, and/or min/max when only a range is known.city, state, country, countryIso2, and continent.linkedin company URL.["alternativeName", "description", "companyType", "employeesByDepartment", "competitors", "emails", "socialLinks"]{ "field": "emails" | "phones", "credits": <integer> }. credits is 0 when your account has already revealed that field for this company.code is one of NOT_FOUND, COMPLIANCE_RESTRICTED, ENRICH_FAILED; message explains why.creditsCharged and resultsReturned for this request.api_search action. If you filter by signals, an additional charge applies per matched signal per result.Error codes
| Status | Meaning |
|---|---|
400 | Bad request - invalid input data. |
401 | Unauthorized - invalid or missing API key. |
402 | Payment required - insufficient credits. |
403 | Forbidden - account inactive, or V3 access not enabled. |
429 | Too many requests - rate limit exceeded. |
{
"requestId": "5ad275c8-7dd4-462a-bd45-6bc1970da64e",
"pagination": { "page": 0, "size": 25, "total": 874 },
"results": [
{
"id": "16303253",
"name": "Lusha",
"domain": "www.lusha.com",
"employeeCount": { "min": 201, "max": 500 },
"industry": "Technology, Information & Media",
"location": {
"city": "London",
"state": "England",
"country": "United Kingdom",
"countryIso2": "GB",
"continent": "Europe"
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/lushadata"
},
"has": ["alternativeName", "description", "companyType", "emails", "socialLinks"],
"canReveal": [
{ "field": "emails", "credits": 1 }
]
}
],
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}
{
"statusCode": 400,
"message": "Invalid request parameters"
}
{
"statusCode": 403,
"message": "Your account is not active. Please reach out to support at support@lusha.com"
}
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
Show child attributes
Show child attributes
filters.contacts cannot be combined with company searchText, signals, intent, or technologies on the same request - doing so returns 400 (contact filters are never silently ignored).
Show child attributes
Show child attributes
Optional. If provided, results are also persisted to this table. See the Tables API.
"583021"
Show child attributes
Show child attributes
Response
Successful response
Show child attributes
Show child attributes
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/prospecting \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"pagination": {
"page": 0,
"size": 25
},
"filters": {
"companies": {
"include": {
"sizes": [
{
"min": 1,
"max": 1000
}
],
"revenues": [
{
"min": 10000000
}
],
"locations": [
{
"country": "United States"
}
],
"technologies": [
"React",
"Node.js"
],
"technologiesCondition": "or",
"mainIndustriesIds": [
1,
5
],
"intentTopics": [
"Cloud Migration"
],
"foundedYear": [
{
"min": 1990,
"max": 2020
}
],
"businessModel": [
"B2B",
"B2G"
],
"companyType": [
"Public Company",
"Private Company"
],
"linkedinUrls": [
"https://www.linkedin.com/company/microsoft"
],
"keywords": [
"cloud",
"artificial intelligence"
],
"signals": {
"types": [
"headcountIncrease3m",
"surgeInHiring"
],
"startDate": "2025-01-01"
}
},
"exclude": {
"domains": [
"competitor.com"
],
"businessModel": [
"B2C"
],
"companyType": [
"Non Profit"
],
"keywords": [
"staffing"
]
}
}
},
"tableId": "583021",
"options": {
"includePartialProfiles": false
}
}
'import requests
url = "https://api.lusha.com/v3/companies/prospecting"
payload = {
"pagination": {
"page": 0,
"size": 25
},
"filters": { "companies": {
"include": {
"sizes": [
{
"min": 1,
"max": 1000
}
],
"revenues": [{ "min": 10000000 }],
"locations": [{ "country": "United States" }],
"technologies": ["React", "Node.js"],
"technologiesCondition": "or",
"mainIndustriesIds": [1, 5],
"intentTopics": ["Cloud Migration"],
"foundedYear": [
{
"min": 1990,
"max": 2020
}
],
"businessModel": ["B2B", "B2G"],
"companyType": ["Public Company", "Private Company"],
"linkedinUrls": ["https://www.linkedin.com/company/microsoft"],
"keywords": ["cloud", "artificial intelligence"],
"signals": {
"types": ["headcountIncrease3m", "surgeInHiring"],
"startDate": "2025-01-01"
}
},
"exclude": {
"domains": ["competitor.com"],
"businessModel": ["B2C"],
"companyType": ["Non Profit"],
"keywords": ["staffing"]
}
} },
"tableId": "583021",
"options": { "includePartialProfiles": False }
}
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({
pagination: {page: 0, size: 25},
filters: {
companies: {
include: {
sizes: [{min: 1, max: 1000}],
revenues: [{min: 10000000}],
locations: [{country: 'United States'}],
technologies: ['React', 'Node.js'],
technologiesCondition: 'or',
mainIndustriesIds: [1, 5],
intentTopics: ['Cloud Migration'],
foundedYear: [{min: 1990, max: 2020}],
businessModel: ['B2B', 'B2G'],
companyType: ['Public Company', 'Private Company'],
linkedinUrls: ['https://www.linkedin.com/company/microsoft'],
keywords: ['cloud', 'artificial intelligence'],
signals: {types: ['headcountIncrease3m', 'surgeInHiring'], startDate: '2025-01-01'}
},
exclude: {
domains: ['competitor.com'],
businessModel: ['B2C'],
companyType: ['Non Profit'],
keywords: ['staffing']
}
}
},
tableId: '583021',
options: {includePartialProfiles: false}
})
};
fetch('https://api.lusha.com/v3/companies/prospecting', 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/prospecting")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pagination\": {\n \"page\": 0,\n \"size\": 25\n },\n \"filters\": {\n \"companies\": {\n \"include\": {\n \"sizes\": [\n {\n \"min\": 1,\n \"max\": 1000\n }\n ],\n \"revenues\": [\n {\n \"min\": 10000000\n }\n ],\n \"locations\": [\n {\n \"country\": \"United States\"\n }\n ],\n \"technologies\": [\n \"React\",\n \"Node.js\"\n ],\n \"technologiesCondition\": \"or\",\n \"mainIndustriesIds\": [\n 1,\n 5\n ],\n \"intentTopics\": [\n \"Cloud Migration\"\n ],\n \"foundedYear\": [\n {\n \"min\": 1990,\n \"max\": 2020\n }\n ],\n \"businessModel\": [\n \"B2B\",\n \"B2G\"\n ],\n \"companyType\": [\n \"Public Company\",\n \"Private Company\"\n ],\n \"linkedinUrls\": [\n \"https://www.linkedin.com/company/microsoft\"\n ],\n \"keywords\": [\n \"cloud\",\n \"artificial intelligence\"\n ],\n \"signals\": {\n \"types\": [\n \"headcountIncrease3m\",\n \"surgeInHiring\"\n ],\n \"startDate\": \"2025-01-01\"\n }\n },\n \"exclude\": {\n \"domains\": [\n \"competitor.com\"\n ],\n \"businessModel\": [\n \"B2C\"\n ],\n \"companyType\": [\n \"Non Profit\"\n ],\n \"keywords\": [\n \"staffing\"\n ]\n }\n }\n },\n \"tableId\": \"583021\",\n \"options\": {\n \"includePartialProfiles\": false\n }\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/companies/prospecting"
payload := strings.NewReader("{\n \"pagination\": {\n \"page\": 0,\n \"size\": 25\n },\n \"filters\": {\n \"companies\": {\n \"include\": {\n \"sizes\": [\n {\n \"min\": 1,\n \"max\": 1000\n }\n ],\n \"revenues\": [\n {\n \"min\": 10000000\n }\n ],\n \"locations\": [\n {\n \"country\": \"United States\"\n }\n ],\n \"technologies\": [\n \"React\",\n \"Node.js\"\n ],\n \"technologiesCondition\": \"or\",\n \"mainIndustriesIds\": [\n 1,\n 5\n ],\n \"intentTopics\": [\n \"Cloud Migration\"\n ],\n \"foundedYear\": [\n {\n \"min\": 1990,\n \"max\": 2020\n }\n ],\n \"businessModel\": [\n \"B2B\",\n \"B2G\"\n ],\n \"companyType\": [\n \"Public Company\",\n \"Private Company\"\n ],\n \"linkedinUrls\": [\n \"https://www.linkedin.com/company/microsoft\"\n ],\n \"keywords\": [\n \"cloud\",\n \"artificial intelligence\"\n ],\n \"signals\": {\n \"types\": [\n \"headcountIncrease3m\",\n \"surgeInHiring\"\n ],\n \"startDate\": \"2025-01-01\"\n }\n },\n \"exclude\": {\n \"domains\": [\n \"competitor.com\"\n ],\n \"businessModel\": [\n \"B2C\"\n ],\n \"companyType\": [\n \"Non Profit\"\n ],\n \"keywords\": [\n \"staffing\"\n ]\n }\n }\n },\n \"tableId\": \"583021\",\n \"options\": {\n \"includePartialProfiles\": false\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))
}{
"requestId": "5ad275c8-7dd4-462a-bd45-6bc1970da64e",
"pagination": { "page": 0, "size": 25, "total": 874 },
"results": [
{
"id": "16303253",
"name": "Lusha",
"domain": "www.lusha.com",
"employeeCount": { "min": 201, "max": 500 },
"industry": "Technology, Information & Media",
"location": {
"city": "London",
"state": "England",
"country": "United Kingdom",
"countryIso2": "GB",
"continent": "Europe"
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/lushadata"
},
"has": ["alternativeName", "description", "companyType", "emails", "socialLinks"],
"canReveal": [
{ "field": "emails", "credits": 1 }
]
}
],
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}
{
"statusCode": 400,
"message": "Invalid request parameters"
}
{
"statusCode": 403,
"message": "Your account is not active. Please reach out to support at support@lusha.com"
}