Job Search & Match Analyzer avatar

Job Search & Match Analyzer

Pricing

from $3.00 / 1,000 exported matched jobs

Go to Apify Store
Job Search & Match Analyzer

Job Search & Match Analyzer

๐Ÿ’ผ Find remote, hybrid, and on-site jobs across public company career boards. Deduplicate vacancies, rank candidate fit, analyze salary and skills, and export direct application links plus a PDF report.

Pricing

from $3.00 / 1,000 exported matched jobs

Rating

0.0

(0)

Developer

Daniel S.

Daniel S.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Job Search & Match Analyzer ๐Ÿ’ผ

Search public company career boards and remote-job sources from one Apify Actor. Filter jobs by keyword, location, remote/hybrid/on-site arrangement, age, employment type, experience, salary, and skills. Get one deduplicated list ranked by candidate match, with direct links to the original job pages.

This is more than a raw job scraper. Every result includes:

  • a transparent matchScore from 0 to 100,
  • evidence explaining why the role matches,
  • matched and missing preferred skills,
  • normalized workplace arrangement and salary when available,
  • freshness and source metadata,
  • conservative scam-risk signals,
  • the original job page and application URL,
  • JSON and CSV exports,
  • a printable HTML/PDF job-search report.

Quick Start ๐Ÿš€

  1. Enter one or more Job keywords, such as software engineer, marketing manager, or customer success. Use one role per row; pasted comma-separated roles are split automatically.
  2. Enter a Location, such as Prague, London, or Germany. Leave it empty for any location.
  3. Choose Any, Remote, Hybrid, or On-site.
  4. Start with 20โ€“50 results and leave advanced filters unchanged.
  5. Add preferred skills or a short candidate profile to improve ranking.
  6. Click Save & Start.
  7. Open the Best matches dataset view and click applicationUrl to view the exact original job page.

For the widest useful first run, keep Broad search selected. To search only remote roles, choose Remote jobs. To inspect specific employers, paste their career or ATS URLs into Additional company career or ATS URLs.

Why Use It? โœจ

Typical job search problemJob Search & Match Analyzer
Switching between many company sitesSearches multiple public sources in one run
Seeing the same vacancy several timesDeduplicates company + title + location combinations
Manually checking every descriptionRanks jobs by title, skills, location, arrangement, and freshness
Unclear remote eligibilitySeparates remote, hybrid, on-site, and remote-region data
No easy exportProduces Apify dataset views, JSON, CSV, HTML, and PDF
Losing the original application pagePreserves sourceUrl and clickable applicationUrl
Suspicious remote offersFlags observable warning phrases without declaring a job fraudulent

Search Coverage ๐ŸŒ

The Actor is self-contained and does not call another Apify Actor.

Combines:

  • Jobicy: curated remote vacancies with required source attribution and direct Jobicy links.
  • Public Greenhouse boards: a maintained employer catalog including Stripe, Airbnb, Datadog, Cloudflare, Discord, Figma, Reddit, Lyft, Roblox, Duolingo, GitLab, Elastic, MongoDB, Affirm, Okta, Twilio, HubSpot, and Coinbase.
  • Public Ashby and Lever boards: a maintained international catalog plus Czech-focused employers such as Rohlik, Kiwi.com, Apify, Rossum, Pipedrive, Myriad AI, Duvo, Revel Robotics, OAK'S LAB, Synhawk, and Draslovka.

Custom career URLs

Paste up to 30 URLs. The Actor automatically recognizes:

  • Greenhouse
  • Lever and Lever EU
  • Ashby
  • SmartRecruiters
  • Recruitee
  • ordinary career pages exposing schema.org JobPosting structured data

For ordinary pages, the Actor follows a bounded number of same-site job/career links. Use the page-limit control to avoid unexpectedly large crawls.

GoalSource coverageArrangementHelpful settings
Global remote workRemote jobsRemoteAdd preferred skills and keep location empty
Jobs near a city plus remote optionsBroadAnyEnter city and keep โ€œremote outside selected cityโ€ enabled
Strict local office searchBroadOn-site or HybridEnter city and disable remote-outside-location
Search selected employersCustom onlyAnyPaste their ATS/career URLs
Salary-transparent rolesBroadAnyDisable โ€œKeep jobs without published salaryโ€
Recent opportunitiesBroadAnySet posted-within to 7 or 14 days
Internship or senior searchBroadAnyAdd the desired experience level

Match Scoring ๐Ÿง 

matchScore is deterministic and capped at 100. It uses only evidence found in the input and listing:

  • direct or partial title match,
  • search keywords in the available description,
  • preferred skills found,
  • selected location,
  • selected workplace arrangement,
  • posting freshness,
  • published salary information.

The Actor does not claim a candidate will be interviewed or hired. matchReasons explains added score; matchConcerns records missing salary, date, description, or skill gaps.

When candidateProfile is provided, common skills found in that text are used for ranking. Avoid pasting names, addresses, phone numbers, or other unnecessary personal identifiers.

Remote, Hybrid, and Location Filtering ๐Ÿ 

The Actor normalizes provider-specific values into:

  • remote
  • hybrid
  • onsite

When a location is entered and Include remote jobs outside selected city is enabled, remote roles can remain even if their listed region does not match the city. Always read remoteRegion and the original description because โ€œremoteโ€ often means remote only within a specific country or time zone.

Salary Handling ๐Ÿ’ฐ

