# LinkedIn Company Information Scrapper (`zerobreak/linkedin-company-information-scrapper`) Actor

LinkedIn Company Information Scraper that extracts detailed company data, employees, posts, and business insights from any LinkedIn company page. Ideal for market research, competitor analysis, sales intelligence, and business profiling.

- **URL**: https://apify.com/zerobreak/linkedin-company-information-scrapper.md
- **Developed by:** [ZeroBreak](https://apify.com/zerobreak) (community)
- **Categories:** Lead generation
- **Stats:** 103 total users, 1 monthly users, 96.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.99 / 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/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 Information Scraper

Extract comprehensive company data from LinkedIn including company details, employees, posts, funding information, and much more.

### Features

- ✅ Scrape detailed company profiles
- ✅ Get employee listings
- ✅ Extract recent company posts
- ✅ Retrieve funding & investor data
- ✅ Find similar and affiliated companies
- ✅ Export all data in structured format

### How It Works

**Two-Step Process:**

1. **Generate Snapshot ID**: Submit company URLs to start scraping
2. **Fetch Data**: After 30 seconds, retrieve your complete company data

### Input

#### Action Selection

- **Generate Snapshot ID**: Start a new scraping job
- **Fetch Data**: Retrieve results from a completed job

#### Input Fields

**For Generate Snapshot ID:**

- **LinkedIn Company URLs** (required): Company page URLs, one per line

**For Fetch Data:**

- **Snapshot ID** (required): The ID from the generate step

### Input Examples

#### Step 1: Start Scraping

```json
{
  "action": "generate_snap_id",
  "urls": "https://www.linkedin.com/company/microsoft/\nhttps://www.linkedin.com/company/google/\nhttps://www.linkedin.com/company/apple/"
}
```

#### Step 2: Get Data (Wait 30 seconds!)

```json
{
  "action": "fetch_data",
  "snap_id": "linkedIn_profile_s_company456"
}
```

### Data Extracted

#### Company Information

- Company name and ID
- Headquarters location
- All office locations
- Company description
- Industries and specialties
- Company size
- Organization type
- Website URL
- Logo and cover images
- Founded year
- Follower count
- Employee count on LinkedIn

#### Employee Data

- Employee names
- Job titles
- Profile links
- Profile pictures

#### Company Activity

- Recent posts and updates
- Post engagement (likes, comments, shares)
- Post content (text, images, videos)
- Post dates

#### Business Details

- Funding information
- Investor lists
- Crunchbase URL
- Similar companies
- Affiliated companies

### Example Output

```json
{
  "name": "Microsoft",
  "headquarters": "Redmond, Washington",
  "locations": [
    "Seattle, WA",
    "New York, NY",
    "San Francisco, CA"
  ],
  "about": "Every company has a mission. What's ours? To empower every person and every organization on the planet to achieve more...",
  "specialties": [
    "Business Software",
    "Developer Tools",
    "Cloud Computing",
    "Artificial Intelligence"
  ],
  "industries": [
    "Software Development",
    "IT Services and IT Consulting"
  ],
  "company_size": "10,001+ employees",
  "organization_type": "Public Company",
  "website": "https://www.microsoft.com",
  "founded": 1975,
  "followers": 20540000,
  "employees_in_linkedin": 221000,
  "employees": [
    {
      "name": "Satya Nadella",
      "title": "Chairman and CEO at Microsoft",
      "link": "https://www.linkedin.com/in/satyanadella/",
      "image": "https://..."
    }
  ],
  "updates": [
    {
      "title": "Introducing Microsoft AI",
      "text": "We're excited to announce...",
      "date": "2024-01-15",
      "likes": 12500,
      "comments": 450,
      "images": ["https://..."]
    }
  ],
  "similar_companies": [
    {
      "name": "Google",
      "type": "Software Company",
      "location": "Mountain View, California"
    }
  ]
}
```

### Step-by-Step Guide

#### 1. Prepare URLs

Collect LinkedIn company page URLs you want to scrape

#### 2. Generate Snapshot ID

- Set action to "Generate Snapshot ID"
- Paste company URLs (one per line)
- Run the actor
- **Save the snapshot ID you receive**

#### 3. Wait 30 Seconds

The scraping process needs time to collect all data

#### 4. Fetch Your Data

- Set action to "Fetch Data"
- Enter your snapshot ID
- Run the actor
- Data appears in your dataset!

### Important Notes

⚠️ **30-Second Wait Required**
Always wait at least 30 seconds between generating and fetching. Premature fetching may result in errors.

⚠️ **Valid URLs Only**
Use complete LinkedIn company page URLs like: `https://www.linkedin.com/company/company-name/`

### Use Cases

#### Business Intelligence

- Competitive analysis and benchmarking
- Market research and industry trends
- Company profiling for investments

#### Sales & Marketing

- Lead generation and qualification
- Account-based marketing research
- Customer discovery

#### Recruitment

- Company research for job seekers
- Talent pool analysis
- Employer branding insights

#### Investment Research

- Due diligence on potential investments
- Funding and growth tracking
- Competitor landscape analysis

### Tips & Best Practices

#### Getting Complete Data

- Use official company pages (not showcase pages)
- Larger companies have more employee data
- Recent companies may have limited history

#### Batch Processing

- Scrape multiple companies at once
- No limit on number of companies per run
- Each URL on a new line

#### Data Quality

- Verify company URLs before scraping
- Check that pages are public
- Some data may be limited based on LinkedIn's visibility rules

### Common Questions

**Q: How recent are the company posts?**
A: The most recent posts available on the company's LinkedIn page, typically the last 10-20 posts.

**Q: Can I get all employees of a company?**
A: You'll get a sample of employees featured on the company page. For complete employee lists, use the People Search actor.

**Q: What if the company has multiple locations?**
A: All listed locations will be included in the output.

**Q: How often is the data updated?**
A: Data is scraped in real-time when you run the actor, so it's always current.

**Q: Can I scrape private companies?**
A: Only publicly visible information on LinkedIn will be extracted.

### Data Export Options

Export your data in multiple formats:

- **JSON**: For developers and API integration
- **CSV**: For Excel and data analysis
- **Excel**: Ready-to-use spreadsheets
- **XML**: For system integration
- **RSS**: For feed readers

### Pricing

- Charged per company scraped
- No additional fees for employee data or posts
- Snapshot IDs valid for 24 hours

### Error Handling

#### "Data not ready"

→ Wait longer (up to 60 seconds for large companies)

#### "Invalid URL"

→ Check that you're using company page URLs, not personal profiles

#### "Snapshot expired"

→ Generate a new snapshot ID

### Privacy & Compliance

- Only public LinkedIn data is collected
- No login or cookies required
- Complies with public data access
- Use responsibly and ethically

### Support

Need help?

1. Check the run logs for detailed error messages
2. Verify your input format matches the examples
3. Contact Apify support for technical issues

***

**Start scraping company data today! 🏢**

# Actor input Schema

## `action` (type: `string`):

Choose whether to generate a snapshot ID or fetch data

## `snap_id` (type: `string`):

Snapshot ID to fetch data (required only for fetch_data action). ⚠️ Wait at least 30 seconds after generating snap_id.

## `urls` (type: `string`):

Enter LinkedIn company URLs, ONE URL PER LINE. You can add as many URLs as you want.

## Actor input object example

```json
{
  "action": "generate_snap_id",
  "snap_id": "linkedIn_profile_s_company456",
  "urls": "https://www.linkedin.com/company/microsoft/\nhttps://www.linkedin.com/company/google/\nhttps://www.linkedin.com/company/apple/"
}
```

# Actor output Schema

## `overview` (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 = {
    "action": "generate_snap_id",
    "snap_id": "",
    "urls": "https://www.linkedin.com/company/microsoft/"
};

// Run the Actor and wait for it to finish
const run = await client.actor("zerobreak/linkedin-company-information-scrapper").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 = {
    "action": "generate_snap_id",
    "snap_id": "",
    "urls": "https://www.linkedin.com/company/microsoft/",
}

# Run the Actor and wait for it to finish
run = client.actor("zerobreak/linkedin-company-information-scrapper").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 '{
  "action": "generate_snap_id",
  "snap_id": "",
  "urls": "https://www.linkedin.com/company/microsoft/"
}' |
apify call zerobreak/linkedin-company-information-scrapper --silent --output-dataset

```

## MCP server setup

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

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/ojwuDy54UrBvEcRNJ/builds/gF8WdOiuWypeFGRMd/openapi.json
