# LinkedIn Company Scraper (No Cookies or Login) (`curly/linkedin-company-profile-scraper`) Actor

Enter LinkedIn company slugs or URLs and get company details, employee and follower counts, industries, websites, locations, jobs, and related companies. No login, cookies, or proxy setup. ($0.50 USD per 1,000 results)

- **URL**: https://apify.com/curly/linkedin-company-profile-scraper.md
- **Developed by:** [Curly](https://apify.com/curly) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.50 / 1,000 company 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 – Company Profile Data, No Cookies

Paste LinkedIn company profile URLs—or just company slugs—and click **Start**. This LinkedIn company scraper detects the format automatically and returns one structured dataset item for every company it finds.

That is the entire setup. No LinkedIn account, login, cookies, browser extension, or user-supplied proxy is required. Everything else is handled automatically.

### How to use it

1. Paste one company URL or slug per line. A slug is the part after `/company/` in a LinkedIn URL—for example, `openai`.
2. Click **Start**.
3. Open **Dataset** to view or download the results as JSON, CSV, or Excel.

The Actor has one input field:

```json
{
  "companies": [
    "https://www.linkedin.com/company/openai",
    "microsoft"
  ]
}
```

You can submit up to 100 entries per run. Localized LinkedIn domains are accepted, URLs and slugs are normalized automatically, and duplicates are processed once. Invalid entries are reported separately and are not charged as successful results.

### Why use this LinkedIn company scraper?

- **No cookies or login:** scrape public LinkedIn company profiles without connecting a LinkedIn account.
- **No proxy setup:** the required proxy infrastructure is already included.
- **Bulk company data:** process up to 100 LinkedIn company URLs or slugs in one run.
- **Pay per result:** pay only for company records successfully stored in the dataset.
- **Structured output:** receive consistent field names, nullable optional values, arrays, and nested objects.
- **API ready:** run the Actor from the Apify Console, API, JavaScript client, Python client, schedules, or integrations.

### What company data can you extract?

The Actor returns publicly available LinkedIn company profile data, including:

- Company ID, name, canonical LinkedIn URL, and company slug
- Logo and cover image URLs
- Industry, company type, founding year, tagline, and description
- Website URL and normalized website domain
- Headquarters and structured headquarters address
- Follower count
- Employee count and displayed employee-count range
- Specialties and public office locations
- Public open-jobs count and normalized jobs URL
- LinkedIn Life page URL
- Public funding information and investors when displayed
- Similar and affiliated companies
- Scrape timestamp and source identifier

Optional public fields are returned as `null` or empty arrays when LinkedIn does not expose them. Values are not invented or inferred.

### Example output

Each successful company produces one dataset item:

The values below are representative; long text and LinkedIn-hosted media URLs are abbreviated.

```json
{
  "company_id": "11130470",
  "company_name": "OpenAI",
  "company_url": "https://www.linkedin.com/company/openai",
  "company_slug": "openai",
  "logo_url": "https://media.licdn.com/example-company-logo",
  "cover_image_url": "https://media.licdn.com/example-company-cover",
  "industry": "Research Services",
  "headquarters": "San Francisco, CA",
  "headquarters_address": {
    "city": "San Francisco",
    "region": "CA",
    "postal_code": "94110",
    "country": "US"
  },
  "follower_count": 11361200,
  "employee_count": 10473,
  "employee_count_range": {
    "min": 1001,
    "max": 5000,
    "label": "1,001-5,000 employees"
  },
  "tagline": null,
  "description": "OpenAI is an AI research and deployment company...",
  "website_url": "https://openai.com/",
  "website_domain": "openai.com",
  "company_type": "Partnership",
  "founded_year": null,
  "specialties": [
    "artificial intelligence and machine learning"
  ],
  "locations": [
    {
      "is_headquarters": true,
      "address": "San Francisco, CA 94110, US",
      "map_url": "https://www.bing.com/maps?where=San+Francisco+94110+CA+US"
    }
  ],
  "open_jobs_count": 138,
  "jobs_url": "https://www.linkedin.com/jobs/search?f_C=11130470",
  "life_page_url": "https://www.linkedin.com/company/openai/life",
  "funding": null,
  "similar_companies": [
    {
      "name": "Anthropic",
      "company_url": "https://www.linkedin.com/company/anthropicresearch",
      "company_slug": "anthropicresearch",
      "industry": "Research Services",
      "location": null
    }
  ],
  "affiliated_companies": [
    {
      "name": "ChatGPT",
      "company_url": null,
      "company_slug": null,
      "industry": "Technology, Information and Internet",
      "location": null
    }
  ],
  "scraped_at": "2026-07-28T09:13:43.059Z",
  "source": "linkedin_company_profile"
}
```

`employee_count` and `employee_count_range` are separate public LinkedIn signals and may differ. The exact count can represent profiles associated with the company, while the range is the size band displayed on the company page.

### Output storage

- Successful records: default dataset
- Run statistics: `RUN_SUMMARY` in the default key-value store
- Invalid or failed inputs: `FAILED_INPUTS` in the default key-value store

The run summary includes result and failure counts, whether the included proxy was active, billing mode, charge-limit status, duration, and completion time.

### Pricing

The price is **$0.0005 per successful company result**, equivalent to:

- **$0.50 per 1,000 company results**
- **$5.00 per 10,000 company results**

Invalid inputs, failed requests, and companies that do not produce a stored result are not charged as result events.

### Run through the API

Start a run with the Apify API:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/curly~linkedin-company-profile-scraper/runs" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "companies": [
      "https://www.linkedin.com/company/openai"
    ]
  }'
