LinkedIn People Search by Job Title & Company — Find Employees avatar

LinkedIn People Search by Job Title & Company — Find Employees

Pricing

from $15.00 / 1,000 people

Go to Apify Store
LinkedIn People Search by Job Title & Company — Find Employees

LinkedIn People Search by Job Title & Company — Find Employees

Find employees on LinkedIn: LinkedIn people search, no login — profile search by job title, company, location, function, seniority, industry and company size. Up to 2,500 people per search with name, title, company, location and profile URL. Export to CSV, JSON or Excel.

Pricing

from $15.00 / 1,000 people

Rating

0.0

(0)

Developer

Andrey Afanasenko

Andrey Afanasenko

Maintained by Community

Actor stats

0

Bookmarked

40

Total users

21

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

Apify Actor

Search LinkedIn for people by job title, company, country, job function, seniority, industry and company size — and get a clean list of names, titles, companies and profile links. Built for sales prospecting, recruiting and market research. No LinkedIn login, no cookies, up to 2,500 people per search.

🆓 Free to start: 5 searches a month on the free plan · up to 10 people per search · a search that finds nobody costs nothing.

🎯 What it does

You give what you are looking for: job titles (CTO, VP Sales), companies (a name, a LinkedIn URL or a website domain), countries, job functions, seniority levels (Director, Vice President, CXO), industries, company sizes, or keywords. Any one of them is enough.

You get one row per person: their name, current title, company, location, the About section of their profile, and a link to their LinkedIn profile. Each row also says how many people on LinkedIn match your search in total.

What you won't get emails or phone numbers — this actor finds the people, not their contact details. Titles are what people wrote on their own profiles, so a search for "CEO" also returns people who call themselves CEO of a side project.

Narrowing the search: exclude titles (Intern, Assistant), exclude countries, add a past employer, or pick a job function, seniority level, industry or company size. Every criterion narrows the search itself — you are never charged for people it filters out.

📦 Output sample

Every person is one row. Here is what a row holds:

  • The person — fullName, firstName, lastName, jobTitle, location, about.
  • Where they work — company, companyId.
  • How to find them again — linkedinUrl, profileId.
  • About the search — searchQuery, position (their rank in the results), totalMatches, scrapedAt.

A real row from a recent run — the person's name, company and IDs are changed; the shape and the other values are as delivered:

{
"fullName": "Jana Weber",
"firstName": "Jana",
"lastName": "Weber",
"jobTitle": "Chief Technology Officer (CTO) & Prokurist",
"company": "Nordlicht Software GmbH",
"companyId": "18233456",
"location": "Zeven, Lower Saxony, Germany",
"about": "Senior IT executive with over 14 years in IT operations and infrastructure...",
"linkedinUrl": "https://www.linkedin.com/in/ACwAADcNXDMByxd...",
"profileId": "923622451",
"searchQuery": "CTO in Germany",
"position": 1,
"totalMatches": 10752,
"scrapedAt": "2026-09-24T14:56:11.134Z"
}

A value LinkedIn does not show is null, never an empty string or "N/A" — every key is always present. The full field list with types is in .actor/dataset_schema.json, which is also what AI agents read through Apify's MCP server.

⚡ Quick start

A minimal input that works on the free plan:

{
"jobTitles": ["CTO"],
"locations": ["101282230"]
}

101282230 is Germany — in the input form you just pick countries from a list. Run it, open the Output tab, and you will see the first people. Add a company or a job function to narrow the list.

Run it with an empty input and the actor runs a small built-in sample (product managers at Microsoft, 10 people) and tells you so.

🧭 When to use it

  • Sales prospecting — find the heads of marketing or the CTOs at the companies on your target list, in the countries you sell to.
  • Recruiting and sourcing — list the data scientists at a competitor, or engineers who used to work at a company you admire.
  • Account mapping — see who works in sales, engineering or product at one account before an outreach campaign.
  • Market research — count how many people hold a role in a country (totalMatches) before you size a campaign.
  • AI agents — an agent asked "find the VPs of Sales at Stripe and Adyen" can run this actor directly and get structured rows back.

🎯 Example tasks

Ready-to-run examples — each opens a pre-configured task you can run in one click (no setup):

🛠 Input

The form has two sections:

SectionPurpose
🎯 Who to findJob titles, companies, countries, and how many people you want (maxResults).
🔬 Narrow the searchJob functions, seniority levels, industries, company sizes, past companies, titles and countries to exclude, keywords.

