LinkedIn Company Search Scraper avatar

LinkedIn Company Search Scraper

Pricing

from $10.00 / 1,000 company founds

Go to Apify Store
LinkedIn Company Search Scraper

LinkedIn Company Search Scraper

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

Pricing

from $10.00 / 1,000 company founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

7 days ago

Last modified

Share

LinkedIn Company Search Scraper is an Apify Actor for searching public LinkedIn company pages by keyword, industry, and location. It accepts free-text company search terms plus optional industry, location, country, maxResults, and enrich settings. Each returned record represents one matched public company page and can include the company name, LinkedIn URL, slug, search snippet, rank, source, industry, follower count, employee count, company size, company type, founded year, website, headquarters, city, state, country, description, specialties, and slogan. The Actor is also usable through Apify MCP for company discovery and optional public-company enrichment.

The main outcome is a dataset of one record per matched company, plus a run summary in key-value storage. That gives you a structured company list you can review, filter, or hand off into the next step of a workflow.

Best fit and connected workflows

This Actor fits workflows that start with broad company discovery and end with structured company records.

Use it when you want to:

  • Find public LinkedIn company pages by a niche, industry, or city.
  • Build a company shortlist with LinkedIn URL, rank, snippet, and source.
  • Add public firmographic context with deep enrichment when a workflow needs more company detail.
  • Feed an agent a company-discovery tool that returns one flat record per matched company.

A natural connected workflow is:

  1. Search for companies with this Actor. a bounded number of Review the matched company records in the dataset.
  2. Pass selected public company URLs into a downstream enrichment Actor when your workflow needs additional profile-level context.

Related Actors:

Practical scenario

Maya is preparing a shortlist of software companies in Berlin. She starts with:

  • keywords: fintech
  • industry: Software Development
  • location: Berlin
  • country: de
  • maxResults: 10
  • enrich: true

The run returns records with fields such as companyName, linkedinUrl, employeeCount, website, and headquarters. Maya uses employeeCount, headquarters, and website to decide which companies belong in the next outreach segment, then sends the selected public company URLs to a downstream workflow for more detailed review.

Input

FieldTypeDescription
keywordsstringFree-text company-search terms run against public LinkedIn company pages. Combined with the other filters into one Google query. Defaults to empty. Example: fintech payments.
industrystringIndustry or sector to match in the company page. Multi-word values are quoted automatically. Defaults to empty. Example: Software Development.
locationstringCity, region, or country the company is based in. Used in the search text and as the SerpApi geo hint. Defaults to empty. Example: San Francisco.
countrystringTwo-letter country code used to route the Google domain and result language. Defaults to us. Example: de.
maxResultsintegerMaximum number of unique public company pages to return. Minimum 1, maximum 500. Each returned company is billed as one company-found event.
enrichbooleanWhen true, each found company is additionally fetched from its public LinkedIn page for deeper company fields via ScrapeCreators and billed as one extra company-enriched event. Defaults to false.

Example input

{
"keywords": "fintech payments",
"industry": "Software Development",
"location": "Berlin",
"country": "de",
"maxResults": 10,
"enrich": true
}

Output

The output schema exposes a companies dataset link with matched public LinkedIn company pages and a summary record in key-value storage for the execution overview.

FieldTypeDescription
querystringSearch query used for the record.
companyNamestring or nullCompany display name.
slugstring or nullCompany handle.
linkedinUrlstring or nullCanonical LinkedIn company URL.
snippetstring or nullRaw Google SERP snippet.
rankinteger or nullSearch result position.
sourcestring or nullSearch source identifier.
enrichedboolean or nullIndicates whether deep enrichment ran.
industrystring or nullIndustry or sector signal.
followerCountinteger or nullLinkedIn follower count.
employeeCountinteger or nullApproximate employee count.
companySizestring or nullLinkedIn size band.
companyTypestring or nullCompany type.
foundedinteger or nullFounding year.
websitestring or nullCompany website.
headquartersstring or nullHeadquarters string.
citystring or nullCity from enriched company data.
statestring or nullState or region from enriched company data.
countrystring or nullCountry from enriched company data.
descriptionstring or nullPublic company description.
specialtiesarray or nullDeclared specialties.
sloganstring or nullCompany slogan.
scrapedAtstring or nullTimestamp of the scrape.
_statusstring or nullInternal status field.
_messagestring or nullInternal message field.

Example output record