The Actor preserves structured salaries from sources and can detect clearly labeled ranges from descriptions. Text parsing requires an explicit currency or salary context to avoid treating unrelated numbers as compensation.

Output fields include:

  • salaryMin
  • salaryMax
  • salaryCurrency
  • salaryPeriod
  • salaryText

For minimum-salary filtering, monthly, weekly, daily, and hourly values are annualized. Currency conversion is not performed, so use salaryCurrency when comparisons must be currency-specific.

Risk Signals ๐Ÿ›ก๏ธ

The Actor records visible warning signals such as:

  • upfront or training-fee language,
  • requests for gift cards or cryptocurrency payments,
  • reliance on consumer messaging apps,
  • unrealistic guaranteed-income language,
  • missing employer identity,
  • a non-HTTPS application link.

scamRiskScore is a screening aid, not a fraud verdict. A low score is not a guarantee that a job or employer is legitimate. Verify the employer domain and never send money to apply.

Structured Dataset Views ๐Ÿ“Š

  • Best matches: score, role, company, location, salary, skills, freshness, risk, and application link.
  • Remote & hybrid jobs: remote eligibility and work-from-home-focused fields.
  • Jobs with salary: compensation comparison.
  • All job data: complete fields for APIs and automation.

The default key-value store also contains:

  • OUTPUT.json
  • OUTPUT.csv
  • SEARCH_SUMMARY.json
  • JOB_SEARCH_REPORT.html
  • JOB_SEARCH_REPORT.pdf

Example Input โš™๏ธ

{
"keywords": ["software engineer", "backend developer"],
"location": "Prague",
"workArrangement": "any",
"includeRemoteOutsideLocation": true,
"sourcePreset": "broad",
"maxResults": 30,
"datePostedDays": 30,
"preferredSkills": ["TypeScript", "Node.js", "PostgreSQL", "AWS"],
"candidateProfile": "Backend engineer experienced with TypeScript, Node.js, SQL, Docker, and cloud infrastructure.",
"minimumMatchScore": 40,
"sortBy": "matchScore",
"includeFullDescription": true,
"generateJobSearchReport": true
}

Example Output ๐Ÿ“ฆ

{
"jobTitle": "Senior Backend Software Engineer",
"companyName": "Example Cloud",
"location": "Europe",
"workArrangement": "remote",
"employmentType": "Full-time",
"experienceLevel": "Senior",
"matchScore": 87,
"fitSummary": "Strong match for Senior Backend Software Engineer at Example Cloud. Matched skills: TypeScript, Node.js, PostgreSQL, AWS.",
"matchReasons": [
"Job title directly matches: software engineer",
"Preferred skills found: TypeScript, Node.js, PostgreSQL, AWS",
"Remote role can be relevant outside the selected city",
"Posted within the last week"
],
"matchConcerns": [],
"matchedPreferredSkills": ["TypeScript", "Node.js", "PostgreSQL", "AWS"],
"missingPreferredSkills": [],
"salaryMin": 80000,
"salaryMax": 100000,
"salaryCurrency": "EUR",
"salaryPeriod": "year",
"datePosted": "2026-07-24T09:00:00.000Z",
"freshnessDays": 2,
"applicationUrl": "https://company.example/jobs/backend-engineer/apply",
"sourceUrl": "https://company.example/jobs/backend-engineer",
"sourceName": "Example Cloud careers",
"sourceType": "greenhouse",
"scamRiskScore": 0,
"scamRiskLevel": "low",
"scamRiskSignals": []
}

Pricing ๐Ÿ’ต

Suggested pay-per-event pricing:

EventPrice
Actor start$0.00005 per GB allocated
Exported matched job$0.003
1,000 exported jobs$3.00

Pricing uses Apify's synthetic apify-actor-start and apify-default-dataset-item events. Only rows actually exported to the default dataset are charged as results. Raw jobs removed by keyword, location, date, salary, arrangement, deduplication, or score filters are not charged as results.

This price is intended to cover serverless runtime, source requests, data processing, and optional PDF rendering while remaining inexpensive for personal job searches.

Run Locally ๐Ÿ’ป

npm install
npx playwright install chromium
npx apify-cli run --input-file examples/input-smoke.json

Inspect:

  • storage/datasets/default/
  • storage/key_value_stores/default/

Run on Apify โ˜๏ธ

npx apify-cli login
npx apify-cli push

After deployment, select a sample input, run the Actor, and open the dataset or report links shown on the Output tab.

Reliability and Limitations โ„น๏ธ

  • Job availability can change between collection and opening the link.
  • No single public source covers every vacancy on the internet.
  • The Actor does not claim to scrape LinkedIn, Indeed, Glassdoor, or Google Jobs.
  • Source providers can change schemas, rate limits, or terms.
  • Some ATS list dates represent updates rather than first publication.
  • Remote eligibility is provider-supplied or inferred from explicit public text and should be verified.
  • Salaries are not converted between currencies.
  • Custom pages without JobPosting structured data may return no records.
  • Jobicy listings are attributed and link back to Jobicy in accordance with its public API guidance.
  • Users are responsible for complying with source terms and local laws when adding custom URLs or using exported data.

Store SEO Tags ๐Ÿ”

job search scraper, job finder, remote jobs, work from home jobs, hybrid jobs, career page scraper, Greenhouse jobs scraper, Lever jobs scraper, Ashby jobs scraper, SmartRecruiters scraper, job aggregator, job matching, resume job matcher, salary jobs, software engineer jobs, marketing jobs, job alerts, employment data, vacancy scraper, direct apply jobs