LinkedIn Company Employees API
Find the people who work somewhere by filtering people search on current company. It is the same mechanism a recruiter uses in the LinkedIn search box, exposed as a paginated JSON endpoint.
Example response
Generated from the live API, so it is exactly the shape your code will parse.
{
"pagination": {
"totalElements": 1987,
"totalPages": 40,
"pageNumber": 1,
"previousElements": 0,
"pageSize": 3,
"totalResultCount": 1987
},
"elements": [
{
"id": "ACoAAA8BYqEBCGLg_vT_ca6mMEqkpp9nVOgr1LM",
"name": "William Gates",
"position": "Co-chair at Bill & Melinda Gates Foundation",
"photo": "https://media.licdn.com/dms/image/v2/sample/williamhgates.jpg",
"location": {
"linkedinText": "Seattle, Washington, United States"
},
"linkedinUrl": "https://www.linkedin.com/in/williamhgates",
"publicIdentifier": "williamhgates"
},
{
"id": "ACoAAAAyIB4BFmMkiYQtEHXvS7hOF71E6dVj3sQ",
"name": "Satya Nadella",
"position": "Chairman and CEO at Microsoft",
"photo": "https://media.licdn.com/dms/image/v2/sample/satyanadella.jpg",
"location": {
"linkedinText": "Redmond, Washington, United States"
},
"linkedinUrl": "https://www.linkedin.com/in/satyanadella",
"publicIdentifier": "satyanadella"
},
{
"id": "ACoAABw3l1kBqR4z9m2QkTvHb6xY0pLdRc8NfAe",
"name": "Ada Okonkwo",
"position": "Head of Data Engineering at Northwind Analytics",
"photo": "https://media.licdn.com/dms/image/v2/sample/ada-okonkwo.jpg",
"location": {
"linkedinText": "London, England, United Kingdom"
},
"linkedinUrl": "https://www.linkedin.com/in/ada-okonkwo",
"publicIdentifier": "ada-okonkwo"
}
],
"query": {
"search": "data engineer"
},
"status": "ok"
}
How employee lookup actually works
Being straight about this: there is no single "give me every employee of company X" endpoint, here or anywhere honest. What exists is people search with a currentCompany filter, and that is what this page documents. You pass a company URL or company ID, optionally narrow by title, seniority, school or location, and page through the results.
That distinction matters when you are sizing a project. You are paging a search index, not dumping a table. Results are ordered by relevance rather than exhaustively, and very large companies return more matches than any search interface will page through — the practical ceiling is a few hundred to a couple of thousand per query, not the full headcount.
Getting broader coverage with query splitting
The way past the paging ceiling is to split one broad query into several narrow ones that do not overlap. Instead of "everyone at Acme", run "everyone at Acme with engineer in the title", then sales, then marketing, then by location, then by school. Each query has its own result window, so ten narrow queries surface far more distinct people than one broad query paged to exhaustion.
Deduplicate on the profile ID as you go, not on name — common names collide constantly, and the ID is stable across queries.
Cost model for list building
Search is priced per page, at $0.0040 a page on Starter and $0.0018 on Scale. A page carries multiple people, so a list of a thousand employees costs cents, not dollars — and it costs the same whether the page comes back full or half empty.
Each search result carries identity fields: name, public identifier, headline, position, location and photo. That is often enough on its own. If you need full work history for a shortlist, resolve just those people through the Profile API afterwards rather than enriching everyone up front. Search first, enrich second, is usually an order of magnitude cheaper.
Ordering and what it means
Results come back relevance-ranked, not alphabetically and not by seniority. Relevance here is opaque and shifts as the index updates, so the first page is not "the most important people" and should not be treated as a leadership list.
If you want decision-makers, filter for them explicitly with title rather than hoping they surface first. If you want a representative sample of a function, several narrow queries give you a better one than the first three pages of a broad query.
One consequence worth planning for: because ranking shifts, the same query run a week apart will not return the same people in the same order. Deduplicate on profile ID across runs and treat your accumulated set — not any single run — as the result.
What it costs
Prices are per request, charged from a prepaid balance. Bigger top-ups lower every row — Scale takes 55% off.
| Request | Starter | Pro (42% off) | Scale (55% off) |
|---|---|---|---|
| Profile search page | $0.0400 | $0.0232 | $0.0180 |
Failed requests are never charged. See full pricing.
Frequently asked questions
Can I get every single employee of a company?
No, and any provider claiming otherwise is overselling. Employee lookup runs through people search, which returns a relevance-ranked, paged result set. Splitting one broad query into several narrow ones by title, location or school gives much fuller coverage.
How do I filter employees by job title?
Pass the title parameter alongside currentCompany. You can combine it with location or geoId and with seniority-style keywords to narrow further.
Should I use a company URL or a company ID?
Either works for currentCompany. The company ID is more stable, since a company can change its vanity URL at any time.
Does this return work email addresses?
No. Search results contain public profile fields only. We do not offer email enrichment on any endpoint.