LinkedIn Company Scraper - No Cookies, Bulk Enrichment avatar

LinkedIn Company Scraper - No Cookies, Bulk Enrichment

Pricing

Pay per usage

Go to Apify Store
LinkedIn Company Scraper - No Cookies, Bulk Enrichment

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

Andrew Babo

Maintained by Community

Actor stats

0

Bookmarked

716

Total users

4

Monthly active users

10 days ago

Last modified

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 actorharvestapi/linkedin-company
Time6.5 s8.6 s
Cost per 1,000 companies$0.29$4.01
Employee count, website100%100% (identical values)
Follower count100%100% (within rounding)
headquarter100%not returned
Blocked requests00

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

FieldNotes
name, universalName, linkedinUrl, logoCompany identity
tagline, descriptionShort and long about text
website, phoneReal corporate site (not a LinkedIn redirect)
industries, specialities, companyTypeClassification
employeeCount, employeeCountRange, followerCountSize and reach
foundedOnFounding year
headquarter, locationsStreet, city, region, postal code, country
fundingData, similarOrganizations, jobSearchUrlWhen available
source, scrapedAtWhere 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.

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 URLs
or 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 your
workflow.
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, never
guess 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.