# LinkedIn Company Profile Scraper - No Login (`datascraperes/linkedin-company`) Actor

Scrape public LinkedIn company profiles: name, description, industry, size, employees, headquarters, website, specialties, followers and posts. No cookies or login.

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

## Pricing

$1.00 / 1,000 public linkedin company profile extracteds

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Profile Scraper - No Login

Extract structured information from public LinkedIn company pages. Paste one or more company URLs and receive clean JSON data for every accessible public profile—without a LinkedIn account, cookies, or login.

**Actor page:** [LinkedIn Company Profile Scraper - No Login](https://apify.com/datascraperes/linkedin-company)

### What this Actor does

This Actor visits public URLs in the form `https://www.linkedin.com/company/<company-slug>/` and returns the public data LinkedIn exposes for each company. It saves a successful snapshot for each company, allowing later runs to identify public changes.

Use it to enrich company lists, research leads, or monitor changes to company profiles such as size, follower count, website, industry, and recent posts.

### Quick start

1. Open the Actor's **Input** tab.
2. Add one or more public URLs in **LinkedIn company URLs**.
3. Keep **Delivery mode** set to **All current snapshots** for your first run.
4. Click **Start**.
5. Open the **Dataset** after the run to download JSON, CSV, Excel, or use the Apify API.

Minimal input:

```json
{
  "companyUrls": ["https://www.linkedin.com/company/microsoft/"],
  "deliveryMode": "all"
}
````

### Input reference

#### LinkedIn company URLs

Provide between 1 and 100 public company URLs per run. Each URL must point directly to a LinkedIn company page:

```text
https://www.linkedin.com/company/microsoft/
https://www.linkedin.com/company/shopify/
https://www.linkedin.com/company/canva/
```

The Actor accepts `linkedin.com` and `www.linkedin.com` URLs and normalizes them automatically. It does not accept personal profiles, job postings, search pages, LinkedIn post URLs, or non-LinkedIn URLs.

Example with several companies:

```json
{
  "companyUrls": [
    "https://www.linkedin.com/company/microsoft/",
    "https://www.linkedin.com/company/shopify/",
    "https://www.linkedin.com/company/canva/"
  ],
  "deliveryMode": "all"
}
```

#### Delivery mode

| Value | In the Input tab | When to use it |
| --- | --- | --- |
| `all` | All current snapshots | Returns every successful profile and every error record. Best for first-time enrichment and complete exports. |
| `changes_only` | Changed companies only | Returns a successful profile only when public data differs from its previous successful snapshot. Errors are still returned. Best for scheduled monitoring. |

The first successful extraction of a company is always returned as an `initial` snapshot, including in `changes_only` mode.

### Output

Each Dataset item represents one submitted URL. Start with `success` and `status` to determine whether the profile was available.

#### Successful result

When `success` is `true`, the record contains:

| Field | Description |
| --- | --- |
| `inputUrl` | URL submitted in the input. |
| `companyUrl` | Canonical public LinkedIn company URL. |
| `companySlug` | LinkedIn company identifier taken from the URL. |
| `scrapedAt` | UTC timestamp of the extraction. |
| `company.name` | Public company name. |
| `company.description` | Public company description. |
| `company.headquarters` | Public headquarters address, when available. |
| `company.employeeCount` | Public employee count from structured data, when available. |
| `company.employeeRange` | Public minimum/maximum employee range, when exposed. |
| `company.logoUrl` | Public company logo URL. |
| `company.websiteUrl` | Website listed on the company page. |
| `company.sameAs` | Public external links listed in structured data. |
| `company.industry` | Industry label shown by LinkedIn. |
| `company.companySizeText` | Company-size label, such as `10,001+ employees`. |
| `company.organizationType` | Organization type, such as `Public Company`. |
| `company.specialties` | Public specialties list. |
| `company.followers` | Public follower count, when displayed. |
| `publicPosts` | Recent public post previews, when LinkedIn exposes them. |
| `comparison` | Snapshot comparison result. |
| `changedFields` | Paths of fields that changed since the previous successful snapshot. |

Public information is not equally available for every company. Optional fields are returned as `null` or an empty list when LinkedIn does not publish them. The Actor never invents or infers values.

Example successful record:

```json
{
  "success": true,
  "status": "success",
  "inputUrl": "https://www.linkedin.com/company/microsoft/",
  "companyUrl": "https://www.linkedin.com/company/microsoft",
  "companySlug": "microsoft",
  "scrapedAt": "2026-07-13T11:09:20.924661Z",
  "company": {
    "name": "Microsoft",
    "industry": "Software Development",
    "websiteUrl": "https://news.microsoft.com/",
    "employeeCount": 233274,
    "companySizeText": "10,001+ employees",
    "followers": "28,609,360",
    "specialties": ["Business Software", "Developer Tools"]
  },
  "publicPosts": [{"url": "https://www.linkedin.com/posts/microsoft_example", "publishedAt": "2026-06-30T13:33:39.256Z", "text": "Public post preview"}],
  "comparison": {"comparisonState": "changed"},
  "changedFields": ["company.followers"]
}
```

#### Snapshot comparison

The `comparison.comparisonState` field describes the relation to the last successful extraction of the same company:

| State | Meaning |
| --- | --- |
| `initial` | No earlier successful snapshot exists. |
| `unchanged` | Public data matches the previous successful snapshot. |
| `changed` | One or more public fields changed. See `changedFields` and `comparison.fieldChanges`. |

#### Errors and unavailable pages

When `success` is `false`, no partial company data is returned. Use `status` and `error` to understand the outcome.

| Status | Meaning |
| --- | --- |
| `invalid_url` | The submitted URL is not a direct public LinkedIn company URL. |
| `invalid_response` | The page was unavailable or did not contain a valid public response. |
| `blocked` | LinkedIn required sign-in or presented an access challenge. |
| `network_error` | The public page could not be retrieved after retries. |

Example invalid URL result:

```json
{
  "success": false,
  "status": "invalid_url",
  "inputUrl": "https://www.linkedin.com/in/example/",
  "error": "URL must point directly to /company/<slug>/, not to a search or post page.",
  "company": null
}
```

### Pricing

The Actor costs **$2 per 1,000 successfully extracted public company profiles** ($0.002 per successful profile).

- There is **no start fee**.
- There is **no automatic charge per Dataset item**.
- Invalid URLs, blocked pages, unavailable pages, and network errors are not charged.
- In `changes_only` mode, a successfully checked profile is charged even when it is unchanged and therefore not returned in the Dataset.

If your Apify spending limit is reached, the Actor stops before processing more company profiles. Records already extracted successfully remain in the Dataset.

### Recommended workflows

#### Enrich a company list

Use `all` mode with a list of company URLs, then export the Dataset to CSV or Excel. Filter rows where `success` is `true` before importing the data into a CRM, spreadsheet, or database.

#### Monitor profile changes

Run the same company URLs on a schedule using `changes_only`. Consume only the records whose `comparison.comparisonState` is `changed`, then inspect `changedFields` to see what changed.

#### Handle failures safely

Keep unsuccessful records in your workflow. Retry a `network_error` later, review `invalid_url` records in your source list, and treat `blocked` pages as unavailable rather than assuming their missing fields are empty.

### Data availability and responsible use

This Actor accesses only publicly available LinkedIn company-page content. The fields available for a company depend on what LinkedIn publishes, and LinkedIn may change its public pages over time. Use the data in accordance with LinkedIn's terms and all applicable laws.

# Actor input Schema

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

Public URLs in the form https://www.linkedin.com/company/company-slug/.

## `deliveryMode` (type: `string`):

All returns every valid snapshot. Changes only returns valid records only when a stored snapshot changed.

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.linkedin.com/company/microsoft/"
  ],
  "deliveryMode": "all"
}
```

# Actor output Schema

## `companies` (type: `string`):

No description

## `summary` (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 = {
    "companyUrls": [
        "https://www.linkedin.com/company/microsoft/"
    ]
};

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

