LinkedIn People Search Scraper
Pricing
from $0.21 / 1,000 profiles
LinkedIn People Search Scraper
LinkedIn people search scraper: find people by keywords, job title, company, city or country, school or name and get one row per public profile: name, headline, current company, location and profile link. Add each profile's full details, with experience and education, when you need them.
Pricing
from $0.21 / 1,000 profiles
Rating
5.0
(2)
Developer
Dami's Studio
Maintained by CommunityActor stats
1
Bookmarked
244
Total users
127
Monthly active users
3 hours ago
Last modified
Categories
Security
Limited permissionsShare
LinkedIn people search: type a job title, a company, a place or a few keywords and get one row per public LinkedIn profile that matches, with the name, headline, current company, location and profile link.
Turn on full details and each row also carries the person's experience, education, about section, languages and more. Every filter is checked on the profile itself before it is kept, so a search for people in Berlin brings back people whose profile says Berlin.
It finds public profiles only, the way LinkedIn shows them to someone who is not signed in. A search that finds nothing comes back as a free row saying so, and you pay only for the profiles that come back.
| Input | Keywords, job titles, companies, places, schools or names; one search per line of keywords |
| Output | One row per person: name, headline, current company, place, school, profile link; the full profile on request |
| Ceiling | 20 searches per run, 500 profiles per search |
| Account needed | None from you |
| Price | $0.205 per 1,000 profiles, the same rate on every plan. The free plan's $5 a month covers about 24,300 |
| Using an AI agent? | |
|---|---|
| Actor | dami_studio/linkedin-profile-search-scraper |
| Set one field | searchQueries, labelled "Search keywords" in the Console |
| Cap the bill | maxTotalChargeUsd on the run, for example 0.10: it never charges past that |
| MCP, one link | https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/linkedin-profile-search-scraper |
| How often | Weekly, to follow who holds a role at a company or in a city |
🔍 What LinkedIn People Search Scraper does
It searches the public web for LinkedIn profiles that match what you typed, then keeps the people whose profile proves every filter: the job title in their headline, the company they work at now, the place their profile shows, the school they list, their first or last name. A person whose profile does not prove a filter is left out and not charged.
With Add full profile details on, it also opens each person's public profile and adds what it shows: about, every job with its dates, schools, certifications, languages, followers and the profile picture. Past companies are checked this way too.
A person found by two of your searches comes back once.
📋 What data you get from each LinkedIn profile
| What you get | Field |
|---|---|
| Who | fullName, firstName, lastName, profileUrl, publicIdentifier |
| What they do | headline, currentPosition, currentCompany |
| Where and what they studied | location, currentSchool |
| What search shows about them | snippet, connections |
| Full profile (paid add-on) | about, experience, education, certifications, languages, skills, followers, profilePictureUrl, websites, volunteering, honorsAndAwards, similarProfiles and more, with detailsRead |
| Which search found them | searchQuery, scrapedAt |
▶️ How to scrape LinkedIn profiles by job title or company
- Open LinkedIn People Search Scraper and click Try for free.
- Type a few words into Search keywords, such as
software engineer, or leave it empty and use the filters. - Add Job titles, Current companies, Locations or Schools to narrow it down, and set Most profiles per search.
- Turn on Add full profile details if you need experience and education, then click Start.
- Download the rows as JSON, CSV or Excel, or read them from the API.
Leave everything empty and you get one free sample row showing the shape of the output, with nothing searched.
💰 How much does it cost to scrape LinkedIn profiles?
$0.205 per 1,000 profiles, which is $0.000205 each, the same rate on every plan. On the free plan, the $5 Apify gives you each month covers about 24,300 profiles.
Full profile details cost $2.05 per 1,000 profiles on top, charged only for profiles shown in full.
Free rows are never charged: a search that found nothing, a refused input, the sample row, and the row that says the run stopped at your time or cost limit. People left out by a filter are not charged either.
📥 What you give it
{"searchQueries": ["software engineer"],"locations": ["San Francisco"],"currentCompanies": ["Google"],"maxProfiles": 25,"profileDetails": false}
| Field | Default | What it is |
|---|---|---|
searchQueries | none, the form starts with one example | Up to 20 searches. Every word of a search has to be on the profile. |
currentJobTitles | none | Up to 10 titles; one of them has to be in the headline or current job. |
currentCompanies | none | Up to 10 company names or LinkedIn company links; the person works at one now. |
locations | none | Up to 10 cities, regions or countries; the profile's place has to match one. |
schools | none | Up to 10 schools or LinkedIn school links. |
firstNames, lastNames | none | Up to 10 each. |
pastCompanies | none | Up to 10. Needs profileDetails; without it the run stops before searching and says so. |
excludeKeywords | none | Up to 20 words; a profile that mentions one is left out. |
maxProfiles | 25 | 1 to 500 profiles per search. |
profileDetails | false | Adds the full profile. Paid per profile shown in full. |
📤 What you get back
A real row from a run on 7 November 2026, with currentJobTitles set to CEO, currentCompanies to Microsoft and full details on. The lists are cut to one item each and the about text is cut short:
{"ok": true,"recordType": "profile","searchQuery": null,"profileUrl": "https://www.linkedin.com/in/satyanadella","fullName": "Satya Nadella","headline": "Chairman and CEO at Microsoft","currentPosition": "Chairman and CEO","currentCompany": "Microsoft","location": "Redmond, Washington, United States","followers": 12293302,"about": "As chairman and CEO of Microsoft, I define my mission and that of my company as empowering every person…","experience": [{"title": "Chairman and CEO","company": "Microsoft","companyUrl": "https://www.linkedin.com/company/microsoft","location": "Greater Seattle Area","startDate": "Feb 2014","endDate": null,"duration": "12 years 10 months","currentPosition": true}],"education": [{"school": "The University of Chicago Booth School of Business","startDate": "1994","endDate": "1996"}],"detailsRead": true,"scrapedAt": "2026-11-07T18:30:51.017Z"}
Without full details, the same person comes back with the search fields only: name, headline, current job, school, place and snippet.
| Field | Read it like this |
|---|---|
location | The place the profile shows, as written there. Always filled when you search by place |
snippet | The short text public search shows with the profile, as written there |
connections | As LinkedIn shows it, so 500+ stays 500+ |
currentSchool | Empty when the profile does not list one |
detailsRead | Only with full details on: true when the full profile was read, false when it was not shown this run (then the row has the search fields and costs the normal price) |
| Picture links | LinkedIn's own links. They stop working after a while, so save the file if you need it |
🧾 Reading the output
Every real row has ok: true and recordType: "profile". Rows with ok: false are free notes with errorCode and error saying what happened:
errorCode | What happened |
|---|---|
NO_RESULTS | No public profile matched that search and its filters |
BAD_INPUT | Past companies were asked for without full details |
TIME_LIMIT | The run reached its time limit; notRun and stoppedPartWay list what was not finished |
COST_LIMIT | The run reached the maximum cost you set |
An empty run returns one sample row with _sample: true. To keep only real people, filter on ok being true. The Experience view lists one job per line for rows read in full, and the Notes view lists the free rows.
💡 What people use it for
- Recruiters building a list of people with a given title in a given city, then reading the full profiles of the short list.
- Sales teams finding who holds a role at the companies on their account list.
- Founders and researchers sizing how many public profiles hold a skill or a title in a market.
- Alumni and community teams finding people who studied at a school and now work in a field.
A simple chain: search Head of Marketing in London with Most profiles per search at 200, filter the rows on currentCompany, then run the short list again with Add full profile details on.
🚧 What it does not do
- No e-mail addresses or phone numbers.
- No private profiles, and nothing only signed-in members see.
- No list of a person's connections or followers.
- It is not an official LinkedIn tool. Dami's Studio is independent and is not affiliated with or endorsed by LinkedIn, or by any other company named on this page.
🧭 Which LinkedIn scraper do you need?
| If you want | Use |
|---|---|
| People by title, company, place or school | This one |
| A company's size, industry and headquarters | LinkedIn Companies Scraper |
| The posts a company page publishes | LinkedIn Company Posts Scraper |
| Job listings | LinkedIn Jobs Scraper |
| The ads a company runs | LinkedIn Ads Scraper |
| A person's posts and reposts | LinkedIn Post Scraper |
| The people who work at a company | LinkedIn Company Employees Scraper |
❓ Questions people ask
Do I need a LinkedIn account to search people?
No. You don't need a LinkedIn account, a cookie or a login. The actor finds public profiles, the ones LinkedIn shows to anyone who opens the link.
Why did I get fewer people than I asked for?
The run returns the public profiles it can find that prove every one of your filters, up to your number. A rare title, a small town or several filters at once give fewer rows. You pay only for the rows you get.
Why does a profile look different on LinkedIn?
People edit their profiles, and LinkedIn shows signed-in members more than it shows anyone else. Open the profile in a private browser window to see what the run saw.
Can I call it from code or an AI assistant?
Yes. The API tab has ready-made calls, and AI assistants can use it through Apify's MCP server at https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/linkedin-profile-search-scraper. In Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("dami_studio/linkedin-profile-search-scraper").call(run_input={"searchQueries": ["software engineer"], "locations": ["San Francisco"], "maxProfiles": 25},max_total_charge_usd=0.05,)for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row.get("ok") is False:continueprint(row["fullName"], row["headline"], row["location"])
Is scraping LinkedIn legal?
The actor reads public profiles the way a signed-out visitor sees them, with no account and nothing private. Profiles carry personal data, so GDPR and similar laws apply to what you keep and how you use it: keep only what you need, and mind the rules on contacting people. LinkedIn's own terms still apply to what you do with the data. Apify has a good write-up on the legality of web scraping. We are not lawyers, and this is not legal advice.
🆘 If something breaks
Open an issue on the actor's Issues tab. Include the run ID and the search that went wrong, and we will look at it.