LinkedIn People Search Scraper
Pricing
from $10.00 / 1,000 person founds
LinkedIn People Search Scraper
Find public LinkedIn people by keyword, job title, company, school and location. Cookieless, no login. Optional deep profile enrichment. MCP/API-ready.
Pricing
from $10.00 / 1,000 person founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
79
Total users
44
Monthly active users
11 days ago
Last modified
Categories
Share
Find public LinkedIn people by job title, company, school, location, or free-text keywords, then optionally enrich each profile with additional public fields. This Apify Actor accepts either structured search input or direct LinkedIn personal profile URLs, and returns one record per person with fields such as name, headline, current company, location, profile URL, public identifier, search snippet, enrichment status, about, experience, education, skills, connection and follower counts, and a scraped timestamp. It is cookieless, requires no login, and is usable through Apify MCP and the Apify API.
Best fit and connected workflows
This Actor fits workflows that start with a people-search question and end with structured public profile data.
Use it when you want to:
- source people by role, company, school, or location
- build a targeted prospect list from public LinkedIn results
- enrich a known list of LinkedIn personal profile URLs
- feed downstream enrichment or outreach workflows with a clean person record
Use A natural connected workflow is discovery here and enrichment afterward with LinkedIn Profile Scraper & Email Finder 📧 ✅ No Login Required. This Actor returns public LinkedIn people first, and the downstream Actor can work from a returned public URL or identifier when you need a later step focused on profile enrichment and email-finder routing.
One practical scenario
Maya, a recruiter, starts with "Head of Growth" in London and adds a company keyword to narrow the search. The run returns matching people with fullName, headline, currentCompany, location, profileUrl, publicIdentifier, and rank. Maya reviews the results, uses isEnriched to separate fast search records from deeper profile records, and then opens the most relevant profile URLs for sourcing review or sends them into a downstream workflow.
Input
The Actor accepts these input fields:
| Field | Type | Purpose |
|---|---|---|
jobTitle | string | Search for people by role, quoted as a phrase on Google. Combine with other filters to narrow the search. |
location | string | Filter by city, region, or country using public location text. Leave empty for worldwide search. |
currentCompany | string | Search by company name as a quoted phrase. |
school | string | Search by school or university for alumni sourcing. |
keywords | string | Add free-text keywords and Google operators to the query. |
profileUrls | array | Provide LinkedIn personal profile URLs for direct enrichment instead of search. |
enrichProfiles | boolean | When true, returns deeper public profile fields such as about, experience, education, skills, and counts. |
maxResults | integer | Caps the number of people returned and the total run scope. |
resultsRegion | string | Sets the Google search region by two-letter country code. |
Focused input example
{"jobTitle": "Head of Growth","location": "San Francisco","currentCompany": "Stripe","enrichProfiles": true,"maxResults": 10,"resultsRegion": "US"}
Output
Each dataset item represents one public LinkedIn person found by the run.
| Field | Type | Purpose |
|---|---|---|
fullName | string or null | Person's full name. |
firstName | string or null | First name, when available. |
lastName | string or null | Last name, when available. |
headline | string or null | Public headline or role line. |
currentCompany | string or null | available current company. |
location | string or null | Public location text. |
profileUrl | string or null | Canonical LinkedIn personal profile URL. |
publicIdentifier | string or null | Profile slug. |
snippet | string or null | Search snippet from the discovery step. |
rank | integer or null | Result position in the search output. |
about | string or null | Public summary from enrichment. |
experience | array or null | Public experience entries from enrichment. |
education | array or null | Public education entries from enrichment. |
skills | array or null | Public skills from enrichment. |
connectionsCount | integer or null | Public connection count. |
followerCount | integer or null | Public follower count. |
enrichmentSource | string or null | Source used for enrichment. |
isEnriched | boolean or null | Indicates whether deep enrichment was fetched. |
scrapedAt | string or null | ISO timestamp of the scrape. |
Illustrative output record
{"fullName": "Avery Chen","firstName": "Avery","lastName": "Chen","headline": "Head of Growth at Example Company","currentCompany": "Example Company","location": "San Francisco, California, United States","profileUrl": "https://www.linkedin.com/in/avery-chen","publicIdentifier": "avery-chen","snippet": "Head of Growth at Example Company","rank": 1,"about": "Growth leader focused on product-led acquisition.","experience": [],"education": [],"skills": [],"connectionsCount": 500,"followerCount": 1200,"enrichmentSource": "ScrapeCreators","isEnriched": true,"scrapedAt": "2026-01-01T12:00:00.000Z"}
How it works
This Actor uses two modes that are defined in the live contract:
- Search mode: it runs Google discovery queries that target public LinkedIn personal profiles with
site:linkedin.com/in. - Direct-URL mode: it accepts a list of LinkedIn personal profile URLs and enriches those profiles directly.
The manifest also states the enrichment implementation uses ScrapeCreators for LinkedIn profile enrichment with SociaVault as a fallback. The dataset stores one person per record, and the overview table surfaces fullName, headline, currentCompany, location, profileUrl, and isEnriched.
Pricing
LinkedIn People Search Scraper uses Pay per event pricing plus Apify platform usage.
The live charge events are:
- Actor start
- Person found
- Person enriched
maxResults controls how many people can be processed, which helps bound total cost. With enrichment turned on, each found person can also include a per-person enrichment charge. For example, a run that finds twelve people and enriches each one produces twelve "Person found" events and twelve "Person enriched" events, plus one start event. For current pricing and platform usage details, check the live Pricing tab in the Apify console.
Use with AI agents (MCP)
This Actor is available as an Apify Actor that can be called through Apify MCP. It accepts search terms or direct profile URLs and returns structured public LinkedIn people records that agents can read, route, and hand off to later steps.
Exact Actor identity: khadinakbar/linkedin-people-search-scraper
Tool description: search public LinkedIn people by role, company, school, location, keywords, or direct profile URL, then return one dataset item per person with optional enrichment fields.
Find public LinkedIn people for the query "Head of Growth" in London, return the top 10 records, and include enrichment so I can review headline, company, profile URL, about, and experience.
Output interpretation:
profileUrlandpublicIdentifieridentify the public LinkedIn person record.isEnrichedshows whether the record includes deeper public profile fields.rankandsnippethelp rank and review search results.about,experience,education,skills,connectionsCount, andfollowerCountare available when enrichment is enabled.
Provenance and scope:
- Results are based on public LinkedIn profile data.
- Search mode uses Google discovery.
- Direct-URL mode processes the LinkedIn personal profile URLs you provide.
Pagination and cost guidance:
maxResultslimits how many people the Actor processes.- Search depth and enrichment volume both affect total event count.
- Use direct URLs when you already have a curated list and want focused enrichment.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {jobTitle: 'Head of Growth',location: 'San Francisco',enrichProfiles: true,maxResults: 5,resultsRegion: 'US',};const run = await client.actor('khadinakbar/linkedin-people-search-scraper').call(input);const datasetItems = await client.dataset(run.defaultDatasetId).listItems({clean: true,format: 'json',});console.log(datasetItems.items);
Best results and outcome guidance
Use specific search phrases when you already know the role, company, or school. Add location when you want public profiles from a particular market, and use keywords for extra targeting such as industry terms or niche descriptors. If you already have LinkedIn personal profile URLs, use direct-URL mode to focus the run on those records. Keep maxResults aligned with the number of records you actually need, and use enrichProfiles when the workflow benefits from deeper public profile fields.
Design note
I found that the dataset overview view is centered on fullName, headline, currentCompany, location, profileUrl, and isEnriched, which makes the output easy to scan before opening the full record.
FAQ
When should I use search mode versus direct-URL mode?
Use search mode when you want the Actor to discover people from a query such as title, company, school, or location. Use direct-URL mode when you already have LinkedIn personal profile URLs and want the Actor to enrich those profiles directly.
How does this Actor connect to a downstream enrichment workflow?
Use This Actor returns public LinkedIn people first. If your next step needs a profile-centric workflow, send the returned profileUrl or public identifier into LinkedIn Profile Scraper & Email Finder 📧 ✅ No Login Required when the next workflow needs that Actor's focused input and output contract.
How do jobTitle, keywords, and location work together?
jobTitle targets a role phrase, keywords adds extra free-text terms, and location narrows the public profile location text. Together they form a more specific people search.
What fields appear when enrichment is enabled?
Enrichment adds public profile sections such as about, experience, education, skills, connectionsCount, and followerCount, along with enrichmentSource and isEnriched.
How can I control the amount of data processed?
Use maxResults to cap the number of people returned and choose whether enrichProfiles should be enabled for deeper public fields.
Responsible use
This Actor collects public LinkedIn profile data and returns it in structured form. Use the output in ways that align with your organization's privacy practices, the applicable laws in your region, and LinkedIn's terms. Keep search criteria focused, review records before downstream use, and prefer the smallest useful result set for each task.