LinkedIn People Search — 16 Filters ✅ $2/1k, No Login avatar

LinkedIn People Search — 16 Filters ✅ $2/1k, No Login

Pricing

from $100.00 / 1,000 result page (50 distinct people)s

Go to Apify Store
LinkedIn People Search — 16 Filters ✅ $2/1k, No Login

LinkedIn People Search — 16 Filters ✅ $2/1k, No Login

Search 1B+ professional profiles by job title, seniority, employer, employer size and industry, past employer, city and career length — $2 per 1,000 distinct people, half what the busiest Actor on this shelf charges for the same page. Every person once. Free count preview, 50,000 rows a run.

Pricing

from $100.00 / 1,000 result page (50 distinct people)s

Rating

0.0

(0)

Developer

Sputnik API

Sputnik API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

LinkedIn People Search — filter a database of 1B+ profiles

$2 per 1,000 distinct people — half the usual shelf price, and the count preview is free, so you size a segment before you buy a row. Every person is delivered once: repeats never reach your dataset and never reach your bill.

Search a database of over one billion professional profiles — by country, job title, seniority, employer, employer size and industry, past employer, career length, city and more — and see how big your segment is for free before you buy a single row.

This is a database search, not a live scrape: no per-profile crawling, no row caps in the thousands, results in seconds with a freshness stamp on every row.

What it costs against the shelf

Search Actors on this platform commonly charge about $0.10 per 25-result page — $4 per 1,000 people — and bill you whether or not the segment turned out to be the one you wanted.

Typical shelf priceHere
1,000 people matching your filters~$4$2
Seeing the segment size before buyingnot offeredfree
Export ceiling per query2,500 rows is common50,000 rows per run

(Shelf price read off public Apify listings on 2026-09-17.)

Free preview first

Run with previewOnly: true (the default) and the actor answers with one free row: the total number of matching people. Size the segment, tune the filters, then uncheck preview to fetch the rows.

Input

{
"countries": ["nl", "de"],
"titleKeywords": ["founder", "cto"],
"seniority": ["cxo", "founder"],
"employeeCountMin": 50,
"employeeCountMax": 500,
"requireEmail": true,
"previewOnly": true,
"maxResults": 500
}

Who they are

  • countries — required, two-letter codes, up to 5.
  • titleKeywords / headlineKeywords — match any of the words in the current title or headline, up to 10 each.
  • senioritycxo, vp, director, manager, founder, other. Assigned from the title, so it catches every spelling: "CTO", "Chief Technology Officer" and "Head of Technology" all land in cxo.
  • excludeTitleKeywords / excludeHeadlineKeywords — drop the rows you never want (junior, intern, student, retired).
  • localityKeywords — narrow inside the countries by city or region.
  • connectionsMin — a floor on network size, a rough proxy for an established profile.

Where they work

  • companyDomains — currently at these companies, named by site domain (up to 200). Domains resolve to employers for you.
  • employerIndustries — exact industry labels, as they appear in the companyIndustry column of result rows.
  • employeeCountMin / employeeCountMax — employer headcount band, the fastest way to separate startups from enterprises.

Where they have been

  • pastEmployerDomains — people who used to work somewhere, named by site domain (up to 20). A domain claimed by many businesses resolves to the largest employer on it, which is the one you meant. People still working there are dropped: an internal promotion also closes a position, and on the employer we measured that was 668 of 2,102 matches. Set stillThereCounts if you want everyone who ever held a role there.
  • leftPastEmployerAfterYear — pair it with the above for recent leavers.
  • pastTitleKeywords — people who used to hold a title.
  • careerStartYearMin / careerStartYearMax — experience band by the year of the first recorded position (a 2015 start is roughly ten years in).
  • currentRoleStartedAfterYear — recent job changers.

