Search Companies
POST /search-companies
Search for companies using Sales Navigator filters. This is an asynchronous endpoint that creates a search job.
How the Process Works
Step 1: Initiate Search
- Use this endpoint to search companies with your criteria.
- This endpoint returns a
request_idfor tracking progress. - This step costs 25 credits, even if the search returns 0 results.
Step 2: Monitor Search Progress
- Use the Check Company Search Status endpoint to track your search.
- This action is free of charge.
Step 3: Retrieve Results
- Once the search is complete, access the results via the Get Company Search Results endpoint.
- Retrieving each company incurs 1 credit.
For tutorials and demo code, see How to Search Companies.
Parameters
You can either provide search filters OR a Sales Navigator URL.
Option 1: Search Filters
| Parameter | Type | Required | Description |
|---|---|---|---|
industry_codes | array | No | Industry IDs to include |
industry_codes_exclude | array | No | Industry IDs to exclude |
company_headcounts | array | No | Headcount ranges: A (1-10), B (11-50), C (51-200), D (201-500), E (501-1000), F (1001-5000), G (5001-10000), H (10001+) |
company_headcount_growth | object | No | Growth percentage range: { "min": 5, "max": 50 } |
headquarters_location | array | No | Location IDs to include |
headquarters_location_exclude | array | No | Location IDs to exclude |
hiring_on_linkedin | string | No | Filter by hiring status ("true" or "false") |
recent_activities | array | No | Activity type filters |
keywords | string | No | Search keywords |
limit | integer | No | Max results (1-1000, default: 100) |
Option 2: Sales Navigator URL
| Parameter | Type | Required | Description |
|---|---|---|---|
sales_nav_url | string | Yes | LinkedIn Sales Navigator search URL |
limit | integer | No | Max results (1-1000, default: 100) |
See Understanding Company Search Filters for all available filters.
Example Request
- cURL
- Python
- Node.js
curl --request POST \
--url https://api.infoplug.io/search-companies \
--header 'Content-Type: application/json' \
--header 'X-INFOPLUG-API-KEY: YOUR_API_KEY' \
--data '{
"company_headcounts": ["E", "F", "G"],
"headquarters_location": [103644278],
"hiring_on_linkedin": "true",
"limit": 100
}'
import requests
url = "https://api.infoplug.io/search-companies"
headers = {
"Content-Type": "application/json",
"X-INFOPLUG-API-KEY": "YOUR_API_KEY"
}
data = {
"company_headcounts": ["E", "F", "G"],
"headquarters_location": [103644278],
"hiring_on_linkedin": "true",
"limit": 100
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://api.infoplug.io/search-companies', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-INFOPLUG-API-KEY': 'YOUR_API_KEY'
},
body: JSON.stringify({
company_headcounts: ['E', 'F', 'G'],
headquarters_location: [103644278],
hiring_on_linkedin: 'true',
limit: 100
})
});
const data = await response.json();
console.log(data);
Example Response
- 200 OK
- 400 Bad Request
- 401 Unauthorized
- 402 Insufficient Credits
{
"message": "Company search job created",
"request_id": "search-companies-1234567890-abc123",
"status": "processing",
"search_type": "standard"
}
{
"message": "invalid_parameter",
"parameter": "limit",
"details": "Limit must be between 1 and 1000"
}
{
"message": "unauthorized",
"details": "Invalid or missing API key"
}
{
"message": "insufficient_credits",
"details": "Not enough credits to perform this search"
}
Headcount Codes Reference
| Code | Range |
|---|---|
A | 1-10 employees |
B | 11-50 employees |
C | 51-200 employees |
D | 201-500 employees |
E | 501-1000 employees |
F | 1001-5000 employees |
G | 5001-10000 employees |
H | 10001+ employees |