# Run the Actor and wait for it to finish
run = client.actor("datascraperes/linkedin-company").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/microsoft/"
  ]
}' |
apify call datascraperes/linkedin-company --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Company Profile Scraper - No Login",
        "description": "Scrape public LinkedIn company profiles: name, description, industry, size, employees, headquarters, website, specialties, followers and posts. No cookies or login.",
        "version": "0.1",
        "x-build-id": "T7ES8hwPdnwErdnj7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datascraperes~linkedin-company/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datascraperes-linkedin-company",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/datascraperes~linkedin-company/runs": {
            "post": {
                "operationId": "runs-sync-datascraperes-linkedin-company",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/datascraperes~linkedin-company/run-sync": {
            "post": {
                "operationId": "run-sync-datascraperes-linkedin-company",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "companyUrls"
                ],
                "properties": {
                    "companyUrls": {
                        "title": "LinkedIn company URLs",
                        "minItems": 1,
                        "maxItems": 100,
                        "type": "array",
                        "description": "Public URLs in the form https://www.linkedin.com/company/company-slug/.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "deliveryMode": {
                        "title": "Delivery mode",
                        "enum": [
                            "all",
                            "changes_only"
                        ],
                        "type": "string",
                        "description": "All returns every valid snapshot. Changes only returns valid records only when a stored snapshot changed.",
                        "default": "all"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