{
"query": "fintech payments Berlin",
"companyName": "Example Company",
"slug": "example-company",
"linkedinUrl": "https://www.linkedin.com/company/example-company/",
"snippet": "LinkedIn company page for Example Company",
"rank": 1,
"source": "serpapi+scrapecreators",
"enriched": true,
"industry": "Software Development",
"followerCount": 12000,
"employeeCount": 85,
"companySize": "51-200 employees",
"companyType": "Privately Held",
"founded": 2017,
"website": "https://example.com",
"headquarters": "Berlin, Germany",
"city": "Berlin",
"state": null,
"country": "DE",
"description": "Public company description text.",
"specialties": ["Payments", "Fintech"],
"slogan": null,
"scrapedAt": "2026-01-01T00:00:00.000Z",
"_status": null,
"_message": null
}

How it works

This Actor uses a managed Google search restricted to linkedin.com/company and combines your keyword, industry, and location inputs into one search query. It routes the Google domain and language with the country input. It returns unique public company pages, and when enrich is enabled, it fetches additional public company fields via ScrapeCreators from the LinkedIn company page. Results are stored in the default dataset, and the run summary is stored in the default key-value store.

The implementation is cookieless and uses public sources. The overview dataset view presents company rows with companyName, industry, headquarters, employeeCount, website, linkedinUrl, source, enriched, and scrapedAt.

Pricing

This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab in the Apify console to review the current event pricing and any platform usage charges that apply to your run.

Charged events include:

  • Actor start
  • Company found
  • Company enriched

For example, a run that returns twenty-five companies with enrichment turned off includes one actor start event and twenty-five company-found events. If enrichment is enabled for those same twenty-five companies, the run also includes twenty-five company-enriched events.

Use with AI agents (MCP)

This Actor is available through Apify MCP as a tool for public LinkedIn company search and optional company enrichment.

Exact Actor identity: khadinakbar/linkedin-company-search-scraper

Tool description: search public LinkedIn company pages from keyword, industry, and location inputs, then return one structured record per matched company. The output includes discovery fields such as company name, LinkedIn URL, rank, and snippet, plus optional enriched company fields when enabled.

Find public LinkedIn companies for "renewable energy" in Austin, return up to 15 results, and include enrichment so I can review headquarters, website, and employee count before I choose which companies to pass to the next step.

Output interpretation:

  • Use companyName, linkedinUrl, rank, and snippet to review the search match.
  • Use enriched, industry, employeeCount, companySize, website, and headquarters for company-level context.
  • Use scrapedAt to understand when the public company data was collected.

Provenance and scope:

  • Search results come from public LinkedIn company pages surfaced through Google.
  • Enriched fields come from the public company page when enrichment is enabled.
  • The Actor focuses on companies, not people profiles.

Pagination and cost guidance:

  • Set maxResults to match the number of companies you want returned.
  • Lower values keep discovery runs compact.
  • Enrichment adds one charged event per company when enabled.

API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
keywords: 'fintech payments',
industry: 'Software Development',
location: 'Berlin',
country: 'de',
maxResults: 10,
enrich: true,
};
const run = await client.actor('khadinakbar/linkedin-company-search-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log('Dataset items:');
console.log(items);

Best results and outcome guidance

Use focused search terms that describe the company segment you want to find. Combine a short keyword phrase with a specific industry or location when you already know the market segment. Set country to the ISO alpha-2 code for the market you want searched. Keep maxResults aligned with the number of companies you want to review, and enable enrich when the workflow needs company-level firmographics such as employee count, website, and headquarters.

Design note

I found that the output contract includes both companies and summary references, while the dataset records themselves carry fields like query, companyName, linkedinUrl, and scrapedAt. That made it clear the README should separate dataset records from the run summary.

FAQ

Is this Actor for companies or people?

This Actor is for public LinkedIn company pages. For people-focused workflows, use a profile scraper.

What should I enter as input?

Use keywords, industry, and location to describe the company set you want to find. Use country to route the search market, maxResults to cap how many companies you want back, and enrich when you want deeper company fields.

What comes back if I only want discovery results?

You still receive one record per matched company with discovery fields such as companyName, linkedinUrl, rank, snippet, and source. Enriched company fields are populated when enrich is enabled.

How do I connect this to another Actor?

Use the returned public company URLs as the handoff into a downstream workflow. The verified related actor in this README is a natural next step when your process accepts a public LinkedIn URL or ID and needs more profile-level context.

Where do I check usage and charges?

Open the live Pricing tab in the Apify console for the current Pay per event and platform usage details.

Responsible use

Use this Actor only for public company information. Review your use case against applicable laws, platform terms, and internal data-handling policies before storing or sharing the results.