LinkedIn Company Scraper
Pricing
from $2.99 / 1,000 results
LinkedIn Company Scraper
LinkedIn Company Scraper — Extract LinkedIn company data including names, descriptions, industries, employee counts, locations, websites, follower counts, specialties, founded years, and company URLs. Useful for lead generation, market research, and competitor analysis.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Social Data API
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
LinkedIn Company Scraper — Profile, Posts, Employees and Similar Pages
LinkedIn Company Scraper reads public LinkedIn company pages and returns one row per company: name, industry, company size, employee count, headquarters address, website, specialties, up to 10 recent posts, the public employee preview and similar companies. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a CRM enrichment pipeline. No LinkedIn account or cookies needed. Start with one company URL, then paste your whole account list and enrich every record in one run.
What data can I extract with LinkedIn Company Scraper?
Using this LinkedIn Company API, you will be able to extract the following LinkedIn company data:
| 🏢 Company name | 🏭 Industry | 📏 Company size band | 👥 Employee count |
|---|---|---|---|
| 📝 About text | 💬 Tagline | 📅 Founding year (if shown) | 🏷️ Organization type |
| 🏙️ Headquarters | 📍 City, region and country | 🏠 Headquarters street address | 🌐 Website |
| 🖼️ Logo URL | ⭐ Specialties | 📣 Recent posts (up to 10) with link, date and text | 👤 Public employee preview (up to 10) with name, job title, photo and profile link |
| 🤝 Similar pages with name, link and logo | 🔗 Source URL | ✅ Success flag | ⚠️ Failure reason |
How to use LinkedIn Company Scraper
Sales teams, researchers and AI builders use this LinkedIn company profile scraper to turn a list of company URLs into one clean row per company in a single run.
Copy to your AI assistant:
LinkedIn Company Scraper is an Apify Actor that returns public LinkedIn company pages as structured JSON, one row per company URL: company name, About text, industry, company size band, employee count, founding year, headquarters with street address, website, logo, specialties, up to 10 recent posts (link, publish time, text), the public employee preview (up to 10 people with name, job title, photo and profile link) and similar pages (name, link, logo). Use it whenever someone needs LinkedIn company data without cookies, a login, or a browser - enriching CRM accounts with industry and headcount, watching what competitors post, or giving an AI agent a company's description and specialties as context. Inputs: urls (array of strings, required, one LinkedIn company page per entry such as https://www.linkedin.com/company/netflix/; showcase pages work; sub-pages like /about/ or /posts/ are read from the main company page; personal profile links get a failure row without a request), concurrency (integer, URLs fetched at the same time, 1-20, default 3), maxRetries (integer, attempts per URL, 1-10, default 3; pages that do not exist or are members-only are not retried), requestTimeoutSec (integer, seconds to wait for LinkedIn, 5-120, default 30), proxy (object, optional Apify Proxy settings; with them the run starts on your proxy and switches to a residential proxy once LinkedIn blocks a request; without them, runs on the Apify platform use a residential proxy from the start; every attempt gets a new IP). Every URL gives one row. A company row has success true and is charged as one row_result event; a failure row (page not found, members-only page, not a company URL, blocked after every attempt) has success false, empty company fields and the reason in the error field, and is not charged. Employee count and founding year are null when the page does not show them. The employee preview is only the few people LinkedIn shows to logged-out visitors, often 1 to 4, not the full staff list.
LinkedIn Company Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor
Point your AI assistant at the Apify MCP server and it can read LinkedIn company pages on its own: it finds this Actor with the server's search-actors tool, adds it with add-actor and runs it with call-actor, then reads the company profiles, posts and similar pages from the result. No glue code, no scraping logic in your prompts.
$claude mcp add --transport http apify "https://mcp.apify.com"
Step by step
- Create a free Apify account.
- Open LinkedIn Company Scraper in the Apify Store.
- Paste the LinkedIn company URL (for example
https://www.linkedin.com/company/netflix/), one per line. - Click Start (or send your API request).
- Download or stream your results in JSON, CSV or Excel.
How to scale LinkedIn Company Scraper to bulk
For a bulk LinkedIn company scraper job, paste the whole list into the company URL field; one run takes as many URLs as you add, and each row is saved the moment its URL finishes. Raise the concurrency (up to 20) to read more pages at once, keeping in mind that higher values make blocks more likely. For weekly tracking, attach an Apify schedule to the same input, or send batches of URLs through the Apify API. Billing has one event: each saved company row is one row_result event; failure rows are free.
✨ Features
LinkedIn Company Scraper fetches clean, structured companies from LinkedIn ⚡. It's ideal for CRM and LinkedIn company enrichment, competitor monitoring, market mapping and grounding AI agents in real company facts, and it doubles as a LinkedIn company posts scraper.
It extracts, per company:
- Firmographics – industry, company size band, employee count, founding year and organization type
- Location – headquarters, street address, city, region and country
- About text and tagline – how the company describes itself
- Specialties – the keywords the company lists for itself
- Recent posts – up to 10 posts with link, publish time and text, read from the same page
- Similar pages – related companies with name, link and logo, for building a competitor set
⚡ No login is used: it reads only what a logged-out visitor sees, and a URL that cannot return a company is saved with its reason and not charged.
Use cases 💡
- RevOps manager — fill industry, size band and employee count into CRM accounts.
- Competitive analyst — track competitors' recent posts and taglines on a weekly schedule.
- Market researcher — map a sector by following similar pages from one seed company.
- Sales rep — see the public employee preview before reaching out to an account.
- AI agent builder — feed About text, specialties and posts into a RAG index as company context.
Building an AI agent? Connect LinkedIn Company Scraper over MCP and let it call the actor on its own.
Why choose this actor?
- Seven URLs in under four seconds. A recorded run took 7 company URLs and saved 7 rows in 3.7 seconds: 5 company profiles, plus one page that does not exist and one members-only link, each saved with its reason.
- The whole company in one row. A recorded row for Netflix came back with 19,040 employees, the 10,001+ size band, founding year 1997, 9 recent posts and 10 similar pages, each with its logo.
- 20 fields per company. Firmographics, location, About text, specialties, recent posts, the public employee preview, similar pages and a success flag with a failure reason.
⬇️ Input
The Actor accepts a list of LinkedIn company page URLs, one per line; the company URL list is the only required field. Accepted URL formats:
https://www.linkedin.com/company/<name>/(with or without the trailing slash, or withouthttps://)https://www.linkedin.com/showcase/<name>/- company sub-pages such as
/company/<name>/about/or/posts/(read from the main company page)
| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
urls | Yes | array of strings | Public LinkedIn company pages, one per entry. One row per URL. Personal profile links (/in/) get a failure row without a request; empty lines are ignored. Prefilled with the Netflix company page. | ["https://www.linkedin.com/company/netflix/"] |
concurrency | No | integer | Company URLs fetched at the same time, 1–20, default 3. | 3 |
maxRetries | No | integer | Attempts per URL with a growing pause between them, 1–10, default 3. Pages that do not exist (HTTP 404) or are members-only are not retried. | 3 |
requestTimeoutSec | No | integer | Seconds to wait for LinkedIn before an attempt counts as failed, 5–120, default 30. | 30 |
proxy | No | object | Optional Apify Proxy settings. With them, the run starts on your proxy and switches to a residential proxy for the remaining URLs once LinkedIn blocks a request. Without them, runs on the Apify platform use a residential proxy from the start (local runs start on a direct connection). Every attempt gets a new IP. No default. | {"useApifyProxy": false} |
Example input
{"urls": ["https://www.linkedin.com/company/netflix/","https://www.linkedin.com/company/spotify/","https://www.linkedin.com/company/this-slug-does-not-exist-zz9q/"],"concurrency": 3,"maxRetries": 3,"requestTimeoutSec": 30,"proxy": {"useApifyProxy": false}}
⬆️ Output
Every company URL is one typed, normalized JSON item with the same 20 keys on every run, and you can export the dataset as JSON (default), CSV or Excel, or keep the LinkedIn company data to JSON for your own pipeline. A URL that cannot return a company is saved as a failure row with success set to false, empty company fields and the reason in the error field; failure rows are not charged.
Example output
[{"inputUrl": "https://www.linkedin.com/company/netflix/","success": true,"name": "Netflix","description": "Netflix is one of the world’s leading entertainment services offering TV series, films, games and live programming across a wide variety of genres and languages. Members can play, pause and resume watching as much as they want, anytime, anywhere, and can change their plans at any time. \n","location": {"city": "Los Gatos","state": "CA","country": "US"},"headquartersStreetAddress": "100 Winchester Circle","employeeCount": 19040,"website": "https://jobs.netflix.com?utm_campaign=LIHomePage&utm_source=linkedin","logo": "https://media.licdn.com/dms/image/v2/D4E0BAQGMva5_E8pUjw/company-logo_200_200/company-logo_200_200/0/1736276678240/netflix_logo?e=2147483647&v=beta&t=-84GbYZIgL-lNtKMkXAk-OE1L6VJVMfBSLJRG8FLkVY","slogan": "Play, pause, and resume watching anytime and anywhere. ","industry": "Entertainment Providers","size": "10,001+ employees","founded": 1997,"headquarters": "Los Gatos, CA","type": "Public Company","specialties": ["Revolutionizing the way people watch TV shows and movies!"],"similarPages": [{"link": "https://se.linkedin.com/company/spotify?trk=similar-pages","name": "Spotify","image": "https://media.licdn.com/dms/image/v2/C560BAQFkDzx_7dqq3A/company-logo_100_100/company-logo_100_100/0/1631377935713?e=2147483647&v=beta&t=AiRi3YW2R5kYKHbxsjkdQ_d1RuH6Yk98ePBwANPPDhc"},{"link": "https://www.linkedin.com/company/google?trk=similar-pages","name": "Google","image": "https://media.licdn.com/dms/image/v2/D4E0BAQGv3cqOuUMY7g/company-logo_100_100/B4EZmhegXHGcAU-/0/1759350753990/google_logo?e=2147483647&v=beta&t=zYekdwB_mnXarr4wa4kw8w3Jikm8YaakM5aiDyAyvP0"}],"employees": [{"link": "https://www.linkedin.com/in/aaronhipple?trk=org-employees","name": "Aaron Hipple","image": "https://media.licdn.com/dms/image/v2/C4E03AQH_rhYlmsE33Q/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1516155809223?e=2147483647&v=beta&t=AOI83o_TV-HDY0dY3mTP9cgUFihsic0NL5HdYEE3VOw"}],"posts": [{"url": "https://www.linkedin.com/posts/netflix_at-our-first-uk-upfront-we-showcased-the-activity-7511123599173500928-_Yym","datePublished": "2026-09-30T18:03:35.970Z","text": "At our first UK Upfront, we showcased the art and science of Netflix: the blend of iconic titles, audience insights, data, and technology to show how getting closer to fandom delivers real business impact.\n\nFrom special guests, to an underground sports club and even an immersive Bridgerton garden, we proved Netflix transforms attention into action for brands."},{"url": "https://www.linkedin.com/posts/netflix_elizabeth-stone-our-chief-product-and-technology-activity-7508957203513483264-hsUj","datePublished": "2026-09-24T18:35:06.994Z","text": "Elizabeth Stone, our Chief Product and Technology Officer, just landed on TIME's inaugural Executives of the Year: Tech and Data list, joining 50 leaders shaping how businesses adopt technology. \n\nUnder her leadership, Netflix has redesigned TV and mobile, scaled live programming past 200 events a year, and pushed AI as a creator's tool, not a replacement for storytelling. \n\nCongratulations, Elizabeth."}],"error": ""},{"inputUrl": "https://www.linkedin.com/company/this-slug-does-not-exist-zz9q/","success": false,"name": "","description": "","location": {"city": "","state": "","country": ""},"headquartersStreetAddress": "","employeeCount": null,"website": "","logo": "","slogan": "","industry": "","size": "","founded": null,"headquarters": "","type": "","specialties": [],"similarPages": [],"employees": [],"posts": [],"error": "HTTP 404"}]
How does it work?
You don't need a LinkedIn account. For each URL, the Actor loads the public company page that any logged-out visitor sees, with plain HTTP requests and no browser, and reads the company profile, recent posts, employee preview and similar pages from that one page. Failed requests are retried with a growing pause; a page that does not exist or is members-only is reported right away.
On the Apify platform it uses a residential proxy from the start, unless you set your own proxy; with your own proxy, a block switches the run to a residential proxy for every remaining URL. Every attempt uses a new IP, and a proxy exit that does not connect within about 10 seconds is dropped. It returns only publicly visible data and does not solve CAPTCHAs. Every row follows one fixed schema of 20 keys.
How do you integrate LinkedIn Company Scraper into your stack?
It works with what you already use: the Apify REST API from any language, the Apify MCP server for AI agents, and no-code tools.
MCP integration for AI agents
$claude mcp add --transport http apify "https://mcp.apify.com"
This connects your agent to the Apify MCP server, which registers this Actor as a tool your agent can call directly: the agent finds it with the server's search-actors tool, adds it with add-actor and runs it with call-actor. Sign in with your Apify account when asked. The command is for Claude Code; Cursor and Windsurf connect to the same URL in their MCP settings.
No-code tools (n8n, Make, LangChain)
n8n: add the Apify node, choose Run an Actor and pick this Actor with your list of company URLs. Its dataset items flow into the next node, such as HubSpot or Google Sheets.
Make: add the Apify app's Run an Actor module with this Actor and your input, then Get Dataset Items to pass the companies on. Map the company name, industry and employee count into any later module.
LangChain: install langchain-apify and load a finished run's dataset with ApifyDatasetLoader. Map the About text and specialties to the document content and the company name and website to metadata.
Is it legal to scrape LinkedIn data?
Scraping publicly available LinkedIn data is generally legal. LinkedIn Company Scraper returns only publicly available data: the company page any visitor sees without logging in. Company facts are business data, but the employee preview holds names, job titles and photos of individual people, which are personal data under the GDPR; scraping public data is generally permissible, but storing and using it must comply with local data-protection law. This is not legal advice. Consult legal counsel if your use case involves bulk storage of personal data.
Frequently asked questions
What fields does LinkedIn Company Scraper return?
The top five are the company name, industry, employee count, headquarters and recent posts. See the data fields section for the full list of 20.
Does LinkedIn Company Scraper require a LinkedIn account or login?
No. Only public company data is extracted, and the input has no login, cookie or API-key field. No credentials needed.
How fast does LinkedIn Company Scraper run?
A recorded run took 7 company URLs and saved 7 rows in 3.7 seconds with 3 URLs at a time on a direct connection; each page took about 1 to 2 seconds. Data is fetched live on every run, not cached.
What happens if a company page is private or doesn't exist?
You still get a row: success is false, the company fields are empty and the error field says why, for example "HTTP 404" for a page that does not exist or a login-required message for a members-only link such as a numeric company ID. These rows are not charged. In your code, keep rows where success is true and log the rest by their source URL.
Can I scrape multiple LinkedIn companies at once?
Yes. Put as many company URLs as you need in one list; up to 20 are read at the same time, depending on the concurrency you set.
Does LinkedIn Company Scraper work with Claude, ChatGPT, and other AI agent tools?
Yes — this Actor is available as an MCP tool through the Apify MCP server. Register the server in Claude Code with the command below (Cursor and Windsurf use the same URL), and the agent can search for this Actor, add it and call it.
$claude mcp add --transport http apify "https://mcp.apify.com"
Any agent that can call an HTTP endpoint can also use the Apify REST API directly.
Does LinkedIn Company Scraper return data in a format LLMs can use directly?
Yes. Every row is typed, normalized JSON with consistent field names, and posts, employees and similar pages stay nested under their company. No HTML parsing, no selectors: pass it straight to an LLM, index it into a vector store, or feed it to an agent tool with no transformation step.
What happens when LinkedIn changes its layout or updates its anti-bot system?
The Actor is maintained, and when LinkedIn changes its pages it is updated so the same fields stay filled; for example, recent posts were adapted to LinkedIn's 2026 page change. Your calls keep returning the same JSON schema with no changes on your end. Blocked requests switch to a residential proxy on their own.
Can I use LinkedIn Company Scraper without managing proxies or browser infrastructure?
Yes. On the Apify platform the Actor uses a residential proxy with a new IP for every attempt, and retries run on the Actor's side; no browser is needed because it works over plain HTTP. You send one request and get structured JSON back; it does not solve CAPTCHAs.
Which LinkedIn company fields work best for AI training data and RAG indexing?
For RAG: the About text, tagline, specialties and recent post texts, with the company name and website as metadata. For training data: the employee count, founding year, company size band, industry and organization type. All fields are typed values (strings, integers, booleans and lists), with null only where LinkedIn shows nothing; no normalization needed. The same rows work as a LinkedIn firmographics scraper feed, and similar pages make it a LinkedIn similar companies scraper for market maps, while the public employee preview shows which LinkedIn company employees are visible logged out.
Your feedback
Found a bug or missing a field? Let us know. Include the input you used and the run's log so the problem can be reproduced, and every report is read and fixed in the next update.