AI Job Match + LinkedIn Jobs Scraper: scored to your CV
Pricing
from $2.00 / 1,000 matched job (rules only)s
AI Job Match + LinkedIn Jobs Scraper: scored to your CV
First 25 jobs free. AI job match for LinkedIn jobs: scrapes your search, drops reposts, agencies and duplicates free, scores each job 0-100 against your CV with a recruiter note. Pay per matched job, no start fee. Free demo on any plan; live search runs on your own Apify account.
Pricing
from $2.00 / 1,000 matched job (rules only)s
Rating
0.0
(0)
Developer
Rich Minds
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Security
Limited permissionsShare
New LinkedIn jobs that fit your CV, scored and explained, in your inbox every morning.
⚡ First 25 jobs free · 💵 $0.002 per matched job · 🤖 $0.01 + ≈ $0.004 AI tokens with the AI match, on plans with model access or your key · ⏱️ demo in 3 s

Try it in 30 seconds. Click Try it — the form is pre-filled with 7 sample jobs and a sample CV: free, on any plan. Type your own search terms and CV and press Start — that runs the live search. Your first 25 matched jobs are free, and jobs that fail your filters cost nothing here. → What a run costs · What the AI adds · Daily job alerts
⚡ At a glance
| What you get | a ranked shortlist of LinkedIn jobs that fit your CV: score, skills you match / miss, salary, sponsorship flags, who posted it |
| You provide | 1–5 job search terms, a location and your CV — pasted, or a link to a PDF / DOCX |
| Output | a ranked sheet, best first — Excel, CSV or Google Sheets — plus an e-mail digest of what is new each run |
| Typical run | 3 searches × 40 jobs = 120 read → ≈ 30 matched (estimate); the demo: 7 sample jobs → 3 matched in 3 s |
| Cost of that run | $0.06 rules only · ≈ $0.46 with the AI match (30 × $0.01 + ≈ $0.16 tokens); + $0.24 when the LinkedIn Jobs Scraper reads the jobs |
| Free tier | first 25 matched jobs per account; filtered, duplicate and below-score jobs always free |
| Keys / setup | Plan with Apify model access: no key needed · other plans: your own key — a free Gemini / Groq key = 1–3 AI matches per run, a paid one = every job |
| Which plan | Free demo and your own list (template): any plan · live search: any plan with the built-in LinkedIn reader; its scraper fallback needs a plan that runs Store Actors |
| Coaches & recruiters | one run for a roster of up to 50 candidates — one search, a score and a digest per candidate |
| Works with | Schedules, Google Sheets, Slack, Teams, Discord, Telegram, webhooks, n8n / Make / Zapier, MCP |
🎯 What this Actor does
It scrapes your LinkedIn searches and does the reading for you — you pay only for jobs that pass your filters:
- A job match score against your resume — 0–100, the reasons, the skills you match and the ones to prepare.
- Junk removed for free — reposts, staffing agencies, excluded companies, too many applicants, too old or below your salary floor: never sent to the AI, never charged.
- Sponsorship and clearance flags with the quoted sentence — "We are unable to sponsor visas" is caught first.
- Who to contact — the poster's profile (else the company page), plus a recruiter note and a cover-letter hook for strong and good matches.
- Only new jobs on every run, in your inbox — a daily schedule delivers and charges each job once, reposts included.
🛂 Visa sponsorship, 🌍 remote, 🎓 new-grad and 👻 ghost jobs
- Visa sponsorship jobs / H-1B job alerts — "Needs visa sponsorship" drops every "unable to sponsor" job and flags
the ones that sponsor, quoted; the
sponsorship_offeredflag keeps only those. - Remote jobs — "Workplace: remote" is re-applied strictly on the returned fields.
- New-grad jobs — the entry-level preset keeps internship / entry / associate roles and drops "5+ years".
- Ghost job detector — reposted, open 30+ days, 200+ applicants, no named poster → a risk with the reasons; "Drop ghost jobs" removes the high ones for free.
- Company and exclude filters — company size (
minCompanyEmployees,maxCompanyEmployees), excluded companies and an exclude list of job ids, URLs or titles (suppressionList).
✉️ Recruiter note, cover letter generator and 👥 rosters
Strong and good matches get a ≤ 600-character note to the poster and a cover-letter opening, built only from your CV
and the description. A roster in "Several candidates" (candidates) runs the search once, then scores, remembers
and digests each candidate apart — one event per job per candidate.
🚀 How to use it
- Click
Try it— the form is pre-filled with 7 sample jobs and a sample CV; press Start (free, any plan). - Type your job search terms and paste your CV (or pick a ready search in "Start from a ready niche search") — your terms replace the sample and run the live search, capped by "Max source spend". Leave the AI on: all 25 free jobs get the AI match with Apify model access or a paid own key; a free own key gives 1–3 per run (which AI your plan gets).
- Press Start and open the dataset — the Shortlist view lists the best matches first.
- Schedule it daily with your address in "E-mail me the new jobs" — only new jobs are delivered and charged.
📦 Already scraping LinkedIn jobs? Match the LinkedIn scraper data you have
Paste the dataset ID of your last curious_coder/linkedin-jobs-scraper run into Dataset ID — no second scrape,
rules only by default, and you pay only for the matched jobs. To do it after every scrape, see the
chained-run recipe.

