LinkedIn Candidate Finder: Matched Skills, No Recruiter Seat
Pricing
from $1.80 / 1,000 candidate founds
LinkedIn Candidate Finder: Matched Skills, No Recruiter Seat
Find LinkedIn profiles matching recruiter requirements: role, skills, location, experience, target companies. Returns name, headline, current title and company, profile URL, matched skills, and a match confidence note. No login, no cookies. Use as an MCP server in Claude, ChatGPT and AI agents.
Pricing
from $1.80 / 1,000 candidate founds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
LinkedIn Candidate Finder: Recruiter Sourcing
Overview
LinkedIn Candidate Finder turns your recruiter requirements into a ready-to-review candidate shortlist. Give it a role, the skills you need, a location and (optionally) target companies, and it returns names, headlines, current title and company, profile URLs, which of your required skills each candidate actually has, and a plain-English match confidence note. No LinkedIn login, no Recruiter seat, no cookies, no browser automation.
It reads public LinkedIn profiles that Google has already indexed, the same public-data technique proven across this portfolio's other LinkedIn actors, and returns structured recruiter-ready records for your ATS or sourcing sheet.
Reliability posture: empty or blocked searches are never charged. You only pay for a candidate record that was actually delivered.
✅ No login required | ✅ No cookies | ✅ Matched skills per candidate | ✅ MCP-ready for AI agents
Features
Recruiter-shaped input. Role, required skills, location, experience band, target companies, not a generic keyword box. Matched skills per candidate. See exactly which of your required skills show up on each profile. Match confidence note. A short, honest explanation of how strong each match is, not just a bare score. Target-company sourcing. Point it at specific companies to pull candidates from those teams first. CRM/ATS-ready export. JSON, CSV, or Excel, or pull it straight into an AI agent via MCP.
How it works
LinkedIn has no public candidate-search API, and Recruiter seats are expensive per-license subscriptions. LinkedIn Candidate Finder works only from public data: it builds site:linkedin.com/in "role" "skill" "location" search queries and reads the public LinkedIn profiles Google has already indexed. It never authenticates with LinkedIn, never uses cookies, and never touches LinkedIn's own servers.
For each profile found, it checks the indexed headline and snippet text against your required skills list and reports which ones actually appear, parses a best-effort current title and company from the headline, and produces a match confidence note explaining whether the role, skills, and location all line up. If a narrow search (role plus several skills plus a location) returns too few results, it automatically broadens the query, dropping skills or the location constraint, so you still get a usable shortlist instead of an empty run.
🧾 Input configuration
{"roleTitle": "Senior Software Engineer","skills": ["Python", "AWS"],"location": "San Francisco","experienceYears": { "min": 5, "max": 10 },"targetCompanies": ["Stripe", "Notion"],"maxResults": 30,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["GOOGLE_SERP"] }}
📤 Output format
Real record delivered by a live run against roleTitle: "Senior Software Engineer", skills: ["Python", "AWS"], location: "San Francisco" on 2026-07-15:
{"name": "Adam Jenkins","headline": "Senior Software Engineer | ex-Amazon","current_title": "Senior Software Engineer","current_company": "ex-Amazon","profile_url": "https://www.linkedin.com/in/adamjenkins1","matched_skills": [],"match_confidence": "medium (role matched, 0/2 skills matched, location not confirmed)","scraped_at": "2026-07-15T01:15:42.690Z"}
matched_skills is genuinely empty here: Google's indexed snippet for this profile didn't surface "Python" or "AWS" in text, so the actor correctly under-reports rather than guesses. location is included only when confirmed in the indexed text; it isn't present on this record.
Every candidate record contains these fields:
| Field | Description |
|---|---|
🙋 name | Full name of the candidate |
💬 headline | LinkedIn headline as indexed by Google |
💼 current_title | Current job title, best-effort parsed from the headline |
🏢 current_company | Current company, best-effort parsed from the headline |
📍 location | Candidate location, reported only when confirmed in the indexed text |
🔗 profile_url | Public LinkedIn profile URL |
🧩 matched_skills | Which of your required skills were found on the profile |
🎯 match_confidence | Note on match strength: high, medium, or low, with the reasoning |
🕒 scraped_at | ISO timestamp of when the record was captured |
💼 Common use cases
Recruiter sourcing Build a first-pass candidate list for a role by title, must-have skills, and location before reaching out. Fill a pipeline for a hard-to-fill role by broadening across nearby skills automatically.
Target-company sourcing Point the search at named companies to find people already doing the job you're hiring for. Build a passive-candidate list from specific competitors or partner companies.
Skills-gap shortlisting
Compare matched_skills across candidates to see who actually has the full stack you need versus a partial match.
Use match_confidence to triage a long list down to the ones worth a first call.
Sourcing pipeline enrichment
Feed the profile_url list into an outreach sequencer or ATS import.
Re-run periodically as new profiles get indexed for a hard-to-fill role.
🚀 Getting started
- Open the actor and enter the role you're recruiting for (e.g. "Senior Software Engineer").
- Add the required skills (e.g. "Python", "AWS") and a location. Leave either empty to search more broadly.
- Optionally set an experience range and target companies to prioritise (up to 20 — each adds its own search).
- Set max candidates (default 30) to control volume and cost, and keep the recommended
GOOGLE_SERPproxy group. - Click Start, then download the dataset as JSON, CSV, or Excel, or pull it via API/MCP.
FAQ
How does it find candidates without a Recruiter seat?
It only reads public LinkedIn profiles that Google has already indexed, using site:linkedin.com/in "role" "skill" "location" search queries through the GOOGLE_SERP proxy. It never logs in, never uses cookies, and never touches LinkedIn's own servers directly.
How reliable is the matched_skills field?
It checks each required skill against the profile's indexed headline and snippet text (case-insensitive). A skill only appears in matched_skills if it's actually present in that indexed text, so it will under-report skills LinkedIn hasn't surfaced in its Google-facing summary rather than over-claim a match.
What does experienceYears actually filter on? Google's public index has no structured years-of-experience field, so this is a soft signal: outside a min of 8+ or a max of 3 or under, it adds a "senior" or "junior" keyword to the search rather than filtering results numerically.
How much does it cost? Pay per event: $0.003 per candidate found. You're charged only for candidates actually delivered, never for empty or blocked searches.
Can I use it inside an AI agent? Yes. It's exposed as an MCP tool. See below.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/linkedin-candidate-finder
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/linkedin-candidate-finder').call({roleTitle: 'Senior Software Engineer',skills: ['Python', 'AWS'],location: 'San Francisco',maxResults: 30,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🛠️ Related LinkedIn actors
Found the candidates. Now enrich and reach out with the full LinkedIn wedge:
- LinkedIn Profile Scraper: pull the full profile (experience, education, skills) for any candidate URL.
- LinkedIn Company Scraper: firmographics (industry, size, HQ, founded, website) from a company page URL.
- LinkedIn Employees Scraper: list every public employee at a target company.
- LinkedIn Jobs Scraper: see what roles a target company is actively hiring for.
- LinkedIn Post Scraper: public LinkedIn posts and their authors by keyword, for social listening and lead discovery.
- B2B Leads Finder: get business emails and phone numbers alongside LinkedIn profiles.
Typical flow: candidate-finder builds the shortlist, linkedin-profile-scraper pulls full work history for the shortlisted names, b2b-leads-finder adds a contact email before outreach.
Found a bug or have a feature request? Open an issue on the actor's Apify Console page or reach out through the Apify profile.