```

Replace `YOUR_APIFY_TOKEN` with your own Apify API token. Never place a real token in public code or documentation.

### Common use cases

- Enrich CRM company records with LinkedIn company profile data
- Build a LinkedIn company dataset for market mapping
- Qualify B2B leads by industry, company size, location, and specialties
- Monitor competitors, follower counts, open jobs, and company descriptions
- Collect company website domains for downstream enrichment
- Feed structured company details into AI agents, spreadsheets, databases, or automation workflows
- Use the Actor as a practical LinkedIn company API alternative for public company pages

### Limitations

- The Actor only collects information publicly available on LinkedIn company pages.
- LinkedIn can change page markup, availability, or field visibility without notice.
- Optional values can be `null`, and optional collections can be empty.
- Logo, cover, and other media URLs are controlled by LinkedIn and may change or expire.
- The Actor does not scrape employee identities, personal profiles, private pages, email addresses, phone numbers, or authenticated LinkedIn data.
- Output freshness reflects the public LinkedIn page at the recorded `scraped_at` time.

### Responsible use

You are responsible for using the Actor and its output in accordance with applicable laws, privacy requirements, contractual obligations, and platform terms. Do not use the data for spam, harassment, discrimination, surveillance, or unlawful profiling.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn.

### FAQ

#### What is a LinkedIn company scraper?

A LinkedIn company scraper converts public LinkedIn company pages into structured data. This Actor accepts company URLs or slugs and returns one validated JSON record for each successful company.

#### Can I scrape LinkedIn company profiles without cookies?

Yes. The Actor does not require a LinkedIn cookie, account, login, or browser session.

#### Do I need to provide a proxy?

No. Proxy infrastructure is included and configured by the Actor creator.

#### Can I scrape LinkedIn company data in bulk?

Yes. You can submit up to 100 company URLs or slugs per run. Everything else is handled automatically.

#### What is a company slug?

It is the part after `/company/` in a LinkedIn company URL. For `linkedin.com/company/openai`, the slug is `openai`. You can paste either form.

#### Is this a LinkedIn company API?

It is an Apify Actor that can be called through an API. It is not an official LinkedIn API, but it provides a simple API workflow for extracting public company profile data.

#### Why are some fields null?

LinkedIn does not display every field for every company. Missing optional data stays `null` or an empty array so downstream systems can distinguish unavailable data from invented values.

#### What happens when a company fails?

The run continues processing other inputs. Safe failure information is written to `FAILED_INPUTS`, and failed companies are not stored or charged as successful result events.

# Actor input Schema

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

Paste one LinkedIn company profile URL or slug per line. A slug is the part after /company/ (for example, openai). This is the only input required; the scraper handles everything else automatically.

## Actor input object example

```json
{
  "companies": [
    "https://www.linkedin.com/company/openai",
    "microsoft"
  ]
}
```

# Actor output Schema

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

No description

## `runSummary` (type: `string`):

No description

## `failedInputs` (type: `string`):

No description

# 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/openai",
        "microsoft"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("curly/linkedin-company-profile-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/openai",
        "microsoft",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("curly/linkedin-company-profile-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 '{
  "companies": [
    "https://www.linkedin.com/company/openai",
    "microsoft"
  ]
}' |
apify call curly/linkedin-company-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/glhcFDcPQ5taa2LeD/builds/ljbT4Im52dBQwmNqJ/openapi.json