Reachability and run control

  • requireEmail — only people with a personal email on record (the address itself comes from the profile Actors).
  • requireCurrentPosition — drop rows with no known current employer.
  • previewOnly (default true) — free count instead of rows.
  • maxResults — hard cap on rows, and therefore on spend.

A country alone is refused outside preview mode — it matches tens of millions of people; add one more filter first.

What you get — every row is a person + employer card

GroupFields
Identityfull name, first/last, headline, profile URL, slug
Current role (flat columns)jobTitle, companyName, companyDomain, companyIndustry, companyEmployeeCount — hoisted from the primary position for instant spreadsheets
All current positionstitle, seniority bucket, start year — each with a live employer card: company name, domain, website, country, headcount, industry, verticals, funding summary, founding year, HQ
Locationcity, country code
ReachabilityhasPersonalEmail, hasWorkEmail — know who is contactable before enriching
Network sizeconnection count
Career depthfirst position year (career start)
Freshness_freshness bucket + exact updatedAt
Upsell_fullData — the same person's complete 164-field document via the direct API

A real row (trimmed for display):

{
"_status": "found",
"_freshness": "fresh_90d",
"jobTitle": "CTO & Co-founder",
"companyName": "Acme Analytics",
"companyDomain": "acme-analytics.example",
"companyIndustry": "Software Development",
"companyEmployeeCount": 85,
"personId": 123456789,
"fullName": "Jane Doe",
"headline": "CTO & Co-founder at Acme Analytics",
"countryCode": "nl",
"locality": "Amsterdam",
"connectionsCount": 2214,
"hasPersonalEmail": true,
"hasWorkEmail": true,
"currentPositions": [
{
"title": "CTO & Co-founder",
"seniority": "cxo",
"startYear": 2019,
"companyName": "Acme Analytics",
"company": {
"name": "Acme Analytics",
"domain": "acme-analytics.example",
"countryCode": "NL",
"employeeCount": 85,
"industry": "Software Development",
"funding": { "hasFunding": true, "lastRoundType": "Series A", "lastRoundDate": "2023-05-01" },
"founded": 2018
}
}
],
"profileUrl": "https://www.linkedin.com/in/…"
}

(anonymized sample of the row shape — run a preview + one page to see live rows)

The Output tab shows two views: Overview (one line per person) and Current positions (with the nested employer cards).

Pricing — per page of distinct people

EventPriceWhen
Result page (up to 50 distinct people)$0.10after the rows landed in your dataset
Count preview$0always free

$2 per 1,000 people — set maxResults to cap the spend of a run. No 2,500-row export cap: up to 50,000 rows per run. Filters are free: narrowing a segment costs nothing, only the people you take are billed.

A page means fifty different people. The store keeps historical snapshots of a person under separate ids, so a raw walk of a segment hands back the same human several times — measured on a full segment at 26% of rows. This Actor remembers who it has already delivered: repeats are dropped, the walk keeps going until the page is genuinely full, and a round trip that returns nothing new costs you nothing.

FAQ

How do I get emails for these people? Each row carries hasPersonalEmail / hasWorkEmail flags and a _fullData link; feed the profileUrl column to our Bulk People Enrichment (CSV) actor to turn rows into full profiles (fullOutput: true includes the contact block), or the Work Email Finder for name + domain → verified work email.

Why was my single-country run refused? A country alone matches tens of millions of people. Add a title, headline, or company filter — or run the free preview to size it first.

The family

Same engine, other doors: Reverse Email Lookup (email → person), Profile Lookup (URL → profile), Work Email Finder (name + domain → email), Company Employees Finder (domain → roster), Company Database Search (filters → companies), Name-to-Profile, Social Handle Lookup, Bulk People Enrichment (CSV, 50k rows). One data core, one billing promise: misses are free.

Disclaimer

This Actor is an independent product and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. It does not access, crawl, or scrape LinkedIn at run time — answers come from our own database of publicly available professional data; "LinkedIn" is used only to describe the kind of public profile data the database covers. Removal requests are honored via the Issues tab.