LinkedIn Company Search API and MCP — Filter by Size & Industry
This is the discovery step. Give it a search query and optional filters — headcount band, industry, location — and it returns the matching companies as structured data, with name, URL, industry, headquarters, follower count and description.
- You send
- A search query, with optional size, industry and location filters
- You get back
- Matching companies with industry, headquarters and description
- Coverage
- Companies with a public profile, worldwide.
- Price
- 5 points per company — $5 per 1,000 companies
- Charged per company returned, so a search that matches nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Building the list by hand | Search, scroll, copy into a sheet | Free, and days of it | Stale the moment you finish, and impossible to repeat |
| Buying a list | A vendor, a contract, a CSV | Per record, usually with a minimum | Fixed at the moment of purchase, and you cannot re-run it with a tweaked filter |
| NeuralVerge | One request, filters as parameters | $5 per 1,000 companies returned | Broad queries return a lot — cap results with maxItems before you run one |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
total_items | number | How many companies came back. |
first_item | object | The first matched company. |
first_item.name | string | Company name. |
first_item.url | string | The company page URL. |
first_item.industry | string | Primary industry. |
first_item.headquarters | string | Where the company is based. |
first_item.followers | string | Follower count. |
first_item.description | string | Short company description. |
items | array | The matched companies in result order. Entries carry name, url and industry in the example. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "linkedin_company_search",
"companySize": [
"51-200"
],
"industryIds": [
"Software Development"
],
"locations": [
"San Francisco Bay Area"
],
"maxItems": 2,
"scraperMode": "short",
"searchQuery": "AI safety companies",
"startPage": 1,
"human": "# LinkedIn company search\n\n- **Results returned:** 2\n\n### OpenAI\n\n- **Profile URL:** https://www.linkedin.com/company/openai/\n- **Industry:** Research Services\n- **Location:** San Francisco Bay Area\n- **Followers:** 3200000\n- **Summary:** AI research and deployment company.\n\n### Anthropic\n\n- **Profile URL:** https://www.linkedin.com/company/anthropicresearch/\n- **Industry:** Software Development\n- **Location:** San Francisco, California\n- **Followers:** 450000\n- **Summary:** Building reliable, interpretable, and steerable AI systems.",
"machine": {
"total_items": 2,
"first_item": {
"name": "OpenAI",
"url": "https://www.linkedin.com/company/openai/",
"industry": "Research Services",
"headquarters": "San Francisco Bay Area",
"followers": "3200000",
"description": "AI research and deployment company."
},
"items": [
{
"name": "OpenAI",
"url": "https://www.linkedin.com/company/openai/",
"industry": "Research Services"
},
{
"name": "Anthropic",
"url": "https://www.linkedin.com/company/anthropicresearch/",
"industry": "Software Development"
}
]
},
"points_per_company": 5,
"total_points": 10
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Only searchQuery is required; the filters are optional arrays. Set maxItems deliberately — you are charged per company returned, so an uncapped broad query is the expensive way to learn that.
curl -X POST https://api.neuralverge.ai/functions/v1/run-linkedin-company-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"searchQuery": "revenue operations software",
"companySize": ["51-200"],
"locations": ["United States"],
"maxItems": 50
}'What teams use it for
Where this field shows up in an actual workflow.
Turn a written ideal-customer definition into an actual list of companies.
Size a segment before you staff against it.
Re-run the same filters next quarter instead of buying the list again.
Count who is in a category and where they are based.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Companies with a public profile, worldwide.
Searched at request time.
This source returns publicly visible company information, stamped with a session id you can trace.
- —Search returns what matches the filters, which is not the same as everyone in a market.
- —Filter values follow the platform's own vocabulary, so a size band or industry label may not match yours exactly.
- —A broad query with no maxItems can return far more than you intended, and you pay per company.
Questions, answered
Per company returned, at 5 points each, rather than per request. The response carries points_per_company and total_points so you can reconcile a run exactly.
Related sources
Try linkedin company search on your own data
One request format across every source in the catalog.