LinkedIn Profile Search: Candidates by Title and City
Pricing
from $1.50 / 1,000 profile (short)s
LinkedIn Profile Search: Candidates by Title and City
Build candidate and prospect lists from public LinkedIn profiles by job title, location, company, school or industry. Short mode returns name, headline, title, company, location and profile URL. No login.
Pricing
from $1.50 / 1,000 profile (short)s
Rating
0.0
(0)
Developer
Detroit Web Agent - Open Data
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
10 hours ago
Last modified
Categories
Share
LinkedIn Candidate Sourcing List Builder
Use this to build candidate and prospect lists from public LinkedIn profiles by job title, location, company, school or industry.

| Price per 1,000 profiles | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
| This Actor | $2.00 | $1.80 | $1.60 | $1.50 |

Find public LinkedIn profiles the way you would on LinkedIn search, without a LinkedIn account: give job titles, locations, companies, schools, industries or names, and get one row per person with name, headline, current title, current company, location, followers and the profile URL. Full mode also reads each public profile for current and past companies, education, about, exact follower count, languages, awards and recent posts. No login, no cookies, no emails or phone numbers.
- In short: LinkedIn Profile Search (Apify actor
transparent_meteorite/linkedin-profile-search) finds public LinkedIn profiles through Google search and returns one row per person; optional full mode reads the public profile page. - Who it is for: recruiters and sourcers, sales prospecting (find the marketing managers at a company or in a city), founders building lead lists, market researchers.
- Input: free-text query, job titles, locations, companies, schools, industries, first and last names, short or full mode, max profiles, monitor mode (only new profiles).
- Output: linkedinUrl, publicIdentifier, fullName, firstName, lastName, headline, currentTitle, currentCompany, location, followersText, snippet, searchQuery; full mode adds worksFor, education, about, followers, connectionsText, addressLocality, addressCountry, languages, awards, sameAs, profilePictureUrl, recentPosts.
- Pricing: pay per event. Short profile $0.002 free plan, $0.0018 Bronze, $0.0016 Silver, $0.0015 Gold and above. Full profile $0.0035 / $0.0033 / $0.003 / $0.0028. Plus $0.00005 per run start.
- Limits: Google shows about 10 profiles per search page, so the actor widens each search (recency, country, exclusions) to find more; very large lists need several titles or locations. About half of LinkedIn profiles are hidden from logged-out visitors: in full mode those come back with search data and are charged the short price.
Type a job title and a city, press Start, get a table of people with their LinkedIn URLs in about a minute.
What is LinkedIn Candidate Sourcing List Builder?
Find public LinkedIn profiles by job title, location, company, school, industry or name. Short mode: name, headline, current title and company, location, followers, profile URL. Full mode adds companies, education, about, exact followers and recent posts. No LinkedIn login or cookies. Run it from the Apify Console, the API or a schedule, and export the results as JSON, CSV, Excel or HTML.
Run in 30 seconds
- Open the actor in Apify Console (a free Apify account is enough).
- Press Start with the prefilled input: marketing managers in Detroit, 10 short profiles, about $0.02 on the free plan.
- Open the Output tab: the Profiles view is a table. Download as CSV, Excel or JSON.
{"currentJobTitles": ["marketing manager"],"locations": ["Detroit"],"profileScraperMode": "short","maxItems": 10}
An empty input {} also works: it runs that same example search.
Why choose this over alternatives
- Cheaper per person. The most-used profile search actor charges $0.05-0.10 per page of 25 short profiles ($0.002-0.004 per person) plus $0.004 per full profile. Here a short profile is $0.0015-0.002 and a full profile $0.0028-0.0035.
- No LinkedIn account at risk. Nothing logs in to LinkedIn, so no cookies, no account bans, no Sales Navigator seat.
- You pay for people, not pages. Duplicates, non-profile results and profiles already delivered in monitor mode are never charged. A full profile that LinkedIn hides is charged the short price, not the full one.
- Monitor mode. Save a search, schedule it weekly, get only the people who appeared since last time.
What you get: output fields
| Field | Meaning |
|---|---|
| linkedinUrl, publicIdentifier | Public profile URL and its slug |
| fullName, firstName, lastName | Name as shown on LinkedIn |
| headline | Headline as shown in search |
| currentTitle, currentCompany | Current role and employer |
| location | Location as shown on LinkedIn |
| followersText | e.g. "1.6K+ followers" |
| snippet | Text from the profile shown in search |
| searchQuery | Which of your searches found this person |
| fullProfileLoaded | true = public profile read (full price) |
| worksFor, pastOrganizations, education | Full mode: companies (name, URL, location) and schools |
| about, followers, connectionsText | Full mode: about section, exact followers, "500+ connections" |
| addressLocality, addressCountry, languages, awards, sameAs, profilePictureUrl, recentPosts | Full mode extras |
No email addresses or phone numbers are collected.
Sample output
Illustrative row (real field names and shapes; the person is made up):
{"linkedinUrl": "https://www.linkedin.com/in/jane-example-12345","publicIdentifier": "jane-example-12345","fullName": "Jane Example","firstName": "Jane","lastName": "Example","headline": "Digital Marketing Manager at Example Motors","currentTitle": "Digital Marketing Manager","currentCompany": "Example Motors","location": "Detroit Metropolitan Area","followersText": "1.6K+ followers","snippet": "Digital Marketing Manager at Example Motors · Experienced digital marketer ...","searchQuery": "marketing manager | Detroit","fullProfileLoaded": true,"followers": 1605,"connectionsText": "500+ connections","worksFor": [{ "name": "Example Motors", "url": "https://www.linkedin.com/company/example-motors", "location": "Detroit, Michigan, United States" }],"education": [{ "name": "Michigan State University", "url": null }],"addressLocality": "Detroit Metropolitan Area","addressCountry": "US","languages": ["English"],"recentPosts": [{ "url": "https://www.linkedin.com/posts/...", "text": "Gearing up for our 90th season.", "datePublished": "2023-04-12T14:46:32.558Z", "likes": 23 }]}
Input options
- searchQuery: free text matched on the profile (skills, tagline words).
- currentJobTitles, locations, currentCompanies, schools, industries: lists; each combination is its own search (up to 40 combinations per run).
- firstNames, lastNames: look up specific people.
- profileScraperMode:
short(search data) orfull(also read the public profile). - maxItems: cap on profiles and cost. maxSearchPagesPerQuery: how hard to widen each search (1-8).
- onlyNew + monitorStoreName: monitor mode.
Pricing
| Event | Free | Bronze | Silver | Gold, Platinum, Diamond |
|---|---|---|---|---|
| Short profile | $0.002 | $0.0018 | $0.0016 | $0.0015 |
| Full profile (replaces short) | $0.0035 | $0.0033 | $0.003 | $0.0028 |
| Run start | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
100 short profiles cost $0.15-0.20. Set Maximum cost per run in the run options and the actor stops before going over it.
What it does and who it is for
The actor turns your filters into Google searches restricted to linkedin.com/in, reads every result (name, headline, location, current title and company as LinkedIn shows them to Google), resolves the real profile URL, removes duplicates, and in full mode opens each public profile page. Recruiters build candidate long-lists, sales teams find decision makers by title and company, agencies map a local market, researchers count roles in a region.
Use cases
- Recruiting long-lists: search a job title in one or several cities and export candidate names, headlines and profile URLs to a spreadsheet or your ATS.
- Sales prospecting: find the marketing managers, founders or ops leads at target companies, then enrich the company side with Company Enrichment by Domain or LinkedIn Company Scraper.
- Market mapping: count how many people hold a role in a region, or which employers and schools show up most, to size a market or a hiring plan.
- Content and outreach research: pair the people list with LinkedIn Posts Search to see who is publicly posting about your topic.
- Weekly automation (n8n, Make, Zapier): schedule a saved search in monitor mode, send the new rows to a sheet or CRM, and review them before anyone is contacted.
Use it from AI assistants (MCP)
LinkedIn Profile Search works as a tool for AI assistants through the official Apify MCP server. Add this URL to any MCP client (Claude Desktop, Claude Code, Cursor, ChatGPT connectors, VS Code):
https://mcp.apify.com/?actors=transparent_meteorite/linkedin-profile-search
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=transparent_meteorite/linkedin-profile-search","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Then ask, for example: "Find 20 HR directors in Chicago on LinkedIn and list their companies."
Limits
- Results come from what Google has indexed from public LinkedIn profile pages, about 10 profiles per search page. Very large lists need several titles or locations.
- Roughly half of LinkedIn profiles are hidden from logged-out visitors. In full mode those rows keep the search data and are charged the short price.
- Headlines and locations are as LinkedIn showed them to Google, usually days to weeks old. Full mode reads the live public page.
- No emails, phone numbers, private profiles or anything behind a LinkedIn login. The actor does not accept cookies or credentials.
- Search engines can throttle heavy use: if a run returns fewer profiles than maxItems, narrow the search or add more titles and locations.
Is it legal? Personal data notice
Our scrapers are ethical and do not extract private user data such as email addresses or phone numbers, or anything behind a login. They only extract what people have chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by GDPR (EU Regulation 2016/679), by the CCPA in California and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You can also read the Apify blog post on the legality of web scraping: Is web scraping legal?
Terms and responsible use
The actor reads only what LinkedIn shows publicly to search engines and logged-out visitors. You are responsible for lawful use (GDPR, CCPA and similar laws) of the personal data you collect. Do not use it for spam, harassment or to build profiles of private individuals beyond a legitimate business purpose.
Support
Found a bug or need a field? Open an issue on the Issues tab with the run URL. We reply there.
More resources
- Guide & examples: mamoo85.github.io/open-data-actors/linkedin-profile-search.html
FAQ
Do I need a LinkedIn account? No. Nothing logs in to LinkedIn.
Why fewer profiles than maxItems? Google lists about 10 profiles per search page, and a narrow search (one title, one small town) may only have a few dozen public profiles. Add more titles, nearby locations or companies.
Why is fullProfileLoaded false on some rows? LinkedIn hides some profiles from logged-out visitors. Those rows keep the search data and cost the short price.
Can I get emails or phone numbers? No. The actor does not collect contact details of people.
How fresh is the data? Search data is what Google last saw on LinkedIn (usually days to weeks old); full mode reads the live public profile.
Changelog
- 2026-10-14: Initial release.
- 2026-10-25: Documentation updated: README refreshed.
- 2026-10-25: Listing refresh: new Store icon, README reorganised (overview, data fields, pricing, FAQ) and changelog tab added. No code change.
Example input
A small run that finishes quickly (this is also the prefilled input in the Apify Console). Values come from the input schema:
{"currentJobTitles": ["marketing manager"],"locations": ["Detroit"],"fillMissingDetails": true,"profileScraperMode": "short","maxItems": 10,"maxSearchPagesPerQuery": 8,"onlyNew": false,"monitorStoreName": "linkedin-profile-search-monitor"}
Alternatives to LinkedIn Profile Search
Other ways to get similar data, so you can choose what fits:
- LinkedIn Sales Navigator: official, login and seat required
- Apollo.io: B2B contact database
- Lusha: contact data platform
This actor's edge is pay-per-result pricing, no login and ready-to-use structured output. Compare on a small test run before you commit.
