# LinkedIn Company Search Scraper (`khadinakbar/linkedin-company-search-scraper`) Actor

Search public LinkedIn company pages by keyword, industry, and location. Cookieless, MCP-ready.

- **URL**: https://apify.com/khadinakbar/linkedin-company-search-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 company founds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 Search Scraper

Search **public LinkedIn company pages** by keyword, industry, and location — no login, no cookies, no LinkedIn account required. Returns one structured record per company, ready for CRM import, lead lists, or an AI agent. Optional one-click **deep enrichment** adds industry, employee count, company size, headquarters, website, founded year, follower count, specialties, and description straight from each public company page.

Built for AI agents and automation: narrow inputs in, clean flat JSON out, predictable pay-per-event pricing.

### What it does

- Runs a managed Google search restricted to `linkedin.com/company` and folds your keyword + industry + location filters into one query.
- Returns each unique company with name, LinkedIn URL, slug, industry signal, and result rank.
- Optionally enriches every company with the full public company profile (industry, employees, size, HQ, website, founded, followers, specialties, description).
- Cookieless and account-free — it never logs into LinkedIn. All data is public, equivalent to what an incognito browser sees.

### When to use it

- Build a target list of companies in a niche + city for B2B outbound.
- Enrich a market map with employee counts, websites, and HQ locations.
- Feed an AI agent a company-discovery tool that returns structured firmographics.

**When NOT to use it:** to scrape people/employees, use `linkedin-profile-search-scraper`. To enrich one known profile, use `linkedin-profile-email-scraper`. This actor discovers and enriches **companies**, not individuals.

### Output

| Field | Description |
|---|---|
| `companyName` | Company display name |
| `linkedinUrl` | Canonical `linkedin.com/company/<slug>` URL |
| `slug` | Company handle |
| `industry` | Industry / sector |
| `employeeCount` | Approximate employee count (enriched) |
| `companySize` | LinkedIn size band, e.g. `51-200 employees` (enriched) |
| `companyType` | e.g. `Privately Held` (enriched) |
| `founded` | Founding year (enriched) |
| `website` | Company website (enriched) |
| `headquarters` / `city` / `state` / `country` | HQ location (enriched) |
| `followerCount` | LinkedIn follower count (enriched) |
| `specialties` | Declared specialties (enriched) |
| `description` | Company About text (enriched) |
| `snippet` | Raw Google SERP snippet |
| `rank` | Position in search results |
| `source` | `serpapi` or `serpapi+scrapecreators` |
| `enriched` | Whether deep enrichment ran |

### Input

| Field | Type | Notes |
|---|---|---|
| `keywords` | string | Free-text terms (e.g. `fintech payments`) |
| `industry` | string | Industry phrase (e.g. `Software Development`) |
| `location` | string | City / region / country |
| `country` | string | ISO 3166-1 alpha-2 code for Google routing (default `us`) |
| `maxResults` | integer | 1–500, default 25 |
| `enrich` | boolean | Deep-enrich each company (default `false`) |

At least one of `keywords`, `industry`, or `location` is required.

### Pricing (pay-per-event)

| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Company found | $0.01 |
| Company enriched (only when `enrich=true`) | $0.02 |

A 25-company search-only run costs ~$0.25. With enrichment, ~$0.75. You are never charged past `maxResults`.

### Example

