Career Page Jobs API — Greenhouse, Lever, Workday, Personio avatar

Career Page Jobs API — Greenhouse, Lever, Workday, Personio

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
Career Page Jobs API — Greenhouse, Lever, Workday, Personio

Career Page Jobs API — Greenhouse, Lever, Workday, Personio

Search open jobs across 530+ verified company career pages, no company list needed, or track your own. Greenhouse, Lever, Ashby, Workday, Personio and 5 more ATS in one table: title, location, remote, salary, date, apply link. Only-new alerts. Pay per job.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Erich Michal Sikora

Erich Michal Sikora

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Career Page Jobs API — Personio, Workable, Greenhouse, Lever +6

Search open jobs across ~540 verified companies — or paste your own career pages — and get one clean table. Leave the company list empty, type "software engineer" and "Germany", and the Actor searches the career pages of a built-in list of ~540 companies (Greenhouse, Lever, Ashby, Teamtailor, Personio, Recruitee, Workable, BambooHR, Pinpoint). Or paste the career pages you track. Works with the 10 applicant tracking systems most European and US companies use: Personio, Workable, Recruitee, Teamtailor, Greenhouse, Lever, Ashby, Workday, BambooHR and Pinpoint. Every job comes with title, department, location, remote/hybrid/on-site, salary when the company publishes it, date posted and the apply link. Turn on "Only new jobs", schedule it daily, and you have a job alert for any list of companies. $1 per 1,000 jobs.

You giveYou get, per job
https://acme.jobs.personio.de, https://apply.workable.com/acme, greenhouse:airbnb, lever:palantir …company, title, department, team, location, city, country, remote/hybrid/on-site, employment type, seniority, salary min/max/currency, posted date, job link, apply link, clean description

Two ways to use it

  1. Search (no company list needed): leave "Company career pages" empty and set keywords, locations, workplace, and optionally the systems or company countries. The Actor checks the built-in list of verified companies (with locations set: companies known to hire there first, then large international companies; up to "Max companies", default 150).
  2. Your own list: paste career page links or system:company entries and get every opening of exactly those companies, including Workday, BambooHR and Pinpoint.

The built-in list is a growing sample, not every company on these systems; it covers about 540 companies (Personio list re-verified on 19 Oct 2026).

Who uses it

  • Recruiters and staffing agencies: watch 50 or 500 target companies and see new openings the day they go live.
  • Job boards and newsletters: fill a niche board (remote EU engineering, climate tech, fintech in Berlin…) straight from the source instead of copying from LinkedIn.
  • Sales teams (hiring signals): a company that opens 10 sales roles is growing — a warm lead for software, office, relocation or HR tools.
  • Market and salary research: compare roles, locations and published salary ranges across companies.
  • AI agents and automations: flat JSON with stable fields for Sheets, Airtable, Slack, Make, Zapier or your own app.

Supported career pages

SystemLink looks likeShort form
Personiohttps://acme.jobs.personio.de (or .com)personio:acme
Workablehttps://apply.workable.com/acmeworkable:acme
Recruiteehttps://acme.recruitee.comrecruitee:acme
Teamtailorhttps://acme.teamtailor.comteamtailor:acme
Greenhousehttps://boards.greenhouse.io/acme, job-boards.eu.greenhouse.io/acmegreenhouse:acme
Leverhttps://jobs.lever.co/acme, jobs.eu.lever.co/acmelever:acme
Ashbyhttps://jobs.ashbyhq.com/acmeashby:acme
Workdayhttps://acme.wd5.myworkdayjobs.com/AcmeCareers— (paste the full link; the site name isn't guessable)
BambooHRhttps://acme.bamboohr.com/careersbamboohr:acme
Pinpointhttps://acme.pinpointhq.compinpoint:acme

Company on its own domain? Open one job and look where the "Apply" button leads, or at the page source — you will usually find personio, recruitee, greenhouse, lever… plus the company id. Then use the short form, e.g. recruitee:bunq.

Filters

  • Keywords in the job title (optionally also in the description) and exclude keywords (intern, werkstudent). Case, punctuation and (m/w/d) suffixes don't matter, and common German titles count too: software engineer also finds Softwareentwickler (m/w/d).
  • Locations: Germany, DE, Berlin, Remote. A country matches the job's own country even when the posting names only a city (Munich Office → Germany); every job gets city, country and countryCode where the location makes them clear.
  • Workplace: remote only, remote or hybrid, hybrid, on-site. Taken from the company's field or detected from the location, title or description. Jobs with no stated workplace are kept (their workplaceType is null); turn on workplaceStrict to drop them.
  • Departments / teams, posted within N days, max jobs per company, max jobs in total.
  • Only new jobs since the last run — remembers what you already got; you pay only for new jobs.

Example row

{
"ats": "recruitee",
"company": "bunq",
"title": "Technology Risk Officer",
"department": "Risk, Legal & Compliance",
"employmentType": "fulltime_permanent",
"seniority": "experienced",
"workplaceType": "hybrid",
"remote": false,
"location": "Amsterdam, Noord-Holland, Netherlands",
"city": "Amsterdam",
"country": "Netherlands",
"countryCode": "NL",
"salaryMin": null,
"salaryMax": null,
"postedAt": "2026-09-25T12:31:29.000Z",
"url": "https://careers.bunq.com/o/technology-risk-officer-1",
"applyUrl": "https://careers.bunq.com/o/technology-risk-officer-1/c/new",
"description": "At bunq, we're on a mission to Make Life Easy for our users…"
}

Ashby, Lever and Recruitee jobs often include salary ranges (salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText). Fields a system does not publish are null.

Pricing

Pay per event: $0.001 per job delivered ($1 per 1,000) plus a tiny start fee. Filtered-out jobs, jobs you already got in "only new" mode and companies that could not be read cost nothing. Set a maximum cost per run and the Actor stops exactly there.

Typical run: 3 companies, ~170 jobs, under 10 seconds.

How it works — and what it doesn't do

  • Uses only the public job feeds these systems publish for career pages and job widgets (Personio XML feed, Workable widget API, Recruitee careers API, Teamtailor RSS, Greenhouse Job Board API, Lever Postings API, Ashby Job Postings API, Workday's public CXS job search API, BambooHR's careers feed, Pinpoint's postings feed). No login, no browser, no proxies.
  • Reads each host's robots.txt and respects it. SmartRecruiters is not supported because its robots.txt does not allow automated access.
  • If a site answers with an anti-bot check, the Actor does not try to get around it; the company is skipped and reported in the run summary.
  • No personal data: recruiter e-mails, phone numbers and links to personal profiles (LinkedIn, X, Calendly…) are removed from descriptions; application forms, applicant data and recruiter contact fields are never collected.

Run summary

The SUMMARY record in the key-value store lists every company with jobs found, delivered, filtered out, already seen, and the reason if a career page could not be read (wrong id, not found, robots.txt, anti-bot check).

Tips

  • One run can cover hundreds of companies. Group them by use case and give each schedule its own memory name so "only new" keeps separate histories.
  • Want only fresh jobs without the memory? Use posted within 1 day on a daily schedule.
  • Missing a system you need? Open an issue on the Actor page.