LinkedIn Company Search Scraper
Pricing
from $5.00 / 1,000 company founds
LinkedIn Company Search Scraper
Search public LinkedIn company pages by keyword, industry and location. Each row has company name, LinkedIn URL and industry, with optional enrichment (employee count, HQ, website, founded year, followers) and an employee-count band filter. No login or cookies.
Pricing
from $5.00 / 1,000 company founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
10
Monthly active users
16 hours ago
Last modified
Categories
Share
What is LinkedIn Company Search Scraper?
LinkedIn Company Search Scraper finds public LinkedIn company pages by keyword, industry and location, with no login or cookies. Each matched company becomes one dataset row with company name, LinkedIn URL, slug, industry and search rank. Turn on enrich to add public firmographics (employee count, size band, headquarters, website, founded year, followers, specialties) and filter the list by headcount with minEmployees / maxEmployees.
| What you get | Fields |
|---|---|
| Match | companyName, linkedinUrl, slug, snippet, rank, query, source |
Firmographics (with enrich) | industry, employeeCount, companySize, companyType, founded, followerCount |
Location and contact (with enrich) | headquarters, city, state, country, website |
Positioning (with enrich) | description, specialties, slogan |
Best fit
- Prospect lists: find companies in a niche and city, then keep only a headcount band.
- Market maps: count and compare companies in an industry and region.
- CRM enrichment: get the LinkedIn URL, website and size for target accounts.
- AI agents: one call returns flat company rows for ranking or outreach planning.
Start with this Actor for keyword discovery. If you already designed the search in Sales Navigator, use LinkedIn Sales Navigator Account Scraper instead to convert the Sales Navigator account URL.
Practical scenario
A founder wants SaaS companies in Berlin with 10 to 200 employees. She runs keywords: "SaaS", location: "Berlin", country: "de", enrich: true, minEmployees: 10, maxEmployees: 200. Companies outside the band are skipped and not charged. She sorts the export by employeeCount, opens website for the top matches, and passes the linkedinUrl list to the posts Actor below to see what each company is announcing.
Input
| Field | Type | Default | Description |
|---|---|---|---|
keywords | string | empty | Free-text terms, for example fintech payments or solar installer. |
industry | string | empty | Industry phrase, for example Software Development. |
location | string | empty | City, region or country, for example Berlin. |
country | string | us | Two-letter code for the search region, for example de. |
maxResults | integer | 25 | Companies to return and charge (1–500). |
enrich | boolean | false | Add public firmographics to every row (adds the company-enriched event). |
minEmployees | integer | 0 | Keep only companies with at least this many employees. Needs enrich. |
maxEmployees | integer | 0 | Keep only companies with at most this many employees. Needs enrich. |
Provide at least one of keywords, industry or location.
{"keywords": "renewable energy","location": "Germany","country": "de","maxResults": 20,"enrich": true,"minEmployees": 10,"maxEmployees": 500}
Output
One dataset row per matched public company page. Sample enriched row (description shortened):
{"query": "site:linkedin.com/company renewable energy companies \"Renewable Energy\" Germany","companyName": "re.venture GmbH","slug": "re.venture-gmbh","linkedinUrl": "https://www.linkedin.com/company/re.venture-gmbh","rank": 2,"source": "google-search+enrich","enriched": true,"industry": "Renewable Energy Semiconductor Manufacturing","followerCount": 5288,"employeeCount": 21,"companySize": "11-50 employees","companyType": "Privately Held","founded": 2017,"website": "http://www.reventure.de","headquarters": "Berlin, BE","city": "Berlin","country": "DE","description": "re.venture GmbH is a German company founded in Berlin by leading renewable energy experts...","slogan": "Generate. Capture. Balance. Deliver.","scrapedAt": "2026-10-01T12:35:05.562Z"}
employeeCount is the count of members linked to the company page; companySize is the band the company states. Both come from the public page. Each run also writes OUTPUT and RUN_SUMMARY with an outcome (COMPLETE, VALID_EMPTY, INVALID_INPUT or UPSTREAM_FAILED), counts and companies skipped by the employee band.
Pricing
Pay per event, with Apify platform usage included. You pay the company-found event once for each company saved, the company-enriched event when enrich adds firmographics to that row, and the small apify-actor-start event. Companies skipped by minEmployees / maxEmployees are not charged, and maxResults caps company-found events. See the Pricing tab for current event prices.
Use with AI agents (MCP)
Actor identity: khadinakbar/linkedin-company-search-scraper.
Find 25 fintech companies in London on LinkedIn with 20 to 500 employees, and return their websites and headquarters.
{ "keywords": "fintech", "location": "London", "country": "gb", "maxResults": 25, "enrich": true, "minEmployees": 20, "maxEmployees": 500 }
Read OUTPUT.outcome first: VALID_EMPTY means the search had no matching public company pages (try broader keywords), and linkedinUrl is the stable identifier for follow-up calls.
API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/linkedin-company-search-scraper').call({keywords: 'solar installer',location: 'Texas',maxResults: 25,enrich: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });console.log(items.map((c) => [c.companyName, c.employeeCount, c.website]));
Best results
- Combine one niche keyword with a location; very broad searches return generic pages.
- Use
countryto match the market (for exampledefor Germany) so local company pages rank. - Run once without
enrichto check the list, then rerun withenrichand a headcount band. - Results come from public search, so a narrow niche may return fewer than
maxResultscompanies.
Builder's note
I built this for discovery: finding companies you did not already know about. I found that most buyers immediately filter by size, so I made the headcount band run before billing: you pay only for companies inside your range.
Continue the workflow
- Then use LinkedIn Company Posts Scraper to monitor what the companies you found are posting.
- Then use LinkedIn Company Employee Scraper to find public employee profiles at your shortlisted companies.
FAQ
Do I need a LinkedIn account or cookies?
No. The Actor reads public search results and public company pages only.
Why is employeeCount different from companySize?
companySize is the band the company chose on LinkedIn; employeeCount counts members who list the company. Both are public; filter on whichever suits you (minEmployees / maxEmployees use employeeCount).
Can I search for people?
This Actor finds companies. For people, use LinkedIn People Search Scraper instead.
Responsible use
This Actor collects publicly available company information. Use it in line with LinkedIn's terms, privacy law and your own data policies. This Actor is not affiliated with or endorsed by LinkedIn.