```json
{
  "keywords": "fintech",
  "location": "Berlin",
  "maxResults": 25,
  "enrich": true
}
````

Returns up to 25 Berlin fintech companies, each with industry, employee count, HQ, website, founded year, and follower count.

### MCP / AI agents

Exposed in the Apify MCP server as `apify--linkedin-company-search-scraper`. Tool input is a plain keyword/industry/location query; output is flat JSON per company. Ideal as a company-discovery + firmographic-enrichment tool in an agent pipeline.

### FAQ

**Do I need a LinkedIn account or cookies?** No. The actor is fully cookieless and only reads public data.

**How fresh is the data?** Pulled live per run from Google and the public LinkedIn company page.

**Can it find employees or emails?** No — it returns company-level data. Use the LinkedIn profile actors for people.

**Why might a company be missing fields?** Search-only runs (`enrich=false`) return name + URL + industry signal. Enrich for full firmographics. Some companies hide certain fields publicly; those come back `null`.

### Legal

This actor collects only publicly available company information, equivalent to what any visitor sees without logging in. You are responsible for using the data in compliance with LinkedIn's Terms of Service, GDPR/CCPA, and applicable laws. Do not use it to collect personal data unlawfully. Provided "as is" without warranty.

# Actor input Schema

## `keywords` (type: `string`):

Free-text company-search terms run against public LinkedIn company pages (e.g. 'fintech payments' or 'solar installer'). Combined with the other filters into one Google query. Defaults to empty. NOT a company URL — this searches for companies, it does not enrich a known page.

## `industry` (type: `string`):

Industry or sector to match in the company page (e.g. 'Software Development' or 'Renewable Energy'). Quoted automatically so multi-word industries stay intact. Defaults to empty. NOT a free-form description — keep it to a short industry phrase.

## `location` (type: `string`):

City, region, or country the company is based in (e.g. 'San Francisco' or 'Berlin'). Used both in the search text and as the SerpApi geo hint. Defaults to empty. NOT a country code — use 'Country' for Google domain routing.

## `country` (type: `string`):

Two-letter country code used to route the Google domain and result language (e.g. 'us', 'gb', 'de'). Defaults to 'us'. NOT a free-text country name — must be an ISO 3166-1 alpha-2 code.

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

Maximum number of unique public company pages to return. Each company returned is billed as one 'company-found' event. Defaults to 25, max 500. Set lower to cap cost on exploratory searches.

## `enrich` (type: `boolean`):

When true, each found company is additionally fetched from its public LinkedIn page (industry, employee count, company size, headquarters, website, founded year, followers, specialties, description) via ScrapeCreators and billed as one extra 'company-enriched' event. Defaults to false (search-only). Leave off for fast, cheap discovery.

## Actor input object example

```json
{
  "keywords": "fintech payments",
  "industry": "Software Development",
  "location": "San Francisco",
  "country": "us",
  "maxResults": 25,
  "enrich": false
}
```

# Actor output Schema

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

Dataset of public LinkedIn company pages returned by the search.

## `summary` (type: `string`):

Key-value summary of the run (query, counts, billed estimate).

# 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 = {
    "keywords": "fintech",
    "industry": "",
    "location": "",
    "country": "us",
    "maxResults": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/linkedin-company-search-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 = {
    "keywords": "fintech",
    "industry": "",
    "location": "",
    "country": "us",
    "maxResults": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/linkedin-company-search-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 '{
  "keywords": "fintech",
  "industry": "",
  "location": "",
  "country": "us",
  "maxResults": 25
}' |
apify call khadinakbar/linkedin-company-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Company Search Scraper",
        "description": "Search public LinkedIn company pages by keyword, industry, and location. Cookieless, MCP-ready.",
        "version": "0.1",
        "x-build-id": "EPMfeFyVrpiyzNw1R"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~linkedin-company-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-linkedin-company-search-scraper",
                "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/khadinakbar~linkedin-company-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-linkedin-company-search-scraper",
                "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/khadinakbar~linkedin-company-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-linkedin-company-search-scraper",
                "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",
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Free-text company-search terms run against public LinkedIn company pages (e.g. 'fintech payments' or 'solar installer'). Combined with the other filters into one Google query. Defaults to empty. NOT a company URL — this searches for companies, it does not enrich a known page."
                    },
                    "industry": {
                        "title": "Industry",
                        "type": "string",
                        "description": "Industry or sector to match in the company page (e.g. 'Software Development' or 'Renewable Energy'). Quoted automatically so multi-word industries stay intact. Defaults to empty. NOT a free-form description — keep it to a short industry phrase."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, region, or country the company is based in (e.g. 'San Francisco' or 'Berlin'). Used both in the search text and as the SerpApi geo hint. Defaults to empty. NOT a country code — use 'Country' for Google domain routing."
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Two-letter country code used to route the Google domain and result language (e.g. 'us', 'gb', 'de'). Defaults to 'us'. NOT a free-text country name — must be an ISO 3166-1 alpha-2 code."
                    },
                    "maxResults": {
                        "title": "Max companies",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of unique public company pages to return. Each company returned is billed as one 'company-found' event. Defaults to 25, max 500. Set lower to cap cost on exploratory searches.",
                        "default": 25
                    },
                    "enrich": {
                        "title": "Deep enrich each company",
                        "type": "boolean",
                        "description": "When true, each found company is additionally fetched from its public LinkedIn page (industry, employee count, company size, headquarters, website, founded year, followers, specialties, description) via ScrapeCreators and billed as one extra 'company-enriched' event. Defaults to false (search-only). Leave off for fast, cheap discovery.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
