LinkedIn People Search Scraper: Emails, No Cookies, 35+ Filters
Pricing
from $0.76 / 1,000 person delivereds
LinkedIn People Search Scraper: Emails, No Cookies, 35+ Filters
LinkedIn people search by title, seniority, employer, company size, industry, past employer, city: 35+ filters, no cookies, no login. Free counts and market breakdowns before you buy, then search rows, full profiles or profiles with emails & phones โ below the most used people search on every tier.
Pricing
from $0.76 / 1,000 person delivereds
Rating
5.0
(3)
Developer
B2B Search Enriched
Maintained by CommunityActor stats
0
Bookmarked
307
Total users
70
Monthly active users
17 hours ago
Last modified
Categories
Security
Limited permissionsShare
LinkedIn People Search Scraper with emails and no cookies: search professional profiles by title, seniority, employer, industry and city, count the matches for free, then export them.
$0.95 per 1,000 people. You pay per person delivered, never per search page. Counts and market breakdowns carry no per-row charge, and repeats and skipped people are never billed.
Search a database of over 800 million professional profiles with 35+ filters: title, seniority, employer, employer size, industry and HQ country, past employer and when they left, career length, tenure, city, languages. Before you buy a row, ask how many people match and what the segment looks like (countries, seniority, employer size, industries, top titles, top employers). That part has no per-row charge: a run pays only the platform's start fee.
A run takes seconds, needs no login or cookies and has no 2,500-row cap.
Three modes
mode | What you get | Price |
|---|---|---|
people (default) | the people, one row each | $0.95 per 1,000 rows ยท $3.20 with the full profile ยท $8 with emails & phones |
count | how many people match, one row per segment | no per-row charge |
market | the segment's shape: countries, seniority, employer size and industry, career start year, top job titles and employers, personal-email ceiling | no per-row charge |
Typical flow: run market to see who is there, change one filter, count
again, then switch to people and buy exactly the rows you need.
What people use it for
Each recipe is a complete input you can paste. The numbers come from runs on 4 October 2026.
1. Size a talent or sales market before you commit
How many data engineers are there in five European countries, and who employs them?
{"mode": "market","countries": ["gb", "de", "es", "nl", "pl"],"titleKeywords": ["data engineer"]}
55,157 people: UK 38%, Germany 19%, Spain 17%, the Netherlands 16%, Poland 10%. 30% work at companies with 1,001โ10,000 employees and another 31% at companies above that. 29% work in IT services. At most 15,790 (29%) have a personal email on record. Cost: the run's start fee, nothing per row.
2. Compare segments side by side
Up to 10 segments in one run. Each one is the input above with a few fields changed:
{"mode": "count","titleKeywords": ["data engineer"],"segments": [{ "name": "Germany", "countries": ["de"] },{ "name": "Poland", "countries": ["pl"] }]}
Germany 10,275, Poland 5,504. Use the same pattern for "seniors vs
juniors", "fintech vs banking", or "left in 2024 vs 2025". market takes
segments too.
3. Hire from a competitor, or follow an ex-customer's champions
People who left a company, where they work now, and when they left:
{"countries": ["us"],"pastEmployerDomains": ["stripe.com"],"leftPastEmployerAfterYear": 2022,"maxResults": 500}
6,199 people in the US left Stripe in 2022 or later. People still at the
company are left out: an internal promotion also closes a position, and
about a third of raw matches are people who never left. Set
stillThereCounts to keep them. A brand domain resolves to the real
employer, so meta.com finds 78,337 former Meta people in the US, not the
114 at a small page that shares the domain.
4. Account-based lists: a few people per company, minus your customers
{"countries": ["de", "at", "ch"],"titleKeywords": ["head of marketing", "cmo"],"employeeCountMin": 50,"employeeCountMax": 1000,"maxPerCompany": 2,"excludeCompanyDomains": ["your-customer-1.com", "your-customer-2.com"]}
At most two people per employer across the whole run. People over the limit are skipped and not charged.
5. Short titles without the noise
The substring "cto" also matches "director" and "doctor". Switch
titleMatch to word for short titles:
| Poland, title "cto" | People |
|---|---|
titleMatch: substring | 89,024 |
titleMatch: word | 3,049 |
6. A weekly feed of new people only
Run the same search every week and pick the earlier datasets in
excludeDatasets. Everyone you already have is left out at the source,
and anyone who slips through is skipped and never charged twice. Schedule
it in Apify, and each run delivers only people who are new to the segment.
7. Recruiting: tenure, career length, between jobs
{"countries": ["pl"],"titleKeywords": ["engineering manager"],"employerHqCountries": ["us"],"currentRoleStartedBeforeYear": 2022,"careerStartYearMax": 2014}
Engineering managers in Poland who work for US-headquartered companies,
have been in the role since 2022 or earlier, and started their career by
2014. Use onlyBetweenJobs for people with no current position (their
job title keywords then match the jobs they held), and
currentRoleStartedAfterDate for recent job changers.
8. A reproducible research sample
"sampleSeed": 7 returns one page of up to 100 people spread across the
whole segment, not just the first rows. The same seed always returns the
same people.
Input
Fill only what you need. A people run needs at least one filter that says
who (title, headline, employer, past employer, industry or city): a
country alone matches millions. count and market accept any filters.
Where
countries: up to 60 two-letter codes.countryGroups: eu, eea, dach, nordics, baltics, benelux, cee, cis, post_soviet, mena, gcc, latam.excludeCountriesremoves countries from those lists. Several countries (or a group) share the order evenly, one leg per country in the order given; a country that runs short hands its share to the others, so adachrun is not all Austria.localityKeywords: city or region text (san francisco, greater london).
Who
titleKeywords: job titles, read as the title tags our dictionary gives them: "head of sales" finds heads in sales in every spelling and language, "cfo" every CFO. A title the dictionary does not know is not searched, and the run names it in atitles_not_searchedrow.headlineKeywords, plusheadlineAlsoKeywordswhen the headline must match a word from each list ("head of" or "director", AND "data").seniority: cxo, vp, director, manager, founder, other. The bucket comes from the title, so "CTO", "Chief Technology Officer" and "Head of Technology" all count as cxo. Also owner, head, partner, senior, entry and intern: With owner, head, partner, senior, entry or intern among them, every chosen level is matched by its title tags on any current title (C-level by the CEO, CFO, CTOโฆ tags), andothercannot be added.departments: the function the person works in, read from their job titles (sales, marketing, engineering, hr and 26 more). Combines withseniorityand the title words: a VP in sales isseniorityvp plusdepartmentssales.excludeTitleKeywordsdrops people by the title tags those titles mean (intern, assistant);excludeHeadlineKeywords,pastTitleKeywordsmatch words, withtitleMatch(substringorword).languages: two-letter codes. The language data is still being built; until it is ready, a run with this field stops with a note and charges nothing.
Employer
companyDomains(currently there) andexcludeCompanyDomains(not there), up to 1,000 each.employerIndustries: industry names in either wording, any letter case, or taxonomy ids (a sector id covers everything under it). ThevalueIdcolumn of a market breakdown gives the ids. An everyday word is read as the names it stands for ("fintech" as Financial Services): the count's note and a freeindustries_read_asrow say what each word became. A word that fits no industry, a typo included, is left out of the list: the run reads the industries it knows and a freefilters_skippedrow names the word and the closest industries. Only a list with no industry we know stops the run, before anything is charged.employeeCountMin/employeeCountMax. About half the companies on file have no headcount; setincludeUnknownEmployerSizeto keep them.employerHqCountries: where the employer is headquartered, wherever the person lives.
Career
pastEmployerDomainsorpastEmployerCountries, withleftPastEmployerAfterYear/leftPastEmployerBeforeYearandstillThereCounts.careerStartYearMin/careerStartYearMax: years since the first recorded position.currentRoleStartedAfterYear,currentRoleStartedBeforeYear(tenure),currentRoleStartedAfterDate(YYYY-MM).requireCurrentPositionoronlyBetweenJobs;connectionsMin/connectionsMax;activeAfter;updatedAfter(record updated on or after a date, the row'supdatedAt);excludeLowSignal.
Run control
mode,maxResults(default 500, up to 50,000; 10,000 on the profile tiers),profileDetail,mustHave,compact.segmentsandmarketTopNfor count and market runs.maxPerCompany,excludeDatasets,excludePersonIds,sampleSeed.
profileDetail and mustHave
row($0.95 per 1,000): name, headline, location, the current role and employer card, email flags.profile($3.20 per 1,000): adds the whole career profile.contacts($8 per 1,000 people with a working contact): adds emails, phones and social links. A person with no contact that reaches them today ships at the $3.20 profile price. In our measurement on 30 September 2026, the contacts price applied to 53% of people in the US, 42% in India, 40% in France, 33% in the UK and 32% in Germany.
mustHave lists what a person must have to be delivered: email,
personalEmail, workEmail, currentWorkEmail, phone, github,
twitter, facebook. People without it are skipped for free, and one
skipped_must_have row says how many. The three email flags work on every
tier; the rest need contacts. personalEmail also narrows the count.
Phones, emails and social links for the people you found
Every row carries profileUrl, so a list from this Actor goes straight
into our lookups. Buy only the contacts you need, and only for the people
you keep:
| You need | Actor | Price (misses are free) |
|---|---|---|
| Every phone on record, plus name, title and company (US) | LinkedIn to Phone | $12 per 1,000 found |
| Email addresses on record | LinkedIn Email Finder | $8 per 1,000 at the current employer, $3 for older addresses |
| The full profile with every contact and social link | Profile Lookup | $8 per 1,000 |
| X, GitHub or Facebook handles you already have | Social Handle Lookup | $3.20 per 1,000 found, $8 with contacts |
Or stay in this Actor with profileDetail: contacts: $8 per 1,000 people
who have a working contact, and the profile price for everyone else.
Only need an email per person? B2B Leads Finder takes the same filters and returns flat lead rows โ name, title, company and a work email at the current company or a personal one โ from $1.50 per 1,000 leads. People without such an email are skipped free.
What you get
| Group | Fields |
|---|---|
| Identity | full name, headline, profileUrl, slug, personId |
| Current role (flat columns) | jobTitle, companyName, companyDomain, companyIndustry, companyEmployeeCount โ the position your filters matched (title, seniority, size and start year hold for that one job) |
| Other current role (profile tiers) | primaryTitle, primaryCompany when the profile lists another job first; _employerUnconfirmed: true when the profile no longer lists the matched employer |
| All current positions | title, seniority, start year, and a live employer card for each (domain, country, headcount, industry, funding, founding year) |
| Location | city, countryCode |
| Email flags | hasPersonalEmail, hasWorkEmail |
| Signal | lowSignal, connection count, first position year |
| Richer tiers | the career profile, plus email, emailType, workEmails, personalEmails, phone, phones |
| Record date | updatedAt |
| Market rows | segment, dimension, value, count, share, countedBy, valueId |
A market run writes one row per bucket. Excerpt from recipe 1:
| dimension | value | count | share |
|---|---|---|---|
| total | people matching | 55,157 | 100 |
| contact | personal email on record (at most) | 15,790 | 28.63 |
| country | gb | 21,180 | 38.4 |
| employer size | 1001-10000 | 16,837 | 30.53 |
| employer industry | IT Services and IT Consulting | 16,012 | 29.03 |
The Output tab has three views: Overview, Current positions and Market breakdown.
Pricing
| Event | Price | When |
|---|---|---|
| Person delivered | $0.00095 | one distinct person, search row |
| Person delivered (full profile) | $0.0032 | profile, or contacts without a working contact |
| Person delivered (profile + contacts) | $0.008 | contacts, with a contact that reaches the person today |
| Counts, market breakdowns, repeats, skipped people | $0 per row | always; a run pays only the platform start fee |
Prices above are for Apify's Free and Starter plans. Scale plans pay 10% less and Business plans and up 20% less, applied by Apify automatically; the Store page quotes the lowest of these as "from".
The data keeps historical snapshots of a person under separate ids (26% of the rows in one full segment we measured). The Actor remembers who it has delivered, so a repeat never reaches your dataset or your bill. A snapshot that still lists a job its person has since left is not delivered at all: the person's current profile decides.
Honest limits
- Titles match as text. Substring matching is wide and word matching is
exact. A market breakdown can only use substring matching; with
titleMatch: wordit adds a whole-word total on its own row. - Market shares of seniority, employer size, industry, title and employer count current positions, so someone with two jobs counts twice and those shares can add up past 100%. Top titles and top employers are close approximations.
- "Personal email on record" is a ceiling, not a promise of delivery.
With AI agents and MCP
Add it to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server:
https://mcp.apify.com?tools=b2bsearch/people-database-search
Use this Actor when the task is "find people whoโฆ", "how many โฆ are there in โฆ", "where do โฆ work", "compare โฆ across countries", or "people who left โฆ". Do not use it to look up one known person (use Profile Lookup) or to get emails for a list of profile URLs you already have (use LinkedIn Email Finder).
Rules that keep an agent's bill small:
- Start with
"mode": "count"or"mode": "market". Neither charges per row. - Set
maxResultsto what the user asked for. You pay per row. - Use
"compact": truefor rows that go into a context window. Same price, about 2 KB per person. - Short titles (cto, cfo, vp) need
"titleMatch": "word". - Every row has a
_status. A row that is not a person says why in_noteor_error.
From request to input:
| The user says | Input |
|---|---|
| "How many fintech CFOs are there in the UK?" | {"mode":"count","countries":["gb"],"titleKeywords":["cfo"],"titleMatch":"word","employerIndustries":["Financial Services"]} |
| "Where do Rust engineers in Europe work?" | {"mode":"market","countryGroups":["eu"],"headlineKeywords":["rust"]} |
| "25 ex-Google product managers in Berlin" | {"countries":["de"],"localityKeywords":["berlin"],"titleKeywords":["product manager"],"pastEmployerDomains":["google.com"],"maxResults":25,"compact":true} |
Input an agent can send as is:
{"mode": "people","countries": ["nl"],"titleKeywords": ["founder"],"maxResults": 25,"profileDetail": "row","compact": true}
It also works as a tool in LangChain, CrewAI and the OpenAI Agents SDK, and as a step in n8n, Make and Zapier through the Apify integrations.
Ready-made examples
Each one opens with the input filled in; press Try for free and change it to your own.
- Free Market Size: DACH CTOs at 11โ200-Person Companies: Free count of CTOs and VPs of Engineering at 11โ200-person companies in Germany, Austria and Switzerland, by country, size and industry.
- Early-Career Software Engineers Who Started After 2020: US software engineers whose first recorded job started in 2021 or later, 99,391 on 31 Oct 2026. For graduate hiring and junior talent pools.
- Fintech Founders at 1โ50-Person Companies, California & Texas: Founders of 1โ50-person financial-services companies in California and Texas, 12,049 on record on 31 Oct 2026, with title, employer and profile URL.
- New VPs and Heads of Sales Who Started Since October 2025: US VPs and heads of sales who started their current role in October 2025 or later, 5,870 on record on 31 Oct 2026. A trigger list for outbound.
- Find Professionals Between Jobs: Open-to-Work Talent: Find people with no current position, filtered by the job they held: 108,941 former product managers in the US on 31 Oct 2026. For recruiters.
- Compare Sales Team Size Across Companies for Free: Count account executives, SDRs and sales managers at any company for free: Salesforce 20,484, HubSpot 3,022, Zendesk 1,456 on 31 Oct 2026.
- How Many Software Engineers per Country? Free Count: Free count of software engineer profiles by country: over 1 million each in the US and India, 185,825 in the UK, 166,391 in Canada (31 Oct 2026).
FAQ
How do I get emails for the people I find?
Set profileDetail to contacts, or add
mustHave: ["personalEmail"] to keep only people with a personal mailbox
on record at the row price.
Why was my people search run refused?
A people run with only a country (or a country
and a seniority bucket) matches millions. Add a title, headline, employer,
past employer, industry or city, or run count first.
Can I see the breakdown for more than five countries?
Yes. Facets are counted five countries at a time and the Actor adds them up for you.
Who reads the reviews and issues?
The people who build it, and they are what we fix first.
Which actor in this family?
One database behind ten listings. Misses are free on every one of them.
| Actor | Input โ output |
|---|---|
| Profile Lookup | profile URL โ full career profile |
| Reverse Email Lookup | email โ person, profile URL and employer |
| Name to Profile | name + company domain โ profile |
| Social Handle Lookup | GitHub, X/Twitter or Facebook handle โ profile |
| Bulk People Enrichment | CSV of emails, URLs, handles or names โ profiles |
| LinkedIn Email Finder | profile URL โ email addresses on record |
| Work Email Finder | name + company domain โ work email candidates |
| Company Employees | company domain โ current staff |
| People Database Search (this one) | filters โ people, counts and market breakdowns |
| B2B Leads Finder | filters โ leads with a work or personal email, from $1.50/1k |
| Company Database Search | filters โ companies |
Free Apify plan
Free accounts get the same rows as paid ones, with three limits. A run delivers at most 100 results when started from Apify Console and 25 when started through the API, a schedule or an integration; an account gets 500 dataset rows per calendar month on this Actor, found rows and misses alike; and a row that finds nothing carries only its status. Previews and counts, where this Actor offers them, stay free and outside the monthly allowance. When a limit stops a run, the status line and the last dataset row say which limit it was, what is left and when it resets. Any paid Apify plan removes all of this: Starter is $19/month and includes $19 of usage.
Feedback and reviews
How did it go? A rating on this Actor's Reviews page tells the next buyer what to expect; we read every word, good or bad. Got a wrong or stale row? Open the Issues tab with the run ID. Issues are public, so leave out emails, phones and names; the run ID is enough for us to find the row. We check every report, fix what is ours to fix and answer in the thread.
Disclaimer
This Actor is an independent product. It is not affiliated with, endorsed by or sponsored by LinkedIn. It does not access, crawl or scrape any of them at run time: answers come from our own database of publicly available professional data, and the network names only describe the kind of data it covers. To have a person's data removed, open an issue on this Actor with only the profile link โ nothing else is needed, and it is removed from every listing.