LinkedIn Company Scraper — Public Company Data avatar

LinkedIn Company Scraper — Public Company Data

Pricing

from $0.85 / 1,000 delivered companies

Go to Apify Store
LinkedIn Company Scraper — Public Company Data

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

Meka.im

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

a day ago

Last modified

Features

Limited permissions

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

  • maxCompanies limits the number of unique input companies processed. Invalid or unresolved inputs may reduce delivered records.
  • maxConcurrency controls bounded batch and name-resolution concurrency; it is an advanced option and does not guarantee linear speedup.
  • companyNames is 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.

FieldTypeDescription
companyIdstringLinkedIn organization ID; the legacy company ID takes precedence over the extended value
universalNamestringLinkedIn company slug; the legacy slug takes precedence
taglinestringCompany tagline; the legacy slogan takes precedence
employeeCountRangeobjectAvailable numeric start and end bounds
locationsarrayPublic locations, each represented by { "address": string }; multiple locations are kept separately, address line breaks are retained, and no split address fields are inferred
industriesstring arrayNon-empty public industry labels
backgroundCoverUrlstringPublic profile background cover URL
jobSearchUrlstringPublic LinkedIn jobs search URL for the company
similarOrganizationsarrayRelated 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.