# LinkedIn Company Data & Insights Scraper \[NO COOKIE] (`riceman/linkedin-company-data-insights-scraper`) Actor

Scrape comprehensive LinkedIn company data & business insights without your LinkedIn account. Extract basic company data, headcount growth, job openings, hiring patterns & employee analytics. Automatic retries, pay-per-use.

- **URL**: https://apify.com/riceman/linkedin-company-data-insights-scraper.md
- **Developed by:** [RICEMAN](https://apify.com/riceman) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 908 total users, 80 monthly users, 100.0% runs succeeded, 19 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $15.63 / 1,000 company data scrapeds

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 Data & Insights Scraper

Scrape comprehensive company data and detailed business insights from LinkedIn company pages without using your LinkedIn account or risking profile restrictions.

### ✨ Key Features

- **🔒 No LinkedIn Account Required** - This actor does not require your LinkedIn cookie, keeping your personal profile completely safe from possible restrictions or rate limiting
- **📊 Advanced Company Insights** - Unlike other actors that only provide basic company data, this actor offers detailed business insights including headcount growth, job openings analytics, hiring trends, and employee tenure data
- **💼 Current Job Openings Data** - Track the exact number of active job postings each company currently has on LinkedIn
- **🛡️ Robust Error Handling** - Errors are automatically handled and failed requests are automatically retried with exponential backoff to ensure maximum success rate
- **💰 Pay-Per-Use Pricing** - You only pay for what you use - no upfront costs or monthly subscriptions

### 🎯 What You Can Extract

#### Basic Company Data

- Company name, LinkedIn ID, and tagline
- Company description and logo
- Website and contact information
- Headquarters and global office locations
- Industries, specialties, and founding year
- Funding information (Crunchbase integration)
- Employee count and follower metrics
- Affiliated companies

#### Advanced Company Insights (Optional Add-on)

- **Headcount Analytics**: Employee distribution by function with percentages
- **Growth Metrics**: Headcount growth rates (6-month, 1-year, 2-year trends)
- **Hiring Intelligence**: Job openings by function and growth rates
- **Employee Insights**: Median employee tenure and new hire statistics
- **Historical Data**: Monthly headcount trends over 24 months
- **Senior Hiring Patterns**: Track senior-level recruitment over time

#### Current Job Openings (Optional Add-on)

- **Total Active Job Postings**: Get the current number of job openings posted on LinkedIn that are open to applications

### 📝 Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_linkedin_urls` | Array | ✅ | List of LinkedIn company page URLs. Must start with `https://www.linkedin.com/company/` |
| `get_company_insights` | Boolean | ❌ | Enable detailed company insights extraction ($0.1701 per company) |
| `get_total_job_openings` | Boolean | ❌ | Get current total job openings count ($0.02972 per company) |

#### Input Example

```json
{
  "company_linkedin_urls": [
    "https://www.linkedin.com/company/linkedin/",
    "https://www.linkedin.com/company/google/"
  ],
  "get_company_insights": true,
  "get_total_job_openings": true
}
```

### 📊 Output Format

The actor returns detailed JSON data for each company. Here's what you can expect:

#### Basic Company Information

```json
{
  "company_name": "LinkedIn",
  "company_id": "1337",
  "tagline": "",
  "description": "Founded in 2003, LinkedIn connects the world's professionals...",
  "logo_url": "https://media.licdn.com/dms/image/...",
  "linkedin_url": "https://www.linkedin.com/company/linkedin/",
  "website": "https://careers.linkedin.com",
  "hq_full_address": "1000 W Maude, Sunnyvale, CA 94085, US",
  "hq_city": "Sunnyvale",
  "hq_region": "CA",
  "hq_country": "US",
  "industries": ["Software Development"],
  "year_founded": 2003,
  "employee_count": 24018,
  "employee_range": "10001+",
  "follower_count": 31456914
}
```

#### Location Data

```json
"locations": [
  {
    "city": "Tokyo",
    "country": "JP",
    "full_address": "Tokyo 100-0005, JP",
    "is_headquarter": false,
    "region": "",
    "zipcode": "100-0005"
  }
]
```

#### Advanced Insights (When Enabled)

```json
{
  "headcount_by_function": {
    "Engineering": {
      "count": 6150,
      "percentage": 26
    },
    "Sales": {
      "count": 4084,
      "percentage": 17
    }
  },
  "headcount_growth": {
    "1y": "-4%",
    "2y": "-6%",
    "6m": "-3%"
  },
  "job_openings_by_function": [
    {
      "date": "2025-6",
      "total_count": 545,
      "count_by_function": {
        "Sales": {
          "count": 225,
          "percentage": 41
        },
        "Engineering": {
          "count": 54,
          "percentage": 10
        }
      }
    }
  ],
  "median_employee_tenure": 4,
  "new_hires": [
    {
      "date": "2025-7",
      "senior_hires": 1,
      "total_hires": 188
    }
  ]
}
```

#### Current Job Openings (When Enabled)

```json
{
  "total_job_openings": 476
}
```

### 🚀 Use Cases

- **Recruitment Intelligence**: Identify companies actively hiring and gauge recruitment velocity
- **Market Research**: Analyze competitor headcount, growth patterns, and hiring strategies
- **Sales Intelligence**: Identify growing companies and departments for targeted outreach
- **Talent Acquisition**: Understand hiring trends and employee tenure at target companies
- **Investment Analysis**: Track company growth metrics, organizational changes, and hiring momentum
- **Business Development**: Find potential partners based on company size, growth trajectory, and hiring activity
- **Job Market Analysis**: Monitor hiring trends across industries and companies

# Actor input Schema

## `company_linkedin_urls` (type: `array`):

LinkedIn company page URLs to scrape data from. All URLs must begin with 'https://www.linkedin.com/company/' — URLs that don't will be ignored.

## `get_company_insights` (type: `boolean`):

Enrich each company result with company insights from LinkedIn, including headcount growth by function, job openings, total new hires by month, and more.

## `get_total_job_openings` (type: `boolean`):

Get the number of job openings each company has posted on LinkedIn.

## Actor input object example

```json
{
  "company_linkedin_urls": [
    "https://www.linkedin.com/company/linkedin/"
  ],
  "get_company_insights": false,
  "get_total_job_openings": false
}
```

# Actor output Schema

## `overview` (type: `string`):

All company data fields in one view

# 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 = {
    "company_linkedin_urls": [
        "https://www.linkedin.com/company/linkedin/"
    ],
    "get_company_insights": false,
    "get_total_job_openings": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("riceman/linkedin-company-data-insights-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 = {
    "company_linkedin_urls": ["https://www.linkedin.com/company/linkedin/"],
    "get_company_insights": False,
    "get_total_job_openings": False,
}

# Run the Actor and wait for it to finish
run = client.actor("riceman/linkedin-company-data-insights-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 '{
  "company_linkedin_urls": [
    "https://www.linkedin.com/company/linkedin/"
  ],
  "get_company_insights": false,
  "get_total_job_openings": false
}' |
apify call riceman/linkedin-company-data-insights-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,riceman/linkedin-company-data-insights-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/rl5EUIYYwN8Mh3jUj/builds/hKhVUfmNdztFAlyvB/openapi.json