📚 Learn more: Tutorial — how to get an AI job match for every new LinkedIn job
🆚 Why this instead of running Linkedin Jobs Scraper yourself?
Linkedin Jobs Scraper (curious_coder/linkedin-jobs-scraper) | AI Job Match + LinkedIn Jobs Scraper | |
|---|---|---|
| Price | $0.002 per job row + $0.00005 per start · 17,864 users / 30 days | $0.002 per matched job, first 25 free, no start fee |
| Same 100 jobs, all in | $0.20 for 100 raw rows you still read | ≈ 25 matched: $0.05 rules · $0.35 with the AI (built-in reader) — $0.25 / $0.55 when the scraper reads them |
| Your time per 100 jobs | ≈ 17 h reading each posting against your CV (10 min a job) | ≈ 0 h — ranked, explained, note written |
| Repeat runs | dedupes only within one run | memory by job id and company + title + location — reposts never charged twice |
| Match to your CV | none | 0–100 score, matched / missing skills, quoted requirements |
vs other job tools
| Actor | What it delivers | 100 clean jobs | Your time per 100 jobs |
|---|---|---|---|
| This Actor | jobs matched to your CV, scored, deduped, with contact | $0.20 rules · ≈ $1.40 with the AI | ≈ 0 h |
valig/indeed-jobs-scraper | raw Indeed rows | ≈ $0.04 at $0.0001 per row + $0.001 start, ≈ 4 rows per clean job | ≈ 17 h |
fantastic-jobs/career-site-job-listing-api | ATS postings with global AI filters | ≈ $1.21 at $0.012 per row + $0.01 start | ≈ 17 h |
curious_coder/linkedin-jobs-search-scraper | classic filters, needs your LinkedIn cookies | ≈ $0.61 at $0.0015 per row + $0.005 start | ≈ 17 h |
💵 Pricing — what a run really costs
Pay per result: one event per matched job, nothing else — no start fee.
| Event | When it is charged | Price |
|---|---|---|
free-tier | your first 25 matched jobs on this Actor, in any mode | $0.00 |
qualified-job-basic | AI off (or the AI failed) — normalised job, rule match score, skills, flags with evidence, contact link | $0.002 |
qualified-job-ai | AI on — everything above plus the AI score and reasons, quoted requirements, recruiter note, cover-letter hook | $0.01 |
One free tier: your first 25 matched jobs are free, whatever the tier.
AI tier, all in: ≈ $0.014 per matched job — $0.01 here + ≈ $0.004 AI tokens on your Apify account (or your own key): 1,677 in / 441 out tokens per job, measured 2026-10-16, at Claude Haiku 4.5 rates. With the LinkedIn Jobs Scraper reading the jobs: ≈ $0.022 per job all in with AI, source scan included.
Never charged here: jobs below the minimum score or failing a filter, duplicates, reposts, jobs you already received. The built-in LinkedIn reader scrapes free; the LinkedIn Jobs Scraper fallback bills your account $0.002 per job read, capped by "Max source spend".
How that compares — $0.002 per matched job is below the $0.0035 median of the 10 job Actors next to this one for
"ai job match" (1.7× cheaper, 2026-09-25); one matched job replaces ≈ 4 raw rows.
Worked example (estimate): 120 jobs read → ≈ 30 matched with AI: 30 × $0.01 + ≈ 40 AI calls × $0.004 tokens = ≈ $0.46 ($0.70 if the scraper reads them); AI off: $0.06. 25 of the first 30 are free.
At volume — a career coach, 10 candidates on one daily search: ≈ $2 a day for the whole roster.
🤖 What the AI tier adds
The same job, AI off (qualified-job-basic, $0.002) — the demo run of storage-example/INPUT.json, 2026-10-16:
{"title": "Senior Backend Engineer (Python)", "companyName": "Ledgerline", "matchScore": 88, "ruleScore": 88, "fitScore": null, "assessedBy": "rules", "verdict": "strong","matchReasons": ["matches 2/2 must-have skills: Python, PostgreSQL", "you have 6 of the 7 skills the description names (missing: celery)", "…"],"mustHaveRequirements": [], "recruiterNote": "", "coverLetterHook": ""}
AI on (qualified-job-ai, ≈ $0.014 all-in) — local run of storage-example/INPUT.ai.json (the form's sample CV)
with the default own-key model, 2026-10-16:
{"title": "Senior Backend Engineer (Python)", "companyName": "Ledgerline", "matchScore": 90, "ruleScore": 88, "fitScore": 90, "assessedBy": "ai", "verdict": "strong", "aiModel": "google:gemini-3.5-flash-lite","matchReasons": ["Description asks for 5+ years of experience with Python and Django; profile states 6 years.", "Description states they will sponsor H-1B transfers; profile states the candidate needs H-1B visa sponsorship.", "…"],"mustHaveRequirements": ["5+ years of experience with Python and Django", "PostgreSQL", "AWS"],"recruiterNote": "Hello Maya, I am very interested in the Senior Backend Engineer position at Ledgerline. With 6 years of backend experience, I have spent my career designing robust Python, Django, and REST APIs backed by PostgreSQL and deployed on AWS. …","coverLetterHook": "With 6 years of backend experience building Python, Django, and PostgreSQL services on AWS, I am excited to apply for the Senior Backend Engineer role at Ledgerline."}
That is ≈ 10 minutes per job of reading the posting against your CV and writing the first message (our estimate: 10–15 minutes a job by hand, the lower bound used here) — for ≈ $0.012 more per job, tokens included. A job the AI scores below your minimum is not delivered or charged.
⚙️ Input
The fields a buyer decides on — the Input tab has every option.
📤 Output
One dataset item per matched job — export as JSON, CSV or Excel, or stream it to a webhook.
Dataset views: Shortlist (best first) · Outreach (poster, contact, note, hook) · Requirements & flags ·
Overview · Score breakdown (sort on matchScore, trend on ruleScore; assessedBy says which scale).
Upsert key for a CRM or Sheet: dedupeKey — LinkedIn's job id, the key the cross-run memory uses, so one job is
one row however many runs find it; itemId is per job and candidate in a roster run.
Every run that delivered writes a DIGEST (new jobs, top 10, what changed since the last run, the market
report) and a REPORT page to forward; OUTPUT holds the funnel, aiCoverage, timing and the marketReport.
⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.
🔁 Run it daily — LinkedIn job alerts
- Open the saved task and click Schedule after your first real run — the run saves your search as a task and its
status links it (
OUTPUT.scheduleTaskUrl). Put your address innotifyEmail— every run with new matches e-mails the digest (top 10 with links and the trend vs the last run). - Keep
dedupeAcrossRuns: true— jobs are remembered 60 days (dedupeTtlDays) by id and company + title + location, so each run charges only what is new. Each CV keeps its own memory; a job already paid for under an earlier CV comes back asalready-charged, never billed twice. - Paste a Slack, Teams, Google Chat or Discord webhook — or your Telegram bot's send link — into Send alerts to,
or import the ready tracker sheet into Google Sheets (
dedupeKeyfirst). - The first live run of a CV looks back a month; from the second run
OUTPUT.historyand theREPORTpage show every run.historyDatasetNamekeeps a running log across months.
Daily cost for a real job hunt — 5 search terms × 25 jobs posted in the last 24 hours = 125 read → ≈ 15 new matches × $0.01 + ≈ $0.08 tokens ≈ $0.23 a day, ≈ $1.60 a week (estimate, built-in reader); the memory keeps later runs to the jobs that are new.
🎯 Try it for your niche
Pick it in Start from a ready niche search at the top of the form and press Start — your own values always win.
| Niche | What it looks for | Preset |
|---|---|---|
| Remote Python / backend jobs | US, last 24 h, remote, Python, ≤ 150 applicants | remote-python-alerts |
| H-1B / visa sponsorship job alerts | US, last 24 h, only jobs that sponsor | h1b-sponsorship-alerts |
| Remote jobs in Europe | frontend / React, remote, no agencies | remote-europe-alerts |
| New-grad software jobs | entry level, ≤ 200 applicants | new-grad-software |
🔌 Integrations, job search automation and API
After every curious_coder/linkedin-jobs-scraper run: in that Actor's Integrations tab add "Run succeeded → start this Actor" with
sourceMode: dataset, datasetId = the finished run's resource.defaultDatasetId and enableAi: false — every
scrape you already pay for is matched automatically, rules only until you switch the AI on.
- Webhook —
webhookUrlPOSTs each job (or batches) to Zapier, Make, n8n or your CRM, signed withwebhookSecret. - Google Sheets / Slack / Teams / Discord / Telegram — the Integrations tab, or "Send alerts to".
- AI agents / MCP — the snippets run the real search, capped by
maxDiscoveryChargeUsd;{}runs the free demo.
Use it from Claude, ChatGPT or any MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/linkedin-job-match-ai"}}}
Minimal agent input — every other field keeps its default; the memory is off, so the same question twice returns the top jobs both times:
{"searchKeywords": ["backend engineer python"], "candidateProfile": "Backend engineer, 6 years of Python.", "datePosted": "past24Hours", "maxQualified": 10, "maxDiscoveryChargeUsd": 0.5, "dedupeAcrossRuns": false}
List-mode rows
sourceMode: "list" runs on any plan: paste jobs into itemsList — start from the
ready template (Linkedin Jobs Scraper's own field names).
👥 Who is it for?
| You are… | You run it to… | Start with |
|---|---|---|
| A job seeker (engineer, analyst, designer, PM) | get only new jobs that fit your CV every morning | the remote-python-alerts preset with your CV |
| Someone who needs visa sponsorship | never apply to a "we cannot sponsor" job again | the h1b-sponsorship-alerts preset |
| A career coach, bootcamp or outplacement firm | rank each candidate's jobs weekly | candidates, one memory and digest per candidate |
| A recruiter or staffing team | find the roles a candidate fits, and who posted them | the Outreach view with contactUrl |
| An AI agent / job-search copilot | call "find jobs that fit this CV" as one MCP tool | the minimal agent input above |
🧠 How the AI works
- One typed call per job: match score, requirements, note and hook. It sees your CV (≤ 2,000 characters) and the job (≤ 4,000), and is checked in code — skills and requirements only when quoted, no invented numbers or salary talk.
- Tokens only where they matter — the best rule-scored jobs first, every one at or above
minScore− 20, up toaiCandidateMultiplier×maxQualified. - No API key where your Apify plan includes model access — otherwise your own Gemini / Groq / OpenAI / Anthropic
key. Default
anthropic/claude-haiku-4.5; a failed call keeps the rule score and the status says why.
🔒 Data, compliance and limits
LinkedIn's public, logged-out job pages only — no login, no cookies. Your CV is used only for scoring, never written to the dataset. ≈ 1,000 jobs per LinkedIn search; salary and poster are missing on many jobs; the rules read English (non-English posts: leave the AI on). Use the output within LinkedIn's terms and privacy law (GDPR, CCPA).
❓ FAQ
How much will one run cost me? 3 terms × 40 jobs: ≈ $0.46 with ≈ 30 AI-matched jobs ($0.06 with AI off); + $0.24 when the LinkedIn Jobs Scraper reads them. Filtered and below-score jobs cost nothing.
What is an AI job match? A 0–100 score of how well one job fits your CV, with the reasons, the skills you match and the ones you miss.
Is this a LinkedIn jobs scraper? Yes — then it filters, dedupes and scores what it reads; you pay per matched job.
How long does a run take? Demo 3 s; AI ≈ 8 s per job; the form's 3 × 40 search ≈ 1,260 s timeoutSecs.
Which Apify plan do I need? Any plan runs the free demo, list / dataset mode and the built-in LinkedIn reader;
the scraper fallback runs on a plan that runs Store Actors. Which AI your plan gets is one line in
At a glance → Keys / setup.
Will I be charged for the same job twice? No, with dedupeAcrossRuns on (default): jobs are remembered 60 days by
id and by company + title + location; adding a search term keeps the memory. Each CV and each targetFlags set keeps
its own memory, but a job already charged under one is delivered to the other as already-charged, never charged
again. In a roster, one job for two candidates is two matched jobs.
🧩 More Actors from the same developer
- LinkedIn Buying Intent Leads — recruiters and staffing teams who also sell: find the LinkedIn posts of companies asking for help you can offer.
🆘 Support
Something missing or wrong? Open an issue on the Actor's page — buyer requests are shipped first.
📝 Changelog
One line per published build, newest first — /actor-publish adds it with the commit subject.
- 0.3.5 (2026-10-16) — Type your own job search terms next to the free sample and press Start: the live search runs right away, a sample CV left in place no longer stops it, and one click on a ready search (remote Python, H-1B sponsorship, remote Europe, new grads) fills the form for you; Every run now says how many jobs the AI matched and why the rest kept the rule score, the daily digest shows what changed since your last run, and new matches can go straight to Slack, Teams, Google Chat, Discord or Telegram; A job you already paid for under an earlier CV is delivered again re-scored but never charged twice, and the free demo shows sample AI match verdicts even on a plan without AI access.
- 0.3.4 (2026-10-04) — Bring your own data: rows or a dataset ID, the mode picked for you.
- 0.3.3 (2026-10-03) — LinkedIn's public job pages read by the Actor itself: no scraper bill, every plan.
- 0.3 – 0.1 (2026-09-25) — daily digest, ghost jobs, rosters, CV from a link, market report; initial release.