# LinkedIn Company Scraper - Bulk, No Cookies (`devon_gtme/linkedin-company-scraper`) Actor

Turn LinkedIn company URLs or website domains into full company records: name, industry, size, HQ, followers, specialties, website and founding year. No cookies or login. Resolves domains to the right page automatically, dedupes, and never charges failed lookups. Up to 10,000 per run.

- **URL**: https://apify.com/devon\_gtme/linkedin-company-scraper.md
- **Developed by:** [Devon Kellar](https://apify.com/devon_gtme) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## LinkedIn Company Scraper - Bulk, No Cookies \[Domain or URL Input]

Turn **LinkedIn company URLs or bare website domains** into full company records - name, industry, employee count, HQ location, follower count, specialties, website, founding year and more. **No cookies. No login. No LinkedIn account at risk.**

### What people use it for

- **Enrich a CRM list:** export the `website` column from HubSpot/Salesforce/Pipedrive, paste it into *Domains*, and get back industry, size, HQ and LinkedIn URL for every account - no manual lookup.
- **ABM target research:** feed in your named-account list (URLs or domains) and segment by real employee counts, industry and HQ country before the campaign launches.
- **TAM / market sizing from domain lists:** turn any scraped or purchased domain list into structured firmographics you can actually count and filter.
- **Lead scoring & routing:** append company size + industry to inbound leads so your routing rules run on real data instead of free-text form fields.
- **Competitor & portfolio monitoring:** re-run the same list monthly and track follower and employee growth over time.

### Why this one

- 🍪 **No cookies, no login, no account risk.** Nothing here touches your LinkedIn account or session - no cookie export, no headless browser logged in as you, nothing for LinkedIn to flag or ban.
- 🌐 **Domains work as input, not just URLs.** Most company scrapers demand LinkedIn URLs you don't have. This one takes the raw domain list straight from your CRM and resolves each domain to the right LinkedIn company page automatically.
- ✅ **Failed lookups are never charged.** Every result in your dataset is a real, enriched company record. A domain or URL that can't be matched is skipped and logged - you never pay for an empty row.
- 🧹 **Deduplicated across both lists.** The same company given as a URL and a domain (or in two different URL formats) is enriched exactly once.
- 🛠️ **Messy input tolerated.** `linkedin.com/company/stripe/about/`, `uk.linkedin.com/...`, `https://www.shopify.com/pricing`, missing `https://` - all cleaned up automatically.

### What you get

| Field | Example |
|---|---|
| `name` | Stripe |
| `industry` | Technology; Information and Internet |
| `size` | 5001-10000 |
| `employeesOnLinkedin` | 14773 |
| `followers` | 1345345 |
| `foundedYear` | 2010 |
| `companyType` | Privately Held |
| `hqCity` / `hqState` / `hqCountry` | South San Francisco, California, United States |
| `hqRegion` / `hqContinent` | NORAM, North America |
| `website` / `domain` | stripe.com |
| `linkedinUrl` / `linkedinId` | Canonical LinkedIn company URL + numeric ID |
| `specialties` | List of company specialties (when the company lists them) |
| `about` | Full company description |
| `input` / `matchedVia` | The exact input row it came from, and whether it matched via `url` or `domain` |

Up to **10,000 companies per run**.

### Input

Two lists - use either or both:

- **LinkedIn Company URLs** - e.g. `https://www.linkedin.com/company/stripe`
- **Website Domains** - e.g. `shopify.com` (perfect for CRM exports)

Entries are routed by content, so a LinkedIn URL pasted into the domain list (or vice versa) still does the right thing.

### A note on match rates

Coverage depends on the company being present in our data index. Well-established companies match near-100%; brand-new or very small companies without a LinkedIn presence are skipped and logged - and never charged.

The two input forms don't always have identical coverage: occasionally a company resolves from its **website domain** but not from its LinkedIn **URL**, or the other way around. If an input you expected returns nothing, try the same company in the other form - domain instead of URL, or URL instead of domain. Either way, anything we can't match is skipped and never charged, so you only ever pay for real, enriched records.

***

**Need something more custom?** Ongoing company enrichment synced to your CRM, people + email enrichment on top of these companies, or a fully managed outbound data pipeline - message me via my Apify profile and I'll build it.

# Actor input Schema

## `companyUrls` (type: `array`):

LinkedIn company page URLs, e.g. 'https://www.linkedin.com/company/stripe'. Any format works — subpages (/about/), mobile or regional subdomains, and missing https:// are all handled.

## `domains` (type: `array`):

Bare website domains, e.g. 'shopify.com' — perfect for CRM exports. Each domain is resolved to its LinkedIn company page automatically, then enriched. Full URLs (https://..., paths) are cleaned up for you.

## `maxResults` (type: `integer`):

Maximum enriched companies to return. Only real, found records count towards this — failed lookups are skipped and never charged.

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.linkedin.com/company/stripe"
  ],
  "domains": [
    "shopify.com"
  ],
  "maxResults": 10000
}
```

# 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 = {
    "companyUrls": [
        "https://www.linkedin.com/company/stripe"
    ],
    "domains": [
        "shopify.com"
    ],
    "maxResults": 10000
};

// Run the Actor and wait for it to finish
const run = await client.actor("devon_gtme/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 = {
    "companyUrls": ["https://www.linkedin.com/company/stripe"],
    "domains": ["shopify.com"],
    "maxResults": 10000,
}

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

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

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

```

## CLI example

```bash
echo '{
  "companyUrls": [
    "https://www.linkedin.com/company/stripe"
  ],
  "domains": [
    "shopify.com"
  ],
  "maxResults": 10000
}' |
apify call devon_gtme/linkedin-company-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=devon_gtme/linkedin-company-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kgsLVNuuhARhTEVCU/builds/Bq7IfoSbGdy54kFqC/openapi.json
