LinkedIn Candidate Finder: Matched Skills, No Recruiter Seat avatar

LinkedIn Candidate Finder: Matched Skills, No Recruiter Seat

Pricing

from $1.80 / 1,000 candidate founds

Go to Apify Store
LinkedIn Candidate Finder: Matched Skills, No Recruiter Seat

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

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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:

FieldDescription
🙋 nameFull name of the candidate
💬 headlineLinkedIn headline as indexed by Google
💼 current_titleCurrent job title, best-effort parsed from the headline
🏢 current_companyCurrent company, best-effort parsed from the headline
📍 locationCandidate location, reported only when confirmed in the indexed text
🔗 profile_urlPublic LinkedIn profile URL
🧩 matched_skillsWhich of your required skills were found on the profile
🎯 match_confidenceNote on match strength: high, medium, or low, with the reasoning
🕒 scraped_atISO 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

  1. Open the actor and enter the role you're recruiting for (e.g. "Senior Software Engineer").
  2. Add the required skills (e.g. "Python", "AWS") and a location. Leave either empty to search more broadly.
  3. Optionally set an experience range and target companies to prioritise (up to 20 — each adds its own search).
  4. Set max candidates (default 30) to control volume and cost, and keep the recommended GOOGLE_SERP proxy group.
  5. 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);

Found the candidates. Now enrich and reach out with the full LinkedIn wedge:

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.