LinkedIn Company Scraper: Public Company Data Without a Login

Extract public LinkedIn company data programmatically without a login, browser, or LinkedIn API key. Get employee count, industry, headquarters, description, specialties, follower count, top employees, and recent company posts for any LinkedIn company profile. Input a list of LinkedIn URLs or company slugs and get structured data back. Pay-per-result at $5 per 1,000 companies.

Open on Apify → Read the tutorial
Runtime
Cloud (Apify)
Proxy
Residential (GOOGLE_SERP for lookup)
Coverage
Public company profiles worldwide
Pricing
$5 / 1,000 companies
Auth
None required (optional cookie for more data)
Runtime type
HTTP-only, no browser

What You Get

Input Example

{
  "companies": [
    {
      "company_id": "acme-1",
      "company_name": "Example Company Ltd.",
      "linkedin_url": "https://www.linkedin.com/company/example-company"
    },
    {
      "company_id": "acme-2",
      "company_name": "Sample Widgets GmbH",
      "website_domain": "sample-widgets.example"
    }
  ],
  "includeEmployees": true,
  "maxEmployeesPerCompany": 10,
  "employeeTitleFilters": ["HR", "CEO", "CTO"]
}

Output Example

{
  "company_id": "acme-1",
  "company_name": "Example Company Ltd.",
  "linkedin_url": "https://www.linkedin.com/company/example-company",
  "employee_count": 5000,
  "employee_count_range": "1,001-5,000",
  "industry": "Software Development",
  "headquarters": "Munich, Bavaria",
  "description": "Example Company Ltd. builds sample software for demo purposes.",
  "specialties": ["Sample Product", "Demo Service", "Widget Manufacturing"],
  "website": "https://www.example.com",
  "founded": "2015",
  "company_type": "Privately Held",
  "follower_count": 182760,
  "employees": [
    { "name": "Jane Doe", "title": "Head of People", "linkedin_url": "https://www.linkedin.com/in/jane-doe-example" }
  ],
  "posts": [
    { "text": "We are hiring across our engineering teams.", "posted_at": "2d" }
  ],
  "error": null
}

Who Should Use This

CRM enrichment teams bulk-enrich prospect lists with headcount, industry, and HQ location from LinkedIn at a fraction of the cost of dedicated data providers. Sales teams doing ICP scoring filter a prospect list by company size range or industry vertical before outreach, removing the manual lookup step entirely. Market researchers map competitive landscapes by pulling all companies in a niche along with their specialties and follower counts. HR and people teams track headcount changes over time as a hiring or growth signal. The optional includeEmployees mode adds name and LinkedIn URL for key contacts filtered by job title, making this actor a two-in-one company enrichment and contact-discovery tool.

Related Tutorials

Integrations

Run this actor directly on Apify (no code)

Click Open on Apify above to run linkedin-company-scraper in your browser - no code, no install. In the Apify console you get:

Get your Apify API token

To run this actor from your own code you need an Apify API token. Get one in about a minute:

  1. Sign up for a free Apify account (Google, GitHub, or email).
  2. Go to Settings → Integrations → API tokens.
  3. Click Create a new API token. Copy it and keep it secret.

Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully - at $0.001 per result on typical scrapers, that is roughly 5,000 results for free every month.

Call from code

Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~linkedin-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/linkedin-company-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/linkedin-company-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)
// dotnet add package Apify.Client
using Apify.Client;

var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/linkedin-company-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();
// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;

ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/linkedin-company-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();

Use with AI agents (MCP)

This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.

https://mcp.apify.com?tools=santamaria-automations/linkedin-company-scraper

Example prompt once connected:

"Use <code>linkedin-company-scraper</code> to run a scrape on my target list and give me the results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Use with no-code platforms

Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.

  1. Add the n8n Apify node (installed by default on n8n Cloud; on self-hosted install @apify/n8n-nodes-apify).
  2. Set Actor to santamaria-automations/linkedin-company-scraper.
  3. Choose operation Run Actor and get dataset, paste your input JSON, and connect a downstream node (Google Sheets, Postgres, webhook, ...).
  1. Create a new Zap with any trigger.
  2. Add a Webhooks by Zapier POST action to https://api.apify.com/v2/acts/santamaria-automations~linkedin-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Body: your input JSON. Content-Type: application/json.
  1. Create a new scenario.
  2. Add an HTTP module: URL https://api.apify.com/v2/acts/santamaria-automations~linkedin-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.
  3. Parse the response with a JSON module to iterate items downstream.
  1. Create a new workflow.
  2. Add an HTTP Request step: POST to https://api.apify.com/v2/acts/santamaria-automations~linkedin-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Access steps.http.$return_value in subsequent steps.
  1. Install the API Connector plugin.
  2. Add a new API: POST https://api.apify.com/v2/acts/santamaria-automations~linkedin-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.
  3. Initialize the call with your input, then reference the response array in workflow actions.

Related tutorials

Open on Apify → Read the tutorial