# LinkedIn Company Scraper 💰$1/1K – By URL, Name or Domain (`rt-solutions/linkedin-company-scraper`) Actor

Scrape LinkedIn company pages without login or cookies: website, industry, size, employees, followers, HQ address, founded, specialties, locations, similar pages and recent posts. Find companies by URL, name or website domain.

- **URL**: https://apify.com/rt-solutions/linkedin-company-scraper.md
- **Developed by:** [RT SOLUTIONS](https://apify.com/rt-solutions) (community)
- **Categories:** Lead generation, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 companies

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### LinkedIn Company Scraper – company details by URL, name or domain · $1 per 1,000 companies

Get **LinkedIn company data without login, cookies or account**: website, industry, company size, **employees on LinkedIn**, **followers**, headquarters with full address, company type, founded year, specialties, every office location, similar and affiliated pages, and the **recent posts with likes and comments**.

Paste **LinkedIn URLs, company names or website domains** — the actor finds the right LinkedIn page for you. Ideal for **lead enrichment**, CRM cleanup and market mapping.

**$1 per 1,000 companies** — about 4× cheaper than the most popular LinkedIn company scraper, with name and domain lookup included at the same price.

#### What you can put in

| Input | Example | How it is matched |
|---|---|---|
| LinkedIn company URL (any country subdomain) | `https://fr.linkedin.com/company/stripe/` | Direct |
| Showcase page | `https://www.linkedin.com/showcase/microsoft-azure/` | Direct |
| Page name | `notionhq` | Direct |
| Company ID | `2135371` | LinkedIn ID → page |
| Company name | `Société Générale`, `Ernst & Young` | LinkedIn's own company suggestions (exact name first) |
| Website domain | `stripe.com`, `bbc.co.uk`, `zalando.de` | Compares the website listed on each candidate LinkedIn page with your domain |

Mix them in one run. Duplicates (the same company entered twice) are returned once.

#### 🔭 Discovery mode — find more companies

Turn on **Discover similar companies** and the actor follows LinkedIn's *Similar pages* from your companies, then from the companies it finds, level by level:

- **1 company → 138 companies** in 3 levels (HubSpot → software, IT services, fintech…), in about 2 minutes.
- Filter on the fly with **Keep industries containing** (e.g. `Software`, `Banking`) and **Keep locations containing** (e.g. `Paris`, `Germany`) — filters are checked *before* a page is opened, so you only pay for companies you keep.
- Each discovered company has `discoveredFrom` and `discoveryDepth`.

Example: start from `doctolib`, `alan`, `qonto`, `back-market` with location `Paris, France` → Pennylane, Swile, Mistral, Payfit, Mirakl, Spendesk, Pigment, ManoMano, Lucca…

#### Output example

```json
{
  "type": "company",
  "name": "Stripe",
  "url": "https://www.linkedin.com/company/stripe/",
  "companyId": "2135371",
  "tagline": "Help increase the GDP of the internet.",
  "description": "Stripe builds programmable financial services…",
  "website": "https://stripe.com",
  "industry": "Technology, Information and Internet",
  "companySize": "5,001-10,000 employees",
  "employeesOnLinkedIn": 16694,
  "followers": 1799249,
  "headquarters": "South San Francisco, California",
  "address": { "street": "354 Oyster Point Blvd", "city": "South San Francisco", "region": "California", "postalCode": "94080", "country": "US" },
  "companyType": "Privately Held",
  "founded": 2010,
  "specialties": [],
  "jobsUrl": "https://www.linkedin.com/jobs/search?f_C=2135371",
  "logoUrl": "https://media.licdn.com/…",
  "locations": [{ "isPrimary": true, "address": "354 Oyster Point Blvd, South San Francisco, California 94080, US" }],
  "similarPages": [{ "name": "Atlassian", "industry": "Software Development", "location": "Sydney, NSW", "url": "https://www.linkedin.com/company/atlassian/" }],
  "affiliatedPages": [{ "name": "Stripe Partner Ecosystem", "industry": "Internet Publishing", "url": "https://www.linkedin.com/showcase/…" }],
  "recentPosts": [{ "url": "https://www.linkedin.com/posts/…", "date": "2026-10-30T16:02:11.000Z", "text": "…", "likes": 370, "comments": 25 }],
  "input": "stripe.com",
  "matchedBy": "domain",
  "matchConfidence": "exact"
}
```

`matchConfidence` (domain inputs only): `exact` = the LinkedIn page lists exactly your domain; `brand-name` = the page has the brand's exact name (e.g. `tesco.com` → Tesco, which lists tescoplc.com); `same-brand` = same brand on another extension; `subdomain` = the page lists a subdomain of your domain. Export to JSON, CSV or Excel, or connect to Google Sheets, HubSpot, Make, n8n, Zapier and AI agents.

#### Pricing

**$1 per 1,000 companies** (pay per event, cheaper on higher Apify plans). Name, ID and domain lookups are included. Recent posts, locations and similar pages cost nothing extra. Companies that are not found are free.

#### Use cases

- **Lead enrichment**: turn a list of domains or company names into industry, size, headcount, HQ and LinkedIn URL.
- **CRM cleanup**: fill missing firmographics and LinkedIn links for accounts.
- **Market mapping**: start from a few companies and let discovery mode follow their *similar pages* to map a whole sector or find competitors.
- **Account monitoring**: track followers, headcount on LinkedIn and recent posts of target accounts over time.
- **Recruiting and sales intelligence**: find the LinkedIn page and jobs link of every company on a list.

#### Use with AI agents (MCP)

Call this actor from Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com) with the actor ID `rt-solutions/linkedin-company-scraper`. Example request: *"Enrich stripe.com, notion.so and figma.com with their LinkedIn industry, employee count and headquarters."* It also works through the Apify API, Make, n8n and Zapier.

