# LinkedIn Company Search: Industry, Location, Size, No Login (`themineworks/linkedin-company-search`) Actor

Find companies on LinkedIn by industry, location, company size and keywords with no login or cookies. One row per company: LinkedIn URL, tagline, industry, head office, followers, employee range, website, plus founded, specialties, About and offices from the public page.

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

## Pricing

from $2.70 / 1,000 companies

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## LinkedIn Company Search: Industry, Location, Size, No Login

[![20 San Francisco software companies with industry, size, head office, followers and website in 47 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/linkedin-company-search-hero.png)](https://console.apify.com/actors/EguuW7FXOd5prO22v/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 245,000 runs across 280+ public actors.

Updated 27 Oct 2026: first release. Search LinkedIn companies by any mix of industry, head office location, company size, keywords and name, run up to 100 searches in one go, and get one flat row per company with the public company page read too. Bookmark this Actor on its Store page so it is one click away next time.

### Why choose this actor?

- **Full company details in every row, at one price.** Each company's public LinkedIn page is read by default: exact industry, size range, head office, followers, employees on LinkedIn, website and domain, founded year, type, specialties, About text, address, office list and logo. Reading the page costs nothing extra.
- **The companies you asked for, not lookalikes.** Search engines fill a page with companies that only mention your city in a post or an office list. With `strictMatch` on (the default) a company is kept only when its own LinkedIn page does not contradict your search: the industry, the head office, the size range and the name are checked on exact values. In our tests this dropped Vienna, Paris and Munich companies from a Berlin search, and they were never charged.
- **Built for one call per record.** A company name returns that company's LinkedIn page and details in about 15 seconds, 256 MB, no start up work: the shape Clay tables, n8n flows and AI agents call thousands of times a day. Batches of up to 100 searches work too. No LinkedIn account, no cookies, no ban risk.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/EguuW7FXOd5prO22v/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works LinkedIn family:** [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Email Finder](https://apify.com/themineworks/linkedin-email-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Newsletter Scraper](https://apify.com/themineworks/linkedin-newsletter-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

Guide and FAQs: [LinkedIn Company Search on themineworks.com](https://themineworks.com/actors/linkedin-company-search/).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns 20 software companies with 51 to 200 employees and their head office in San Francisco, with their public company pages read. It took 47 seconds in our latest test run:

```json
{
  "industry": "Software Development",
  "location": "San Francisco",
  "companySize": ["51-200"],
  "maxResultsPerSearch": 20
}
```

To look up one company, give its name: `{"name": "Revolut", "maxResultsPerSearch": 1}` took 16 seconds in our test.

Apify's free plan includes $5 of credit every month, which covers about 1,300 companies at this actor's price.

#### Copy to your AI assistant

```text
themineworks/linkedin-company-search on Apify. Finds companies on LinkedIn by industry, head office location, company size, keywords and name, with no login, and returns one flat row per company. Call ApifyClient("TOKEN").actor("themineworks/linkedin-company-search").call(run_input={"industry": "Software Development", "location": "San Francisco", "companySize": ["51-200"], "maxResultsPerSearch": 20}), then client.dataset(run["defaultDatasetId"]).list_items().items. Input: any of industry (LinkedIn industry name), location (city, US state or country of the head office), companySize (list of 0-1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+, or a range such as 50-500), keywords, name (one search); searches (list of objects with those keys, up to 100). Optional: maxResultsPerSearch (default 20, 1 to 500), enrichCompanies (default true; reads the public company page), strictMatch (default true; drops companies whose own industry, head office, size or name contradicts the search). The dataset holds company rows only, each with company_url, universal_name, name, tagline, industry, company_size, employees_min, employees_max, employees_on_linkedin, followers, followers_approx, headquarters, country_code, address (street, city, region, postal_code, country_code), locations (address, country_code, primary), website, domain, founded, company_type, specialties, about, logo_url, snippet, company_page (read, not_public, failed, skipped), source, match (name, industry, location, company_size as true or false), search, search_index, search_query, position, page, scraped_at. Empty dataset = no company matched. The run summary and every input that could not be read are in the key-value store record OUTPUT. Full spec: GET https://api.apify.com/v2/acts/themineworks~linkedin-company-search/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Search by any mix of fields.** `industry`, `location`, `companySize`, `keywords` and `name` are combined into one search. Use one or all five: an industry in a city, a keyword in a country, a size range across the world, one company by name.
- **LinkedIn's own size ranges.** `companySize` takes one or more of 0-1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000 and 10001+, or a wider range such as 50-500, which becomes the ranges inside it. Every row also carries `employees_min` and `employees_max` as numbers for filtering.
- **Head office by city, US state or country.** `Berlin`, `Texas`, `London, UK` and `Germany` all work. A country is checked against the country of the company's address, so `Germany` keeps a company whose head office reads "Berlin, Berlin". Common local spellings count too: Munich finds München, Bangalore finds Bengaluru.
- **Search fields on every row, page fields on top.** Name, LinkedIn link, followers and, when the search engine shows them, industry, size, head office and website come from the search result itself, so a row has them even when the page is not read. The public page then adds the exact values and the rest.
- **Stops cleanly and never bills a miss.** A search ends when two results pages in a row bring no new match or the results run out; the run stops searching if the search engine stops answering, and keeps every row it found. The same company found twice in a run is delivered once.

### How to use it

#### Look up one company (enrichment step in Clay, n8n or Make)

```json
{
  "name": "Siemens Healthineers",
  "maxResultsPerSearch": 1
}
```

One row, or an empty dataset when no company of that name exists. Map `company_url`, `industry`, `company_size`, `headquarters` and `website` back into your table. In Clay, use an HTTP API column that starts this actor with the row's company name and reads the dataset items; in n8n, the Apify node's "Run actor and get dataset" does the same.

#### Build an account list: an industry, a place and a size

```json
{
  "industry": "Hospitals and Health Care",
  "location": "Texas",
  "companySize": ["201-500", "501-1000"],
  "maxResultsPerSearch": 100
}
```

Up to 100 companies, 10 search results per page. Companies whose head office is outside Texas, or whose size or industry is another, are dropped.

#### Many searches in one run

```json
{
  "searches": [
    { "industry": "Financial Services", "location": "London", "keywords": "fintech" },
    { "keywords": "cybersecurity", "location": "Israel" },
    { "industry": "IT Services and IT Consulting", "location": "Bangalore", "companySize": ["51-200"] },
    { "name": "Notion" },
    "electric vehicles Norway"
  ],
  "maxResultsPerSearch": 20
}
```

Each item is its own search, numbered in `search_index` and echoed in `search`. A plain string is used as keywords.

#### Fast export from the search results only

```json
{
  "keywords": "fintech",
  "companySize": ["11-50"],
  "maxResultsPerSearch": 50,
  "enrichCompanies": false
}
```

Faster, because no company page is read. Rows keep what the search engine shows: name, link and followers always; industry and head office for 12 of 20 companies and size for 6 of 20 in our test. The strict check runs on those values only, so a company whose head office is not shown is kept.

#### See everything the search engine found

```json
{
  "industry": "Software Development",
  "location": "Berlin",
  "maxResultsPerSearch": 40,
  "strictMatch": false
}
```

No company is dropped. Each row's `match` object still says which of your fields matched, for example `{"industry": true, "location": false}` for a company with a Berlin office and its head office in Vienna.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `industry` | string | empty | LinkedIn industry name, for example `Software Development`. A part works too. |
| `location` | string | empty | City, US state or country of the head office. |
| `companySize` | array of strings | empty | LinkedIn size ranges, or a wider range such as `50-500`. |
| `keywords` | string | empty | Any other words, for example `fintech` or `"electric vehicles"`. |
| `name` | string | empty | Company name, for a lookup. |
| `searches` | array | empty | Many searches, each an object with the five fields above, or a string of keywords. Up to 100. |
| `maxResultsPerSearch` | integer | `20` | Most companies per search, 1 to 500. |
| `enrichCompanies` | boolean | `true` | Reads each company's public LinkedIn page for exact values, founded, specialties, About, address, offices and logo. |
| `strictMatch` | boolean | `true` | Drops companies whose own industry, head office, size or name contradicts your search. |

Give at least one search field, or `searches`.

**Industry names.** LinkedIn files every company under one industry from its own list, such as Software Development, IT Services and IT Consulting, Financial Services, Hospitals and Health Care, Computer and Network Security or Business Consulting and Services. Use those words in `industry`. A niche word that is not a LinkedIn industry (fintech, SaaS, cybersecurity) belongs in `keywords`.

### What data do you get?

One row per company in the default dataset, nothing else, so a pipeline can map the dataset as is.

| Field | What it is |
|---|---|
| `company_url`, `universal_name` | `https://www.linkedin.com/company/<id>` and the id itself, the key to store and join on |
| `name`, `tagline` | Company name and the one line under it |
| `industry` | LinkedIn industry, e.g. `Software Development` |
| `company_size`, `employees_min`, `employees_max` | e.g. `51-200 employees`, `51`, `200` |
| `employees_on_linkedin` | Members who list the company as their employer (page) |
| `followers`, `followers_approx` | Followers; `followers_approx` is true when only the search engine's rounded figure (5.2K+) was available |
| `headquarters`, `country_code` | e.g. `Berlin, Berlin`, `DE` |
| `address`, `locations` | Head office address, and every office listed with its country and which is primary (page) |
| `website`, `domain` | Website as listed, and its domain, e.g. `notion.com` |
| `founded`, `company_type` | e.g. `2016`, `Privately Held` (page, or the search result when shown) |
| `specialties`, `about`, `logo_url` | Specialties, About text, logo (page) |
| `snippet` | The search engine's text for the company |
| `company_page` | `read`, `not_public`, `failed` or `skipped` |
| `source` | `search` |
| `match` | Which of your fields matched: `name`, `industry`, `location`, `company_size` |
| `search`, `search_index`, `search_query`, `position`, `page` | The search that found the company, its number in your input, the query sent, the rank and the results page |
| `scraped_at` | When the row was written |

**OUTPUT record** (key-value store, never charged): `searches_requested`, `searches_read`, `searches_without_match`, `companies_delivered`, `charged_for`, `rejected_industry_mismatch`, `rejected_location_mismatch`, `rejected_size_mismatch`, `rejected_name_mismatch`, `duplicates_skipped`, `company_pages_read`, `google_pages_billed`, `stopped_by_max_cost`, `shortfall_reason` when fewer companies came back than asked, `per_search` with `query`, `results`, `candidates`, `delivered`, up to 5 `rejected_examples` and why each search `stopped`, and `errors`, one entry per input that could not be read (`invalid_search`, `invalid_company_size`, `google_error`).

#### What LinkedIn shows without login

The public company page shows everything this actor returns to anyone who is not signed in: the About grid (website, industry, size, head office, type, founded, specialties), the follower count, the offices list and the logo. In our tests LinkedIn showed it for 609 of 616 company pages. Revenue, funding rounds, employee lists and contact people are not on the public page and are not in the output.

#### Stable fields for automations

These were present in every row of our test runs (417 companies from 9 runs with company pages on), and their names will not change:

| Field | What it is |
|---|---|
| `company_url` | LinkedIn company link |
| `universal_name` | The key to store and join on |
| `name` | Company name |
| `company_page` | Whether the public page was read |
| `source` | search |
| `scraped_at` | When the row was written |

Present when there is a value: `industry`, `followers`, `employees_on_linkedin` and `logo_url` (416 of 417 rows), `company_size` (415), `headquarters`, `country_code` and `website` (393), `tagline` (356), `founded` (334), `specialties` (284) and `locations` (218; small companies often list no office).

#### Output examples

One company from the San Francisco software search, page read (test run, 27 Oct 2026, trimmed):

```json
{
  "company_url": "https://www.linkedin.com/company/truefoundry",
  "universal_name": "truefoundry",
  "name": "TrueFoundry",
  "tagline": "Central Control Plane for Generative AI",
  "industry": "Software Development",
  "company_size": "51-200 employees",
  "employees_min": 51,
  "employees_max": 200,
  "employees_on_linkedin": 139,
  "followers": 41911,
  "headquarters": "San Francisco, California",
  "country_code": "US",
  "address": {
    "city": "San Francisco",
    "region": "California",
    "postal_code": "94103",
    "country_code": "US"
  },
  "website": "https://truefoundry.com",
  "domain": "truefoundry.com",
  "founded": 2021,
  "company_type": "Privately Held",
  "specialties": [
    "DevTool",
    "Experimentation Tracking",
    "Deployment",
    "Monitoring",
    "MLOPs"
  ],
  "about": "TrueFoundry provides an enterprise-grade AI Gateway that encompasses an LLM Gateway, MCP Gateway, and Agent Gateway, enabling enterprises to securely ...",
  "company_page": "read",
  "source": "search",
  "match": {
    "industry": true,
    "location": true,
    "company_size": true
  },
  "search": {
    "industry": "Software Development",
    "location": "San Francisco",
    "companySize": [
      "51-200"
    ]
  },
  "search_query": "site:linkedin.com/company \"Software Development\" \"San Francisco\" \"51-200 employees\"",
  "position": 12,
  "page": 2
}
```

The OUTPUT record of the same run, trimmed:

```json
{
  "searches_requested": 1,
  "companies_delivered": 20,
  "charged_for": 20,
  "rejected_industry_mismatch": 3,
  "rejected_location_mismatch": 2,
  "duplicates_skipped": 5,
  "company_pages_read": 22,
  "google_pages_billed": 3,
  "per_search": [
    {
      "query": "site:linkedin.com/company \"Software Development\" \"San Francisco\" \"51-200 employees\"",
      "pages": 3,
      "results": 30,
      "candidates": 22,
      "delivered": 20,
      "rejected": 5,
      "duplicates": 5,
      "stopped": "max_results_reached",
      "rejected_examples": [
        {
          "name": "PieCyfer",
          "reason": "location",
          "value": "San Mateo, California"
        },
        {
          "name": "CodeFulcrum",
          "reason": "industry",
          "value": "Information Technology & Services"
        }
      ]
    }
  ],
  "run_seconds": 47
}
```

### Pricing

Pay per event: you pay for the companies you receive, plus a flat $0.002 per run that delivered at least one company, whatever memory you choose. Reading the public company page costs nothing extra.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `company-scraped` | Once per company row stored in your dataset | $3.60 per 1,000 | $3.30 per 1,000 | $3.00 per 1,000 | $2.70 per 1,000 |
| `run-start` | Once per run, right after the first company is delivered | $0.002 | $0.002 | $0.002 | $0.002 |

The price of one company is the price per 1,000 divided by 1,000.

Never charged:

- search results whose industry, head office, size or name contradicts your search (with `strictMatch` on);
- a company that a second search of the same run finds again, or that appears twice under different country addresses;
- companies past your `maxResultsPerSearch`;
- inputs that are not searches, and searches with no results;
- the OUTPUT record;
- a run that delivers nothing: the start fee is charged only after the first company is in your dataset;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every Monday at 08:00, the first of the month and so on).
3. Compare runs on `universal_name` to see new companies in your segment, and on `company_size`, `followers` and `employees_on_linkedin` to see who is growing.
4. Optional: add an integration (Google Sheets, Slack, a webhook) so each run lands where your team works.

### FAQ

#### What does this actor read?

Two public sources, without logging in: the search engine's results for LinkedIn company pages (`site:linkedin.com/company` searches, read through Apify Proxy), and each company's public LinkedIn page as anyone who is not signed in sees it. It does not use a LinkedIn account, cookies or LinkedIn's internal API, and does not read anything behind the sign in.

#### How does strict match decide?

It compares your search with the company's own values: the industry and size range from its About tab, and its head office (with the address country for a country search). A company that only mentions your city in a post, has an office there, or appears in another company's "Similar pages" box is dropped. A value the company does not show never drops it; `match` then leaves that field out. Turn `strictMatch` off to receive every result with a `match` object instead.

#### Why did a search return fewer companies than I asked for?

The search engine runs out, or most of its results did not match. The OUTPUT record says why each search `stopped` and shows up to 5 `rejected_examples` with the value that did not match. A common cause is an industry name that is not LinkedIn's (use Financial Services, not fintech) or a city written differently on LinkedIn.

#### How many companies can I get per search?

Up to 500 per search and 100 searches per run. The search engine shows 10 results per page, and repeats of the same company under country addresses are skipped. For a very large list, split it into several searches, for example by city or by size range.

#### How long does a run take?

In our tests: about 15 seconds for one company by name, 47 seconds for 20 San Francisco software companies with pages read, 130 seconds for 20 Berlin ones (most Berlin results were companies with only an office there), 3 minutes for 86 companies over 5 searches, 7 minutes for 200 companies over 2 searches. Most of the time is the search engine page, 3 to 15 seconds each, and resolving each result's link.

#### Do I need an account, cookies or a proxy?

No. The actor uses Apify Proxy, which is included. Nothing to set up.

#### Can it find people at these companies?

Not this actor. Pass `company_url` or `name` to [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) or [LinkedIn People Search](https://apify.com/themineworks/linkedin-people-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) to find people by role. Already have company links? [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) reads them directly.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. The dataset has three ready views: Companies, Search and match, and Company page details. In CSV and Excel, `address`, `locations` and `match` are flattened into columns such as `address/city`.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/linkedin-company-search

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http linkedin-company-search "https://mcp.apify.com/?tools=themineworks/linkedin-company-search"`

#### Is it legal to scrape LinkedIn?

The actor reads only what LinkedIn and the search engine show to anyone without logging in: company pages that companies publish to be found. LinkedIn's and Google's terms and robots.txt files restrict automated access. You are responsible for how you use the data. This is general information, not legal advice.

### Integrations

- **Clay**: an HTTP API column that runs the actor with the row's company name and reads the dataset items, one call per row.
- **Make, Zapier and n8n**: start a run and read its dataset with the Apify apps and nodes, for example "new 51 to 200 person software companies in Berlin every Monday to the CRM".
- **Google Sheets**: send each run's companies to a sheet with Apify's Google Sheets integration; one row per company fits a sheet as is.
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Email Finder](https://apify.com/themineworks/linkedin-email-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Newsletter Scraper](https://apify.com/themineworks/linkedin-newsletter-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Candidate Finder](https://apify.com/themineworks/linkedin-candidate-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a company the actor missed, or a field that comes back empty? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

*Search LinkedIn companies by industry, head office location, company size and keywords with no login, and get each company back as one row with LinkedIn link, industry, size, head office, followers, website and, from the public page, founded year, specialties, About, address and offices.*

# Actor input Schema

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

LinkedIn industry name as it appears on company pages, for example Software Development, Financial Services, Hospitals and Health Care or IT Services and IT Consulting. A part works too (Software). For a niche word such as fintech or cybersecurity, use Keywords instead.

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

City, US state or country of the head office, for example Berlin, Texas, London, United Kingdom or Germany. With strict match on, companies whose head office is elsewhere are left out.

## `companySize` (type: `array`):

One or more of LinkedIn's size ranges: 0-1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+. A wider range such as 50-500 is turned into the ranges inside it. Leave empty for any size.

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

Any other words the company page should contain, for example fintech, cybersecurity, SaaS or "electric vehicles". Quote a phrase to keep it together.

## `name` (type: `string`):

Find one company by name, for example Notion or Siemens Healthineers. With strict match on, only companies whose name holds every word you type are returned. Set Max companies per search to 1 for a lookup.

## `searches` (type: `array`):

Run many searches in one go. Each item is an object with any of industry, location, companySize, keywords, name, for example \[{"industry": "Financial Services", "location": "London", "keywords": "fintech"}, {"name": "Notion"}]. A plain string is used as keywords. Up to 100 searches per run; the fields above count as one more search.

## `maxResultsPerSearch` (type: `integer`):

The most companies to return for each search, 1 to 500. The search engine shows 10 per results page; a search ends earlier when the results run out.

## `enrichCompanies` (type: `boolean`):

On: each company's public LinkedIn page is read too, for the exact industry, size, head office, followers, employees on LinkedIn, website, founded year, type, specialties, About text, address, office list and logo, and to check your filters on exact values. Off: faster, fields only as the search result shows them. Same price either way.

## `strictMatch` (type: `boolean`):

On: drop companies whose own industry, head office, size or name contradicts your search. A value that is not known never drops a company. Off: return everything the search engine found, with a match object on each row saying what matched.

## Actor input object example

```json
{
  "industry": "Software Development",
  "location": "San Francisco",
  "companySize": [
    "51-200"
  ],
  "maxResultsPerSearch": 20,
  "enrichCompanies": true,
  "strictMatch": true
}
```

# Actor output Schema

## `results` (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 = {
    "industry": "Software Development",
    "location": "San Francisco",
    "companySize": [
        "51-200"
    ],
    "maxResultsPerSearch": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/linkedin-company-search").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 = {
    "industry": "Software Development",
    "location": "San Francisco",
    "companySize": ["51-200"],
    "maxResultsPerSearch": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/linkedin-company-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "industry": "Software Development",
  "location": "San Francisco",
  "companySize": [
    "51-200"
  ],
  "maxResultsPerSearch": 20
}' |
apify call themineworks/linkedin-company-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/linkedin-company-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/EguuW7FXOd5prO22v/builds/MuvDTqhPa1hlDjR6W/openapi.json
