LinkedIn Company Scraper - No Cookies, Bulk Enrichment
Pricing
Pay per usage
LinkedIn Company Scraper - No Cookies, Bulk Enrichment
Enrich LinkedIn company pages in bulk without a login: name, website, phone, employee count, followers, founded year, HQ and all locations, specialties, industries, company type and funding data. HTTP-first engine with a 30-day cache. Export CSV, Excel, JSON.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Andrew Babo
Maintained by CommunityActor stats
0
Bookmarked
716
Total users
4
Monthly active users
10 days ago
Last modified
Categories
Share
LinkedIn Company Scraper — No Cookies, Bulk Enrichment
Enrich a list of LinkedIn company pages into clean, structured company records. No login, no account, no li_at cookie. Plain HTTP against LinkedIn's public company pages — no browser — so it is fast and cheap per company.
Measured head-to-head (real runs, not estimates)
Same 5 company pages, same day, sequential runs, cold cache on our side:
| This actor | harvestapi/linkedin-company | |
|---|---|---|
| Time | 6.5 s | 8.6 s |
| Cost per 1,000 companies | $0.29 | $4.01 |
| Employee count, website | 100% | 100% (identical values) |
| Follower count | 100% | 100% (within rounding) |
headquarter | 100% | not returned |
| Blocked requests | 0 | 0 |
Roughly 14x cheaper for the same data, and about 2 HTTP requests per company. Repeat runs hit the 30-day cache and cost close to nothing.
Input
Give it URLs, slugs, or plain company names:
{"companies": ["https://www.linkedin.com/company/apify/","openai"],"searches": ["Grab Singapore"],"maxItems": 1000,"speedMode": "turbo"}
Names in searches are resolved to a LinkedIn company page before scraping.
What you get
| Field | Notes |
|---|---|
name, universalName, linkedinUrl, logo | Company identity |
tagline, description | Short and long about text |
website, phone | Real corporate site (not a LinkedIn redirect) |
industries, specialities, companyType | Classification |
employeeCount, employeeCountRange, followerCount | Size and reach |
foundedOn | Founding year |
headquarter, locations | Street, city, region, postal code, country |
fundingData, similarOrganizations, jobSearchUrl | When available |
source, scrapedAt | Where each record came from and when |
Built-in 30-day cache
Company profiles barely change. Every scraped company is cached for 30 days (configurable) in the actor's key-value store, so re-running the same list is nearly free — you only pay for companies you have not seen recently.
Honest limits without a cookie
Public company pages do not expose employee lists, contact emails, or LinkedIn's internal analytics. This actor returns only what LinkedIn shows to a logged-out visitor. liAtCookie is optional and not required.
Proxy
Use Apify residential proxies. LinkedIn rate-limits per IP; the actor paces each session, warms up cookies, and rotates any IP that returns a 999.
Output
CSV, Excel, JSON, JSONL or API. Run statistics — companies scraped, cache hits, blocked requests, per-field coverage — are stored in the key-value store under STATS.
Batch input and reported failures (new)
companies accepts a batch of URLs (25–200 per run is normal). Any input that produced no
company row is reported instead of silently dropped: see NOT_FOUND in the key-value store
and the notFound array inside STATS, each entry with its reason
(notALinkedInCompanyUrl, noCompanyPageFound, pageUnavailableOrBlocked, runTimeLimitReached).
includeRunSummary is now off by default, so the dataset holds company rows only.
STATS also reports estimatedCostUsd and costPer1000Usd for budget tracking.
Field shapes match harvestapi so you can swap actors without changing code:
foundedOn is { year, month, day } and employeeCountRange is { start, end }
(employeeCountRangeText keeps the printed form, e.g. "201-500").
Phone: LinkedIn does not print a phone number on logged-out company pages at all — we
verified this across sample pages, including the /about tab. Providers that return one are
reading it through a logged-in session. With liAtCookie set, this actor picks it up too.
For AI agents (MCP-ready)
This actor is built to be called by AI agents. It works out of the box with the Apify MCP Server — add it to Claude Desktop, Cursor or any MCP client: the agent can enrich known companies on its own.
{"mcpServers": {"linkedin-company": {"url": "https://mcp.apify.com/?actors=andrew_babo/linkedin-company","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Agent skill (paste into your agent's instructions)
Use the "linkedin-company" tool when you ALREADY have LinkedIn company URLsor slugs and need their public profile data: description, industry, size,headquarters, website, followers, specialties. No cookies or login needed.To discover companies by keyword, use "linkedin-company-search" instead.HOW TO CALL- { "companies": ["https://www.linkedin.com/company/apify/", "stripe"] }- Batch many companies in one run; the actor caches results("cacheTtlDays", default 30) so repeated lookups are nearly free.- Set "failOnZeroResults": false if an empty result should not fail yourworkflow.OUTPUT CONTRACT- One row per company with the public fields above plus the source URL.- A missing field means LinkedIn did not publish it — leave it empty, neverguess the size, industry or website.- noResults / errorCode rows explain why nothing was returned (invalid URL,blocked, private page); report that instead of inventing a company.