LinkedIn Company Scraper API
Our LinkedIn company scraper turns any company vanity slug into structured JSON: follower count, employee count, industry, company size, headquarters, external website, full description, specialties, and logo, from a single public /company/ page.
Why LinkedIn Company data is login-walled
The public company page is a heavy render (Microsoft's is around 475KB) that splits its data across an embedded Organization JSON blob and hand-written About-us HTML, so a naive scrape misses half the fields. Follower count only appears in the meta description, and employee count only in an embedded literal, which is why a single selector never gets the full picture.
Call the LinkedIn Company Scraper API in one request
curl "https://api.linkedinscraperapi.com/api/v1/linkedin/company?company=microsoft&api_key=$API_KEY" import requests
BASE = "https://api.linkedinscraperapi.com"
API_KEY = "YOUR_API_KEY"
# Pass the company vanity slug from /company/{slug}/.
data = requests.get(
f"{BASE}/api/v1/linkedin/company",
params={"company": "microsoft", "api_key": API_KEY},
timeout=30,
).json()
print(data["name"], "-", data["industry"])
print(f"{data['followers']:,} followers | {data['employee_count']:,} employees")
print("HQ:", data["headquarters"], "| Site:", data["website"]) Parameters
| Parameter | Required | Default | Notes |
|---|---|---|---|
company | required | - | The company vanity slug from /company/{company}/, e.g. microsoft. A leading @ is stripped automatically. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
The JSON the LinkedIn Company Scraper API returns
{
"id": "microsoft",
"name": "Microsoft",
"url": "https://www.linkedin.com/company/microsoft",
"followers": 28506749,
"employee_count": 233541,
"industry": "Software Development",
"company_size": "10,001+ employees",
"headquarters": "Redmond, Washington",
"website": "https://news.microsoft.com/",
"description": "Every company has a mission. What's ours? To empower every person and every organization to achieve more...",
"founded": null,
"specialties": "Business Software, Developer Tools, Cloud Computing, Quantum Computing, AI, Artificial Intelligence, Machine Learning, Gaming, and IT Professional",
"logo": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_200_200/B56ZYQ0mrGGoAM-/0/1744038948046/microsoft_logo?e=2147483647&v=beta&t=ts9MGrTk7Lz3R1bmAfzCL8euuuuPWPCoXfdiLA2_IzM"
} | Field | Type | Description |
|---|---|---|
id | string | The company vanity slug, the stable identifier from the /company/{slug}/ URL. |
name | string | The company's display name. |
url | string | The canonical /company/ page URL. |
followers | integer | Follower count parsed from the page, e.g. 28506749. |
employee_count | integer | Number of employees on LinkedIn, from the embedded numberOfEmployees value. |
industry | string | The company's industry, e.g. "Software Development". |
company_size | string | The size band from the About section, e.g. "10,001+ employees". |
headquarters | string | The headquarters location, e.g. "Redmond, Washington". |
website | string | The company's external website, the first non-LinkedIn URL in the Organization data. |
description | string | The full company description from the About section. |
founded | string | Founded year when the About section lists it, otherwise null. |
specialties | string | The comma-separated specialties list from the About section. |
logo | string | URL of the company logo image. |
Who pulls LinkedIn data, and for what
Account research for sales
Firmographic enrichment
Competitor tracking
Market and TAM mapping
Company databases
Investment and diligence research
Why teams build on our LinkedIn Company Scraper API
Pass a company vanity slug and we return one clean company object, merging the embedded Organization JSON with the About-us HTML so followers, employee count, industry, size, and headquarters all land in the same response. Every request runs through residential proxies with anti-bot handling and retries, returning validated JSON in about 2.6 seconds.
One slug, one object
JSON and HTML merged
Residential-first routing
External website resolved
Auto-retry across pools
Validated JSON schema
LinkedIn Company Scraper API measured against the alternatives
| Our API | DIY (requests / headless) | Official LinkedIn API | |
|---|---|---|---|
| Input by slug | Yes, company vanity slug | Manual fetch and parse | Organization lookups are partner-gated |
| Follower and employee counts | Both parsed and merged | Live in different page sections | Only via approved Marketing/Pages access |
| Setup | API key only | Residential proxies, headless browser, parsers | Partner Program approval plus OAuth |
| About fields | Industry, size, HQ, specialties | Extra selectors, break on layout change | Limited to authorized fields |
| Anti-bot and proxies | Residential-first, built in | You build and maintain it | Not applicable |
| External website | Resolved from Organization data | You filter LinkedIn links yourself | Sometimes present in Pages data |
| Behavior when walled | Reports the block honestly | Silent partial or empty record | Returns only authorized fields |
Usage-based pricing, no seats
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
A LinkedIn company scraper is a tool that reads a company's public page and returns it in a structured format. Our LinkedIn company scraper API takes a company vanity slug and returns the name, follower count, employee count, industry, company size, headquarters, external website, description, specialties, and logo as JSON from a single request.
Send one GET request to our linkedin/company endpoint with the company slug from /company/{slug}/ and your API key. We route through residential proxies, handle anti-bot checks, and merge the embedded Organization JSON with the About-us HTML, so you get one clean company object back without maintaining selectors against LinkedIn's heavy company render.
Pass the vanity slug that appears in the company URL, for example microsoft from https://www.linkedin.com/company/microsoft/. A leading @ is stripped automatically. The endpoint builds the canonical /company/{slug}/ URL for you.
LinkedIn puts them in different places. The follower count is parsed from the page's meta description ("{Company} | {N} followers on LinkedIn"), and the employee count comes from an embedded numberOfEmployees value in the page data. Our endpoint reads both and returns them as integers, so you do not have to stitch the two sources together yourself.
The founded year only appears when a company fills in that field in its About section. When the page does not render it, we return founded as null rather than guessing. The same honest-null rule applies to any About field a given company leaves blank.
No. You only need a linkedinscraperapi key, passed as the api_key query parameter. There is no LinkedIn login, no cookies, and no Partner Program approval. We read the public logged-out company page. The free tier includes 1,000 requests per month.
Median end-to-end response is about 2.6 seconds, which includes residential proxy routing, anti-bot handling, retries, and parsing. One call returns the complete company object, so there is no second request to assemble it.