Somewhere in your CRM right now there's an account record that says "software company, probably mid-size?" while the company's LinkedIn page states its industry, headcount band, headquarters, and specialties in plain text. That gap annoyed me enough to build the LinkedIn Company API on Apify: hand it a list of public company page URLs and it returns one clean JSON row of firmographics per company.
Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.
Can you get LinkedIn company data through an official API?
For most developers, no. LinkedIn's official company endpoints sit behind partner programs with an approval process aimed at established platforms, not at a developer who needs firmographics for 300 accounts this week. The public company pages, though, are exactly that: public. This Actor reads them without a login and packages the result like an API, which is what "linkedin company api" searches are really looking for.
What the LinkedIn Company API returns
The LinkedIn Company API returns one structured record per company page: name, industry, size, headquarters, follower count, specialties, locations, and the Crunchbase link when the page shows one.
| Field | Example | Notes |
|---|---|---|
| Name | Microsoft |
Company display name |
| Industry | Software Development |
LinkedIn's industry label |
| Size | 10,001+ employees |
Headcount band |
| Headquarters | Redmond, Washington |
Primary location |
| Followers | 22,000,000+ |
Reach and brand-weight signal |
| Specialties | cloud computing, AI, ... |
Self-declared focus areas |
The input is deliberately minimal: a companyUrls array, up to 1,000 pages per run, one batch in, one dataset out.
Who this is for
Account enrichment is the anchor use case: RevOps and sales teams stamping every CRM account with current size, industry, and location. Market researchers and investors use the same rows to map a sector, and agent builders wire it in so an AI can answer "what do we know about this company?" from live data rather than stale memory.
The manual way, and where it breaks
Everyone's first attempt is a requests call to a company page, and everyone's first result is an auth wall. LinkedIn is famously defensive: unauthenticated traffic gets challenged fast, markup shifts regularly, and the interesting fields sit in embedded structures that move around. The second attempt is usually copy-paste into a spreadsheet, which works and costs you an afternoon per hundred companies. I built this Actor after one too many of those afternoons.
The faster way: run the LinkedIn Company API
Apify Console
- Open the LinkedIn Company API and click Try for free.
- Paste your company page URLs into
companyUrls. - Run it and export the rows as JSON or CSV.
REST
curl -X POST "https://api.apify.com/v2/acts/johnvc~linkedin-company-api/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "companyUrls": ["https://www.linkedin.com/company/microsoft"] }'
Run and dataset mechanics are documented in the Apify API docs.
Enrich a company list in Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("johnvc/linkedin-company-api").call(
run_input={
"companyUrls": [
"https://www.linkedin.com/company/microsoft",
"https://www.linkedin.com/company/apify",
]
}
)
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
print(company.get("name"), company.get("industry"), company.get("size"))
A runnable version ships as the task LinkedIn company data API for Python.
Process a thousand companies in one batch
Bulk collect LinkedIn companies from a URL list is the volume pattern: paste the full account list, get the full firmographic sheet back.
Refresh your CRM's account data
Enrich accounts with LinkedIn company data frames the same run as an account enrichment job, the step that turns "probably mid-size?" into a filterable field.
Pull firmographics for market maps
Extract company firmographics from LinkedIn is the researcher's angle, and Scrape LinkedIn company data to structured JSON shows the exact output shape before you commit a single cent.
Automate it in n8n
Scrape LinkedIn companies in an n8n workflow drops the Actor into a no-code pipeline: new account created in the CRM, company URL in, firmographics written back automatically.
Company lookups from Claude via MCP
Connected through Apify's MCP server, the Actor is a tool that Claude, Claude Code, and Cursor can invoke, so "pull the LinkedIn firmographics for these five prospects" happens inside the conversation. The task Get LinkedIn company data in Claude via MCP covers setup, and there's more about Claude at claude.ai.
FAQ about the LinkedIn company scraper
What exactly does the company scraper collect?
Only what a logged-out visitor can see on a public company page: name, industry, size band, headquarters, followers, specialties, locations. No employee lists, no personal profiles, no login-gated content.
How much does the company scraper cost?
Half a cent per company returned. The full 1,000-URL batch runs about $5, and a new Apify account's free credit covers a few hundred companies before you pay anything.
Does the scraper work as an MCP tool for AI agents?
Yes. Over MCP it's callable from Claude, Claude Code, and Cursor, returning the same rows as a console run, which makes it a tidy building block for account-research agents.
Can I schedule the scraper to keep firmographics fresh?
Yes. Save your account list as a task, attach a monthly Apify schedule, and diff the runs; headcount-band changes and follower jumps are useful buying signals on their own. Start from the LinkedIn Company API.
Where does a company-page scraper hit its limits?
It knows only what the page declares. Employee size arrives as LinkedIn's band, not an exact number; revenue isn't published at all; and a stale page stays stale in your data. Treat it as the fastest first layer of enrichment, not the only one.
More from Truffle Pig Data
The rest of the LinkedIn set: the LinkedIn Jobs API for hiring signals on the same accounts, the LinkedIn Profile API for public people data, and the LinkedIn Posts API for what companies are publishing.
Wrapping up
Firmographics shouldn't be a research task; they should be a column. Run your account list through the LinkedIn Company API and close the gap between your CRM and reality.
Top comments (0)