Career Site Jobs Scraper avatar

Career Site Jobs Scraper

Pricing

from $1.40 / 1,000 job with descriptions

Go to Apify Store
Career Site Jobs Scraper

Career Site Jobs Scraper

Search open jobs by title, country and more across about 3,000 companies' own career sites, or get every open job from your own list of companies (Greenhouse, Lever, Ashby, Workday, Oracle, Workable, Recruitee, Personio, Teamtailor), in one format, with a monitoring mode for new and closed jobs.

Pricing

from $1.40 / 1,000 job with descriptions

Rating

0.0

(0)

Developer

Natan Rubinstein

Natan Rubinstein

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a minute ago

Last modified

Share

Search every open job by title, country and more across about 3,000 companies' own career sites, or give it your own list of companies and get all of their openings, live — in one clean format, whichever applicant tracking system (ATS) each company uses. Turn on monitoring and each run returns only the jobs that are new or changed since the last run, plus the ones that closed.

Supported career sites: Greenhouse, Lever, Ashby, Workday, Oracle Recruiting Cloud, Workable, Recruitee, Personio and Teamtailor.

Why this Actor

  • Search, or your own company list. Type a job title (plus country, workplace type, employment type or posting age if you like) to search about 3,000 companies' career sites at once, with no list needed. Or paste the companies you care about — customers, prospects, competitors, a portfolio — and get all of their openings, not a sample.
  • Fresh from the source. Our index re-reads every company it covers every day, so a search answers in seconds. Companies outside the index, or read longer ago than you allow (Max data age), are read live from their own boards during your run.
  • One format for nine ATSs. Title, locations with country codes, workplace type (remote / hybrid / on-site), employment type, pay range when the employer publishes one, posting date, department, full description and a stable job ID.
  • Monitoring built in. Schedule it daily with Only jobs that are new or changed on, and you have a hiring-alert feed. Closed jobs are reported only after they are missing twice in a row, and on boards read page by page (Lever, Workday, Oracle) each one is checked directly first, so a hiccup on a career site never shows up as hundreds of "closed" jobs. A job counts as changed when what a reader sees changes: its title, location, team, employment or workplace type, or listed pay. A company re-saving all its jobs is not a change, so you don't pay for it.
  • Fair pricing. Pay per job, plus a small fee per company read live. Turn descriptions off for a cheaper list.

How to use it

To search: leave Companies empty and fill in Job title contains any of, for example data engineer, and optionally countries, workplace type, employment type and Posted within the last N days. The run returns the most recently posted matching jobs across the companies in our index, up to Max results (1,000 by default; 0 returns every match). With monitoring on, each run returns the matches that are new since the last one instead (any beyond Max results come in the next run).

For your own companies:

  1. Paste one company per line into Companies: a job-board link (best), or the company's website or name. For example:

    • https://job-boards.greenhouse.io/gitlab
    • https://jobs.lever.co/spotify
    • https://jobs.ashbyhq.com/ramp
    • https://adobe.wd5.myworkdayjobs.com/external_experienced
    • https://apply.workable.com/mercari

    A short form works too: greenhouse:gitlab, lever:spotify, workday:adobe.wd5/external_experienced. To control how a company's name appears in the results, put it in front: JPMorgan Chase | oracle:jpmc.fa.oraclecloud.com/CX_1001. Otherwise the name comes from the career site or its address.

  2. Optionally set filters (title words, countries, workplace type, posted within N days) and a cap per company.

  3. Run it, or schedule it. Download the results as JSON, CSV or Excel, or connect them to n8n, Make, Zapier or your own code through the Apify API.

Only have websites or names? Paste stripe.com or Stripe. The Actor looks for the job board on the company's careers pages, or tries the name on the job systems where that works, and uses a board only when the board confirms it belongs to that company (its own name, or job links on the company's website). Anything it cannot confirm is listed as not found in OUTPUT, with the reason, and is not charged; it never guesses. Workday and Oracle sites are found only through the careers pages, so for those a link is the surest input.

Not sure which link a company uses? Open the company's careers page and click any job: the address of the job page shows the system (for example job-boards.greenhouse.io/... or ...myworkdayjobs.com/...).

What you get

One row per job:

FieldExample
titleSr. Manager Risk & Controls
companyNameAdobe
location, locations[], countryCodesSan Jose · [{city, region, countryCode}] · ["US"]
workplaceTyperemote / hybrid / onsite (when the career site says)
employmentTypefull_time, part_time, contract, temporary, internship, other
salary{min: 137100, max: 301400, currency: "USD", period: "year", source: "text"}
postedAt, postedAtPrecision2026-10-16T00:00:00Z · day
url, applyUrlthe job's own page
descriptionText / descriptionHtmlthe full description
department, team, requisitionId, experienceLevelwhen the ATS provides them
jobKey, ats, boardKey, atsJobIdstable identifiers for de-duplication
changeType, firstSeenAt, lastSeenAtmonitoring runs: new / updated / unchanged / closed
source.fetchedAt, source.fromCachewhen the job was read from its career site, and whether it came from our daily index

Each run also writes an OUTPUT record listing every company line with its status (ok, empty, not found, blocked…) and how many jobs it returned.

Pricing

Pay per event:

EventPrice
Job with description$2.00 per 1,000 jobs
Job without description$0.80 per 1,000 jobs
Company checked$0.003 per company read live from its career site

Companies taken from our daily index are not charged as checked. Closed-job rows are free. Lower prices apply on higher Apify plans. Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.

How it collects data, and the rules it keeps

  • It reads only public job postings, from the endpoints each company's career site itself uses or that the ATS documents. No logins, no accounts.
  • It obeys robots.txt on every request and identifies itself in its user agent.
  • It never works around a block: no CAPTCHA solving, no proxy rotation. A site that refuses is reported as blocked in OUTPUT.
  • It asks politely: about one request per second per site.
  • No personal data: recruiter names and contact fields are never collected, and emails and phone numbers are removed from descriptions.
  • Some sites ask that their content not be used to train AI models. Where they say so, each job carries that signal in source.contentSignals (for example ai-train=no). Please respect it.

You are responsible for how you use the data. Respect each site's terms and the law where you work.

FAQ

Which companies does a search cover? About 3,000 companies with the most openings on Greenhouse, Lever, Ashby, Workday, Workable, Recruitee, Personio and Teamtailor, and more are added over time. Any other company works too: list it in Companies and it is read live.

Which companies can I add? Any company whose jobs are on one of the supported systems. Lines the Actor cannot match to a supported board are listed in OUTPUT (not found, unsupported or duplicate) and are not charged.

How fresh is the data? Our index re-reads its companies every day, and a run uses that copy when it is more recent than Max data age (30 hours by default). Set Max data age to 0 to read every company live, exactly as its career site shows it at that moment. Every job's source.fetchedAt says when it was read.

Why does Workday take longer? Workday lists 20 jobs per page and needs one request per job for the description, so large Workday employers take a few minutes. Turn descriptions off for a fast list. Very large Workday boards are read country by country to get past Workday's 2,000-job display limit.

Does it work for "jobs at company X" questions from AI agents? Yes: call the Actor with one company and read the dataset.

This Actor is not affiliated with or endorsed by Greenhouse, Lever, Ashby, Workday, Oracle, Workable, Recruitee, Personio or Teamtailor. Their names are used only to say which career sites it can read.