LinkedIn Company Scraper — Public Company Data
Pricing
from $0.85 / 1,000 delivered companies
LinkedIn Company Scraper — Public Company Data
Enter public LinkedIn company URLs or slugs. Get websites, industry, company size, followers, headquarters, and other available profile fields. No login or cookies. $1 per 1,000 delivered companies.
Pricing
from $0.85 / 1,000 delivered companies
Rating
0.0
(0)
Developer
Meka.im
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
Features
Share
Extract public LinkedIn company profiles from company URLs or slugs. Get websites, industry, size, headquarters, and follower counts when available. No LinkedIn login or cookies; pay $1 per 1,000 delivered companies.
Tool preview: Explore LinkedIn Company for recorded examples and the current preview status. Browse the tools directory for other sources.
- Website, industry, company type and size
- Employee and follower counts when publicly exposed
- Headquarters display text
- Specialties, logo, description and founding year when available
- Public locations with their page-visible address text, plus employee range, industries, cover image, jobs URL and similar organizations when publicly available
- Stable input order, duplicate suppression and safe retries
- Failed, invalid and unresolved inputs are skipped and are not charged as Dataset results
Two independent cold URL validation batches processed 100 confirmed public company pages in about 56–57 seconds. This is an observed result, not an SLA.
Quick start: scrape a public LinkedIn company page
To try a ready-made input, open the LinkedIn company example and replace the company with your own.
{"companyUrls": ["https://www.linkedin.com/company/openai/"],"maxCompanies": 1}
companyUrls accepts LinkedIn company URLs, slugs, and common /about or /jobs paths. URL inputs are the reliable bulk workflow; duplicate canonical URLs are processed once.
The current Actor uses the v3 company data contract. It keeps a company's multiple public locations and returns each location as text, including the line breaks shown for its address. The Actor does not split or enrich that text, and does not infer postal codes. There is no additional-fields switch.
API v1 and v2 remain available as frozen versions. They keep their previously published fields, including the five top-level split address fields (street, city, state, country, and postalCode) and the older structured locations objects.
LinkedIn company scraper input
maxCompanieslimits the number of unique input companies processed. Invalid or unresolved inputs may reduce delivered records.maxConcurrencycontrols bounded batch and name-resolution concurrency; it is an advanced option and does not guarantee linear speedup.companyNamesis optional best-effort exact-name resolution. For reliable bulk processing, use company URLs or slugs; ambiguous or unresolved names are skipped.- Empty input completes with zero Dataset items. An exact-name lookup with no match is a successful, uncharged skip.
- Valid company and Showcase pages are supported. Explicit not-found responses are expected skips; transport, search, malformed-page, and other upstream failures remain technical failures instead of being reported as successful no-match.
The OUTPUT summary keeps the original requested, resolved, delivered, and skipped fields and adds status, completed, partial, expectedNotFound, and technicalFailures. A mixed run can deliver valid companies with status: "partial" while leaving STATE.nextBatch on the failed batch for a retry. A run with only technical failures writes OUTPUT and then fails.
Output: LinkedIn company profile example
This shortened historical excerpt shows base fields from a successful public-company run on September 25, 2026. It records the earlier base-field output and is not presented as a new v3 run:
{"name": "Stripe","linkedinUrl": "https://www.linkedin.com/company/stripe","website": "https://stripe.com","industry": "Technology, Information and Internet","companySize": "5,001-10,000 employees","employeeCount": 16592,"followerCount": 1729093,"headquarters": "South San Francisco, California","scrapedAt": "2026-09-25T14:13:46.723Z"}
Other fields are omitted from this shortened example. Actual fields depend on what LinkedIn publishes, and values such as follower counts can change between requests.
Additional public company fields
The current Actor uses data contract v3 and requests these nine top-level fields by default for URL inputs and for the company-page step of name resolution. They are returned on a best-effort basis when LinkedIn exposes a value; fields without a value are omitted.
| Field | Type | Description |
|---|---|---|
companyId | string | LinkedIn organization ID; the legacy company ID takes precedence over the extended value |
universalName | string | LinkedIn company slug; the legacy slug takes precedence |
tagline | string | Company tagline; the legacy slogan takes precedence |
employeeCountRange | object | Available numeric start and end bounds |
locations | array | Public locations, each represented by { "address": string }; multiple locations are kept separately, address line breaks are retained, and no split address fields are inferred |
industries | string array | Non-empty public industry labels |
backgroundCoverUrl | string | Public profile background cover URL |
jobSearchUrl | string | Public LinkedIn jobs search URL for the company |
similarOrganizations | array | Related public company references with a limited field set |
Null, undefined, empty strings, empty arrays and empty objects are omitted rather than published. A source company without the bounded locations section omits locations entirely; the Actor does not rebuild it from the legacy split address fields.
Supported public LinkedIn company data
The URL workflow is compatible with common public LinkedIn company scraper inputs. This actor focuses on public firmographic data and does not claim compatibility with private or login-only company fields. Name resolution is intentionally conservative and only accepts an exact public suggestion match.
This is an independent tool and is not affiliated with or endorsed by LinkedIn.
Pricing
The base charge event is $0.001 per successfully written company Dataset item ($1 per 1,000). Apify Store currently shows from $0.85 per 1,000 because the Gold subscription discount is 15%; the Free tier pays the $1 base rate. Platform usage is included. Invalid, duplicate, unresolved, and failed inputs do not create successful Dataset items and are not charged as results.
LinkedIn company data coverage and limits
This Actor reads public company and Showcase pages. Fields hidden behind a LinkedIn login are unavailable, and publicly visible counts can change between runs. Company-name resolution is best effort; provide a URL or slug when you need a reliable bulk workflow.
These additional fields are best effort because anonymous company page markup and public coverage can vary. The current v3 request path does not output phone numbers, funding data, peopleStats, affiliated pages, or multi-size logo and background-cover arrays.
For a company with multiple public locations, the addresses stay in locations. The Actor does not choose one office for top-level street, city, state, country, or postalCode fields, and each location contains only address.
API and automation
Run the Actor from Apify Console or through the Apify API, schedules, and webhooks. Pass the same JSON input shown in Quick start and export the Dataset as JSON, CSV, or Excel. The run's OUTPUT record summarizes delivered and skipped companies.
FAQ
Can I search by company name?
The optional companyNames input uses best-effort exact-name resolution. For reliable bulk runs, provide public company URLs or slugs.
Which inputs are free?
Invalid, duplicate, unresolved, and failed inputs do not produce billable company results.
How are company locations returned?
Each item in locations contains only an address string. Multiple visible address lines remain separated by newlines. The Actor preserves that source text and does not infer a postal code or assign the address to the legacy split fields.