Careers Page Scraper — Jobs from Any Company Site, Any ATS avatar

Careers Page Scraper — Jobs from Any Company Site, Any ATS

Pricing

$1.00 / 1,000 jobs

Go to Apify Store
Careers Page Scraper — Jobs from Any Company Site, Any ATS

Careers Page Scraper — Jobs from Any Company Site, Any ATS

Give career page or ATS board URLs; get open jobs with title, location, department, remote flag, description and apply URL. Greenhouse, Lever, Ashby, Workable and more. Unofficial Careers Page API.

Pricing

$1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

yestrue

yestrue

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Categories

Share

Every open job from any company's careers page as clean JSON — title, location, department, remote flag, employment type, salary when published, posting date, full description and apply link. Paste a careers page, a company domain or an ATS board link; the Actor finds the applicant tracking system behind it (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee or Personio) and reads its public job feed. No HTML guessing, no logins, no personal data.

Try it in 1 minute:

  1. Press Start — the prefilled input reads three public boards (Greenhouse, Lever, Ashby).
  2. In about 10 seconds the Output tab lists every open job of those companies, one record each, with apply links.
  3. Download it as JSON, CSV or Excel, or call the Actor from your code or AI agent.

Price: $1.00 per 1,000 jobs. Companies without a supported ATS, empty boards and filtered-out jobs are free.

Use it to:

  • Build a job board or newsletter from the companies you follow — one scheduled run a day, only the boards you choose.
  • Feed an AI job-search agent with structured, current openings instead of scraped HTML.
  • Track hiring signals: which teams and locations a competitor or a portfolio company is hiring for, week over week.
  • Fill a recruiting CRM or a spreadsheet with openings, departments and salary ranges across hundreds of companies.
  • Research the remote-work market: filter to remote jobs by keyword across any list of employers.

How it works

  1. Recognise the board. A link like boards.greenhouse.io/<company>, jobs.lever.co/<company>, jobs.ashbyhq.com/<company>, apply.workable.com/<company>, careers.smartrecruiters.com/<Company>, <company>.recruitee.com or <company>.jobs.personio.de is read directly. A careers page or a bare domain (acme.com, plus its /careers and /jobs pages) is scanned for the ATS it links to, embeds or loads.
  2. Read the public feed. Each ATS publishes its open jobs as JSON (Personio as XML) for its own careers widget; the Actor reads that feed — complete, current and without a browser.
  3. Normalise. Jobs from every ATS come out in one shape: ISO dates, a remote flag (from the ATS's own flag or the location text), locations as a list, plain-text descriptions with e-mail addresses and phone numbers removed.
  4. Filter and deliver. Optional title keywords, location texts and remote only narrow the list before anything is charged.

Teamtailor, Workday and BambooHR boards are recognised but not read — they have no public list endpoint; such companies come back as UNSUPPORTED_ATS, free.

Input

FieldWhat it does
companiesCareers pages, company domains or ATS board links, one per line. Required.
maxJobsPerCompanyStop each company after this many jobs (default 500).
keywordsKeep only titles containing any of these words (case-insensitive).
locationsKeep only jobs whose location contains any of these texts.
remoteOnlyKeep only jobs flagged remote or whose location says Remote / Anywhere.
includeDescriptionPlain-text description with contacts removed (default on). Workable and SmartRecruiters need one extra request per job for it.
maxDescriptionLengthCut descriptions after N characters (default 20,000; 0 = no limit).
maxConcurrency, proxyConfigurationSpeed and retries. The first request goes out directly; the proxy is used only to retry after a network error.

Output

One record per job:

FieldWhat it is
company, atsCompany slug or name, and the ATS it was read from
id, title, url, applyUrlThe job, its public page and where to apply
location, locationsPrimary location and all locations when there are several
department, team, employmentTypeDepartment, team and full-time / part-time / contract as the ATS words it
remotetrue, false or null (unknown)
postedAtISO 8601 publish or last-update time
descriptionPlain text, e-mails and phones removed
salaryCompensation range as text when the ATS publishes one
input, position, status, error, scrapedAtWhat you gave, the job's place in its company, and why an input gave nothing

A company that gives no job gets one free record with status = NOT_FOUND, UNSUPPORTED_ATS, NO_RESULTS, INVALID_INPUT or FAILED and a plain-language error.

Example

{
"input": "https://boards.greenhouse.io/examplecorp",
"company": "examplecorp",
"ats": "greenhouse",
"id": "4011223344",
"title": "Senior Backend Engineer, Payments",
"location": "Remote - United States",
"locations": ["San Francisco", "New York"],
"department": "Engineering",
"team": null,
"employmentType": "Full-time",
"remote": true,
"url": "https://boards.greenhouse.io/examplecorp/jobs/4011223344",
"applyUrl": "https://boards.greenhouse.io/examplecorp/jobs/4011223344",
"postedAt": "2026-09-30T13:00:00.000Z",
"description": "We are hiring a Senior Backend Engineer for our payments platform.\n- Go or Java\n- Questions? Write to [e-mail removed]",
"salary": null,
"position": 1,
"status": "OK",
"scrapedAt": "2026-10-19T12:00:00.000Z"
}

FAQ

Is this an official API? No, it's an unofficial API built on public pages — the same public job feeds each ATS serves to its own careers widgets.

Which ATS are supported? Greenhouse (including EU boards and embedded boards), Lever (including EU), Ashby, Workable, SmartRecruiters, Recruitee and Personio. Teamtailor, Workday and BambooHR are detected but not read, and come back free as UNSUPPORTED_ATS.

My company's careers page came back NOT_FOUND. The page does not link to a supported ATS — it may use a custom job list or one of the unsupported systems. Try the ATS board link directly if you know it (open a job on the careers page and look at the address).

Do you collect recruiter names or contact details? No. Descriptions are delivered as plain text with e-mail addresses and phone numbers removed, and no person names are collected.

How current is the data? Each run reads the live feed, so you get what the company shows right now. Schedule the Actor daily to follow changes.

Like it? A short review on the Store page helps other people find this Actor. Something missing or broken? Tell us on the Issues tab — we read every one.