LinkedIn People Search Scraper
Pricing
from $10.00 / 1,000 person founds
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
Maintained by CommunityActor stats
0
Bookmarked
308
Total users
132
Monthly active users
a day ago
Last modified
Categories
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 Growthmeans that title. - Up to 500 people per search, each with a stable
profileUrlfor 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}
| Input | What it controls |
|---|---|
jobTitle | Role to match as an exact phrase, such as Head of Growth or VP Sales |
currentCompany | Company name to match, such as Stripe |
school | School or university for alumni searches, such as Stanford University |
location | City, region or country, such as San Francisco or Germany |
keywords | Extra free text, with Google operators allowed, such as fintech founder |
profileUrls | Known linkedin.com/in/ URLs to enrich directly |
enrichProfiles | Add About, work history, education and follower count (default on) |
maxResults | People to return, from 1 to 500 (default 50) |
resultsRegion | Country 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
| Field | Search only | Enriched |
|---|---|---|
fullName, firstName, lastName | Yes | Yes |
headline, location, profileUrl, publicIdentifier | Yes | Yes |
currentCompany | When the result shows it | When the result shows it |
snippet (Google's text for the result) | Yes | Yes |
about | When the profile has one | |
experience (company names and LinkedIn company URLs) | Yes | |
education (school entries) | Yes, with names as LinkedIn shows them publicly | |
followerCount | Yes |
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.
maxResultsstops 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:
- Put the role in
jobTitle, the place inlocation, and a company or school if the request names one. - Keep
enrichProfilesoff for a quick list and on when the task needs work history or About text. - Read rows with
get-dataset-items, then readOUTPUT.outcome. - Keep
profileUrlas 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}'
Related LinkedIn tools from the same developer
| Your next step | Use | Why |
|---|---|---|
| When you then want work emails for these people | LinkedIn Profile Scraper & Email Finder | Profiles plus email lookup |
| When you want the fullest public profile for each URL | LinkedIn Profile Details Scraper | About, work history, education and articles by URL |
| When you want to analyze what these people post | LinkedIn Batch Profile Posts Scraper | Recent public posts for a list of profiles |
| When you search for companies instead of people | LinkedIn Company Search Scraper | Company pages by industry and location |
| When you start from email addresses | Email to LinkedIn Profile Scraper | The public LinkedIn profile behind an email |
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| A role with several spellings | Run once per title, such as Head of Growth and VP Growth | Wider coverage |
| A tight account list | Set currentCompany for each company | People at those companies |
| Alumni sourcing | Combine school with jobTitle | Graduates in a role |
| International searches | Set resultsRegion to the country, such as DE | Locally indexed profiles |
| A quick count before spending more | Run with enrichProfiles off | Names, 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.