#### FAQ

**How do I scrape LinkedIn company pages without logging in?** Paste URLs, names or domains and run. The actor reads the public company pages LinkedIn shows to anyone — no account, cookies or browser extension.

**How much does it cost to enrich 10,000 companies?** $10 at $1 per 1,000 companies, lookups included.

**Can I find a company's LinkedIn page from its website?** Yes — enter the domain (`stripe.com`). The actor checks the candidate pages and compares the website each one lists with your domain, and tells you how confident the match is.

**Why is `website`, `founded` or `specialties` empty?** The company did not fill that field on LinkedIn.

**Can it search companies by industry or location?** Not through LinkedIn search (that needs a login). Use discovery mode: start from a few companies of the sector and filter by industry and location.

**Can I get the list of employees?** No. Employee lists require a LinkedIn login, and this actor never logs in. You get the employee count on LinkedIn and the company size range.

**Does it work for schools or personal profiles?** No — company and showcase pages only.

**Is it legal to scrape LinkedIn company pages?** The actor only reads public company pages that anyone can open without an account and collects business information, not private data. Use the data responsibly and in line with the laws that apply to you (e.g. GDPR).

#### Limits

- A domain is matched through the website the company lists on LinkedIn; groups whose LinkedIn page lists another site may be matched on the brand name instead (see `matchConfidence`).
- Recent posts are the ones LinkedIn shows on the public page (usually 2–10).

#### Related scrapers

- [LinkedIn Jobs Scraper](https://apify.com/rt-solutions/linkedin-jobs-scraper)
- [Website Contact & Email Extractor](https://apify.com/rt-solutions/website-contact-email-extractor)
- [Google Maps Scraper – Business Leads](https://apify.com/rt-solutions/google-maps-scraper-leads)

#### Support

Missing a field or a wrong match? Open an issue on the actor page — we answer fast.

# Actor input Schema

## `companies` (type: `array`):

One per line: a LinkedIn company URL (https://www.linkedin.com/company/stripe), a showcase URL, the page name (stripe), a company name (Stripe) or a website domain (stripe.com). Mix them freely.

## `discoverSimilar` (type: `boolean`):

Also follow the 'Similar pages' of each company (and of the companies found that way) to discover more companies — great for mapping a market or finding competitors.

## `maxDiscovered` (type: `integer`):

Upper limit of companies added by discovery (your own inputs are not counted).

## `discoveryDepth` (type: `integer`):

1 = similar pages of your companies only; 2 = also their similar pages; up to 5.

## `industryFilter` (type: `array`):

Discovery only: keep similar companies whose industry contains one of these words (e.g. Software, Banking). Empty = all.

## `locationFilter` (type: `array`):

Discovery only: keep similar companies whose location contains one of these words (e.g. Paris, Germany, CA). Empty = all.

## `includePosts` (type: `boolean`):

Add the recent posts LinkedIn shows on the page (text, date, likes, comments). No extra cost.

## `includeLocations` (type: `boolean`):

Add every office address listed on the page.

## `includeSimilarPages` (type: `boolean`):

Add the 'Similar pages' and 'Affiliated pages' LinkedIn shows (competitors, subsidiaries, showcase pages) — useful to discover more companies.

## `maxConcurrency` (type: `integer`):

How many companies are processed in parallel.

## `proxyConfiguration` (type: `object`):

Apify Proxy (datacenter) works well.

## Actor input object example

```json
{
  "companies": [
    "https://www.linkedin.com/company/stripe",
    "Notion",
    "openai.com"
  ],
  "discoverSimilar": false,
  "maxDiscovered": 100,
  "discoveryDepth": 2,
  "includePosts": true,
  "includeLocations": true,
  "includeSimilarPages": true,
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All companies.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "https://www.linkedin.com/company/stripe",
        "Notion",
        "openai.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rt-solutions/linkedin-company-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": [
        "https://www.linkedin.com/company/stripe",
        "Notion",
        "openai.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("rt-solutions/linkedin-company-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    "https://www.linkedin.com/company/stripe",
    "Notion",
    "openai.com"
  ]
}' |
apify call rt-solutions/linkedin-company-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rt-solutions/linkedin-company-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5dGVWLcGeH2cd4OxC/builds/0AFbS2umeFdKRsX2L/openapi.json
