LinkedIn People Search Scraper avatar

LinkedIn People Search Scraper

Pricing

from $10.00 / 1,000 person founds

Go to Apify Store
LinkedIn People Search Scraper

LinkedIn People Search Scraper

Find public LinkedIn people by job title, company, school, location or keywords, one row per person with name, headline, company and profile URL. Optional enrichment adds About, work history and follower count. No login or cookies.

Pricing

from $10.00 / 1,000 person founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

308

Total users

132

Monthly active users

a day ago

Last modified

Share

What is LinkedIn People Search Scraper?

LinkedIn People Search Scraper finds public LinkedIn profiles by job title, company, school, location or keywords, and returns one dataset row per person with name, headline, current company, location and profile URL. Turn on enrichment and each row also gets the About section, work history with company links, education entries and follower count. Recruiters, sales teams, founders doing outreach and AI agents use it to build targeted people lists without a LinkedIn login, cookies or a Sales Navigator seat.

Why teams use it for prospecting

  • Your LinkedIn account stays out of it. No login, cookies or Sales Navigator seat are used.
  • Pay less for a first pass. Search-only rows cost one event; enrich only when you need work history.
  • Exact-phrase targeting. Job title, company and school are matched as phrases, so Head of Growth means that title.
  • Up to 500 people per search, each with a stable profileUrl for CRMs and follow-up tools.

How to use it: two ways to start

Search for people by any mix of role, company, school, location and keywords:

{
"jobTitle": "Head of Growth",
"location": "San Francisco",
"maxResults": 50,
"enrichProfiles": true
}

Enrich profiles you already have (search is skipped):

{
"profileUrls": [
"https://www.linkedin.com/in/example-person-one",
"https://www.linkedin.com/in/example-person-two"
],
"enrichProfiles": true
}
InputWhat it controls
jobTitleRole to match as an exact phrase, such as Head of Growth or VP Sales
currentCompanyCompany name to match, such as Stripe
schoolSchool or university for alumni searches, such as Stanford University
locationCity, region or country, such as San Francisco or Germany
keywordsExtra free text, with Google operators allowed, such as fintech founder
profileUrlsKnown linkedin.com/in/ URLs to enrich directly
enrichProfilesAdd About, work history, education and follower count (default on)
maxResultsPeople to return, from 1 to 500 (default 50)
resultsRegionCountry of the search index, such as US, GB or DE (default US)

How the search works

The Actor searches Google's public index of LinkedIn profiles, quoting your job title, company and school as exact phrases, and reads each result's name, headline, location and snippet. With enrichProfiles on, it then opens each person's public profile for the extra fields. You get the public profiles Google has indexed, which covers most active professionals, rather than LinkedIn's logged-in search or Sales Navigator results.

Search rows and enriched rows