The most useful fields:

  • jobTitles — titles to look for. A person matches if their title contains any of them. Short titles ("VP Sales") find more people than long exact ones.
  • companies — where they work now. A company name, its LinkedIn page URL, its website domain (stripe.com) or its LinkedIn company ID all work. Up to 50 per run, all in one search.
  • locations — countries, picked from a list. Empty means worldwide.
  • maxResults — the most people this run returns, and the most it charges for. Default 25, up to 2,500.
  • functions — LinkedIn job functions (department), for example Marketing, Engineering or Sales.
  • seniorityLevels — LinkedIn's seniority of the person's current role, see the list below.
  • industries — LinkedIn industries, for example Software Development, Financial Services or Hospitals and Health Care.
  • companySizes — size of the person's current company, as an employee range, see the list below.
  • pastCompanies — only people who used to work at one of these companies, up to 50.
  • excludeJobTitles / excludeLocations — leave out titles or countries.
  • keywords — words that must appear anywhere on the profile, such as a skill.

Seniority, industry and company size

These three filters use LinkedIn's own lists. In the input form you pick values from a dropdown; through the API you can send the names or LinkedIn's codes.

FilterValues (code)
seniorityLevelsIn Training (100), Entry Level (110), Senior (120), Strategic (130), Entry Level Manager (200), Experienced Manager (210), Director (220), Vice President (300), CXO (310), Owner / Partner (320). VP and C-level work too.
companySizesSelf-employed (A), 1-10 (B), 11-50 (C), 51-200 (D), 201-500 (E), 501-1000 (F), 1001-5000 (G), 5001-10000 (H), 10001+ (I)
industriesThe 434 LinkedIn industries the form lists, by name or by LinkedIn industry code (4 is Software Development, 43 Financial Services).

How they match, so the rows are what you expect:

  • Seniority is LinkedIn's own reading of the person's title. Asking for Vice President also brings "Head of …" titles that LinkedIn ranks at that level.
  • Company size counts the company's employees on LinkedIn. The size a company states on its own page can be a different range.
  • Industry follows LinkedIn's own industry tags. Most people work at a company in the chosen industry or one of its sub-industries; some come from a neighbouring one (an IT services firm under Software Development, for example).

A value the actor does not recognise is never dropped silently: the run names it in the log and in the User Message and searches with the values it recognised. If none of the values in a field is a LinkedIn value, nothing is searched and nothing is charged.

💰 How much will scraping LinkedIn people cost?

You pay per person the search returns. There is one event, Person, and its price depends on your Apify plan:

PlanPer person25 people100 people
Free$0.03— (10 per run)—
Bronze$0.025$0.63$2.50
Silver$0.02$0.50$2.00
Gold and above$0.015$0.38$1.50
  • A search that finds nobody costs nothing. Neither does a company name that cannot be found.
  • maxResults is your ceiling. The run never charges for more people than it asks for.
  • The run's "Maximum cost per run" is respected. If it covers fewer people than you asked for, the run returns exactly as many as it can charge for, and says so.

🆓 Free vs paid plan

Free planPaid plan
People per search10up to 2,500 (maxResults)
Searches per month5unlimited
All filters✓✓
Total matches count✓✓

When a free search matches more than 10 people, you get the first 10 and a message with the real total. Upgrade to get the whole list in one run.

🧪 Recipes

Copy-paste inputs for the most common jobs:

Decision makers at a list of companies

{ "jobTitles": ["CEO", "Founder", "VP Sales", "Head of Sales"], "companies": ["stripe.com", "Adyen", "https://www.linkedin.com/company/mollie/"], "maxResults": 100 }

Several short titles cast a wide net; companies can be names, domains or URLs in one list.

Engineers in two countries who used to work at a big company

{ "functions": ["Engineering"], "locations": ["101282230", "106693272"], "pastCompanies": ["Google"], "maxResults": 250 }

A function instead of titles catches every engineering title; the past employer narrows it to a profile.

Directors and VPs at mid-size software companies

{ "functions": ["Sales"], "seniorityLevels": ["Director", "Vice President"], "industries": ["Software Development"], "companySizes": ["51-200", "201-500"], "locations": ["103644278"], "maxResults": 100 }

Seniority and company size replace a long list of titles when you sell to a type of company rather than a named list.

Marketing leaders, no agencies

{ "jobTitles": ["Head of Marketing", "CMO", "VP Marketing"], "excludeJobTitles": ["Agency", "Freelance"], "locations": ["103644278"] }

Excluding words is often the fastest way to clean a list.

📡 Live status & storage records

Storage keyTypeWhat it holds
status.htmlHTML pageLive progress while the run is going; the result and the reason afterwards.
USER_MESSAGEJSONWhat happened and what to change — written on every run that returned nobody, and on free-plan runs that reached the limit.
RUN_SUMMARYJSONPeople delivered, total matches, price per person, the stop reason.
FREE_LIMITS_APPLIEDJSONWhich free-plan limits applied to this run.

