Careers Page Scraper: Open Jobs from Any Company Website avatar

Careers Page Scraper: Open Jobs from Any Company Website

Pricing

from $0.80 / 1,000 job postings

Go to Apify Store
Careers Page Scraper: Open Jobs from Any Company Website

Careers Page Scraper: Open Jobs from Any Company Website

Open jobs from any company's website: finds the careers page and reads every opening from Greenhouse, Lever, Ashby, Workable, Personio, Recruitee, Teamtailor, Workday and more, or from the careers page itself when there is no job board. One row per job. Pay only per job found.

Pricing

from $0.80 / 1,000 job postings

Rating

0.0

(0)

Developer

Rafal Sav

Rafal Sav

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

What does Careers Page Scraper do?

Careers Page Scraper takes a list of company websites and returns every open job each company publishes: it finds the careers page on the website, recognises the job board (ATS) behind it and reads the jobs from that board's public feed — Greenhouse, Lever, Ashby, Workable, Personio, Recruitee, Teamtailor, BambooHR, Breezy, Rippling, Gem, Workday and Y Combinator's Work at a Startup. A company with no job board is read from its own careers page: the jobs in its structured data, the German ads with their "(m/w/d)", the links to single job pages.

One row per job: title, location, department, employment type, remote / hybrid / on-site, date posted, salary where the board gives it, the link to the job, and the company's careers page and job board. You pay only per job found: a company with no open job costs nothing.

Run it from the Apify Console, through the API, on a schedule, or from an AI agent through Apify's MCP server.

Why use it?

  • Hiring signals for sales: which of your target accounts are hiring, how many people, in which teams and where — a company hiring five salespeople is buying sales tools.
  • Recruiting and staffing agencies: the open roles of the companies you place people with, including the small firms that post jobs only on their own website.
  • Job boards and market research: fresh openings straight from the source, normalised into one table.

How to use it

  1. Open the Input tab and paste the company websites (domains or URLs) — or links to their job boards, jobs.lever.co/acme. You can also upload a text or CSV file, or link a Google Sheet.
  2. Click Start.
  3. Download the jobs as JSON, CSV, Excel or HTML from the Output tab.

Input

FieldWhat it does
Company websitesWebsites or job-board links, one company each. A URL listed twice is read once.
Max jobs per companyAt most this many jobs per company (default 100, up to 1,000): each job is a row and a charge, and a large employer lists thousands.

Output

One row per open job. AssemblyAI, read on October 30, 2026 (one of its 15 jobs on Greenhouse):

{
"domain": "https://www.assemblyai.com",
"careers_page": "https://www.assemblyai.com/careers",
"ats": "greenhouse",
"ats_board": "https://job-boards.greenhouse.io/assemblyai",
"company_jobs_count": 15,
"title": "Senior GTM AI Engineer",
"location": "San Francisco, California",
"department": "Business Operations",
"posted_at": "2026-08-28",
"job_url": "https://job-boards.greenhouse.io/assemblyai/jobs/4728788005",
"source": "greenhouse",
"status": "open_job",
"billed": true
}

A German bakery with no job board, read from its careers page the same day:

{
"domain": "https://hammermuehle-shop.de/",
"careers_page": "https://www.hammermuehle-shop.de/karriere/",
"ats": null,
"company_jobs_count": 5,
"title": "Bäcker (m/w/d)",
"source": "careers-page",
"status": "open_job",
"billed": true
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

FieldMeaning
titleThe job's title as the company publishes it.
location, departmentAs the job board gives them.
employment_typefull_time, part_time, contract, internship or apprenticeship, when stated.
workplace_typeremote, hybrid or onsite, when stated.
posted_atThe date the job was published (YYYY-MM-DD), when the board gives it.
salaryThe salary range, when the board publishes one (Lever, Ashby, Y Combinator).
job_urlThe job's own page, to read or apply.
sourceWhere the job was read: the board (greenhouse, lever, ashby, workable, personio, recruitee, teamtailor, bamboohr, breezy, rippling, gem, workday, yc), json-ld (the page's structured data) or careers-page.
careers_page, ats, ats_boardThe company's careers page, its job board and the board's address.
company_jobs_countHow many open jobs the company has in all.
statusopen_job on a job's row. A company without one gets a single row: no_open_jobs (its board is empty, or its careers page says there are none), jobs_not_read (a careers page whose jobs only a browser draws, or a board this Actor does not read), no_careers_page or unreachable.
billedWhether this row was charged.

How many companies it finds jobs for

Measured on October 30, 2026, on samples picked before anything was run on them.

Companies that are hiring — 100 Y Combinator companies picked at random from those YC lists as hiring, with teams of 10 or more:

Companies
Open jobs read55 (665 jobs, 9 a company in the middle)
A careers page, but its jobs drawn by a browser or kept on a board not read yet17
The board says there is no opening4
No careers page linked from the homepage23
Website did not answer1

The boards: Ashby 29, Work at a Startup 10, Lever 5, Greenhouse 5, Workable 1, Gem 1; 4 companies from their own careers page.

Small businesses, where job boards are rare: of 150 random German websites, open jobs were read for 18 — 17 of them from the careers page itself; of 128 local businesses from Google Maps (lawyers, dentists, tax advisers, estate agents and plumbers in Chicago, Manchester, Köln and Kraków), for 20, all from the careers page. Read from job boards alone, the same lists give 1 and 0.

Accuracy. A job from a board is the company's own: a board is read whole only when it is named like the company, and a board of another name only for the jobs the website links on it — a startup that links three of its jobs on its venture fund's board, which lists 107 jobs of the fund's portfolio, gets its three. We read all 305 jobs taken from careers pages by hand: 294 are distinct open jobs as the page lists them; 11 are an ad counted twice (its heading and its link worded differently) or a section of the page read as a job.

How much does it cost?

$0.001 per job (~$1 per 1,000 jobs) on Apify's paid plans - $0.0009 on Scale, $0.0008 on Business and up - and $0.002 on the Free plan, charged once for each job returned. A company with no open job, a careers page whose jobs could not be read, and a website that did not answer are returned and never charged. A talent pool or an open application ("Join our talent community", "Don't see your role?") is not a job and is left out.

A company with 9 open jobs costs $0.009 on the Starter plan. The Max jobs per company field caps what one company can cost.

Tips

  • Give the company's main website: the careers link is usually in its menu or footer. A link to the job board itself (jobs.ashbyhq.com/acme) works too and skips the search.
  • Large employers on Workday list thousands of jobs: raise Max jobs per company only if you need them all.
  • jobs_not_read means the careers page exists but builds its list with scripts, or uses a board this Actor does not read yet (SmartRecruiters, iCIMS, Dover): the careers page is in the row for you to open.

FAQ

Does it search jobs by keyword across companies?

No: you bring the companies, it brings their open jobs. Filter the dataset by title, department or location afterwards.

How fresh are the jobs?

They are read live from each company's board or careers page at the moment of the run, so a job closed yesterday is not there.

The jobs are published by the companies for anyone to read, and the job boards serve them in open feeds. This Actor respects robots.txt and rate-limits its requests. What you do with the data is your responsibility.

Support

Found a job that was missed, or a row that is not a job? Open an issue on the Issues tab with the website — every report becomes a test named after it.

If this Actor saved you time, a short review on its Store page helps others find it.