FieldSearch onlyEnriched
fullName, firstName, lastNameYesYes
headline, location, profileUrl, publicIdentifierYesYes
currentCompanyWhen the result shows itWhen the result shows it
snippet (Google's text for the result)YesYes
aboutWhen the profile has one
experience (company names and LinkedIn company URLs)Yes
education (school entries)Yes, with names as LinkedIn shows them publicly
followerCountYes

Emails and phone numbers are outside this Actor's scope; the related tools below cover them.

Output: LinkedIn people data you receive

This row has the exact structure of a real enriched result from a search for Head of Growth in San Francisco. The person's name, profile URL and employer are replaced with placeholders to protect their privacy, and education is left out because LinkedIn masks school names on public profiles.

{
"fullName": "Alex Example",
"firstName": "Alex",
"lastName": "Example",
"headline": "Head of Growth Marketing at Example Co",
"currentCompany": "Example Co",
"location": "San Francisco Bay Area",
"profileUrl": "https://www.linkedin.com/in/alex-example",
"publicIdentifier": "alex-example",
"snippet": "Head of Growth Marketing at Example Co · Experience: Example Co · Education: Example College · Location: San Francisco Bay Area · 500+ connections on LinkedIn.",
"experience": [
{
"@type": "Organization",
"name": "Example Co",
"url": "https://www.linkedin.com/company/example-co",
"location": "San Francisco Bay Area",
"member": {"@type": "OrganizationRole"}
}
],
"followerCount": 1438,
"isEnriched": true,
"scrapedAt": "2026-09-29T21:32:07.547Z"
}

Example workflow: building a prospect list

An SDR at a growth-analytics startup starts with jobTitle: "Head of Growth" and location: "San Francisco", with enrichment on and maxResults at 100. They keep people whose experience shows a B2B software company, read about to personalize the first line of each message, then pass the profileUrl values to LinkedIn Profile Scraper & Email Finder to look for work emails. Finally they export the list to their CRM and schedule the same search monthly to catch people who moved into the role.

Pricing

This Actor uses Pay per event. Apify platform usage is included in the event prices, so you pay only for results: one found event per person returned, one enriched event on top for each person enriched, and one start event per run. The live Pricing tab on this page shows the current prices.

  • 100 people, search only = 100 found events + 1 start event.
  • 100 people, enriched = 100 found events + 100 enriched events + 1 start event.
  • maxResults stops the run at your cap, so it doubles as a cost ceiling.

People search with AI agents (MCP)

Connect this Actor to an AI agent through Apify MCP and ask in plain language:

Find 25 public LinkedIn profiles of Heads of Growth in San Francisco. Return name, headline, current company, profile URL and follower count, and tell me the run outcome.

Agent checklist:

  1. Put the role in jobTitle, the place in location, and a company or school if the request names one.
  2. Keep enrichProfiles off for a quick list and on when the task needs work history or About text.
  3. Read rows with get-dataset-items, then read OUTPUT.outcome.
  4. Keep profileUrl as the stable ID for each person.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-people-search-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jobTitle": "Head of Growth", "location": "San Francisco", "maxResults": 25, "enrichProfiles": false}'
Your next stepUseWhy
When you then want work emails for these peopleLinkedIn Profile Scraper & Email FinderProfiles plus email lookup
When you want the fullest public profile for each URLLinkedIn Profile Details ScraperAbout, work history, education and articles by URL
When you want to analyze what these people postLinkedIn Batch Profile Posts ScraperRecent public posts for a list of profiles
When you search for companies instead of peopleLinkedIn Company Search ScraperCompany pages by industry and location
When you start from email addressesEmail to LinkedIn Profile ScraperThe public LinkedIn profile behind an email

Best results

Starting situationHelpful actionExpected outcome
A role with several spellingsRun once per title, such as Head of Growth and VP GrowthWider coverage
A tight account listSet currentCompany for each companyPeople at those companies
Alumni sourcingCombine school with jobTitleGraduates in a role
International searchesSet resultsRegion to the country, such as DELocally indexed profiles
A quick count before spending moreRun with enrichProfiles offNames, headlines and URLs at the lower price

Builder's note

I found that most prospecting starts with a role and a place, so the Actor turns job title, company and school into exact-phrase searches and returns one row per person. I learned that public profiles show different fields to logged-out visitors, which is why each enriched row keeps the public work history with company URLs and leaves out fields LinkedIn keeps behind login.

FAQ

Do I need a LinkedIn account or cookies?

No. The Actor reads public data only and needs no login, so your LinkedIn account is never involved.

Does it return email addresses?

Emails are outside this Actor. Pass the profileUrl values to LinkedIn Profile Scraper & Email Finder.

How many people can one search return?

Up to 500 with maxResults. Very narrow searches return fewer, because only profiles in Google's public index can match.

Why are school names hidden in education?

LinkedIn masks school names on the public version of many profiles. The snippet often still names the school.

Is this the same as LinkedIn Sales Navigator?

It covers public profiles that Google indexes. Sales Navigator searches LinkedIn's full member base with extra filters and requires a paid seat.

Responsible use

This Actor collects public LinkedIn profile data, which is personal data protected by laws such as the GDPR and CCPA. Use it only with a lawful basis such as legitimate B2B interest, honor opt-outs, keep data no longer than you need, and respect LinkedIn's terms. Read Apify's guide on whether web scraping is legal for more context. LinkedIn is a trademark of LinkedIn Corporation. This independent Actor is not affiliated with, associated with, or endorsed by LinkedIn. For questions or bugs, open a ticket in the Issues tab.