You can pull all of these records through the Apify API.

🤖 Programmatic / API use

Start a run from your own code:

curl -X POST "https://api.apify.com/v2/acts/afanasenko~linkedin-people-search/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jobTitles":["VP Sales"],"companies":["stripe.com"],"maxResults":25}'

MCP / agentic clients (Claude, ChatGPT, Cursor, LangGraph, OpenAI Agents SDK, …): the actor is exposed as a tool through Apify's MCP server at mcp.apify.com. An agent can run it from an instruction like "find the heads of marketing at HubSpot and Salesforce in the United States".

💡 Tips & Best Practices

Getting maximum results

  • Start broad — one short title and a country — then narrow. A long exact title often matches nobody.
  • Use several titles at once (CTO, VP Engineering, Head of Engineering): a person matches if any of them fits.
  • If a company returns fewer people than expected, try its LinkedIn URL instead of its name.

Cost optimization

  • Set maxResults to what you will actually use; it is the ceiling of what you pay.
  • Narrow with exclusions, functions, seniority, industry and company size rather than fetching more and filtering later — people outside your criteria are never fetched or charged.
  • Use totalMatches from a small run to size a search before running the big one.

Performance

  • People come in pages of 25, usually a few seconds a page, so a few hundred people take about a minute.
  • A company given as a website domain takes a few seconds longer to find than a name or a LinkedIn URL.
  • Run several different searches one after another rather than all at the same moment.

Data quality

  • Spot-check the first 5–10 rows before scaling up a search.
  • jobTitle is what people wrote on their profile; filter or exclude words to remove the self-titled.
  • Use profileId to deduplicate people across several searches.

❓ FAQ

Q: How do I find all employees of a company on LinkedIn? A: Put the company in companies, leave jobTitles empty and set maxResults to how many you want (up to 2,500). Add a function or a country to narrow the list.

Q: Is there a free LinkedIn people search? A: Yes — the free plan gives you 5 searches a month with up to 10 people each. See Free vs paid plan.

Q: Can I use the LinkedIn API instead? A: LinkedIn's own people search API is available only to approved partners. This actor searches public profiles without a login and returns them as data.

Q: What are the alternatives to Sales Navigator? A: Sales Navigator is a paid LinkedIn subscription built for browsing. This actor gives you the search results as rows you can export to CSV, Excel or a CRM, and pay per person instead of per month.

Q: Does it need my LinkedIn account or cookies? A: No. It never logs in to LinkedIn and never uses your account.

Q: Does it return emails? A: No. It returns the person, their title, company, location and profile link. Use a separate enrichment step for contact details.

Q: Why does linkedinUrl look like /in/ACwAA… instead of a name? A: That is LinkedIn's member-ID form of the profile link. It opens the same profile as the named link.

Q: Why did my search return nobody? A: Usually one criterion is too narrow — a long exact title, a keyword, or a function that the company does not have. The run's User Message names the fields you set and what to loosen. Nothing is charged.

Q: What happens if a company cannot be found? A: It is left out of the search and named in the User Message. If none of your companies can be found, nothing is searched and nothing is charged.

Q: Can I filter by seniority, industry or company size? A: Yes — use seniorityLevels, industries and companySizes. They work alone or together with job titles and companies, and cost nothing extra: you pay per person, as always. See Seniority, industry and company size for the values.

Q: How many companies can I search in one run? A: Up to 50 current companies and up to 50 past companies, all searched together in one search. A longer list stops the run before it looks anything up and tells you what to change. Nothing is charged.

Q: How fast is it? A: Usually a few seconds for 25 people, and about a minute for a few hundred. At busy moments on LinkedIn it can be slower.

Q: How many people can one search return? A: Up to 2,500 on a paid plan, and 10 on the free plan. totalMatches tells you how many exist in total.

You start with…You want…Use this actor
A job title, company or countryA list of peopleThis actor
Profile or company linksFull profiles: experience, education, followersLinkedIn Profile Scraper
A role, a company or a job linkJob postings with salary and hiring contactsLinkedIn Jobs Scraper

Find people here, then send their linkedinUrl to the profile scraper when you need their full career history.

🛟 Support & feedback

  • Open an issue in the actor's Issues tab — the fastest way to get a fix shipped.
  • Feature requests in the same tab; we read every one.
  • Ratings & reviews on the Apify Store page help other people find the actor.

The actor reads publicly available profile information and does not log in, bypass authentication, or act on LinkedIn on your behalf. Use the data in line with LinkedIn's terms and privacy laws such as GDPR and CCPA — for outreach, have a legitimate interest and give people an easy way to opt out.

📋 Changelog

See the CHANGELOG.md for every release.