Career Site Jobs: Greenhouse, Lever, Ashby, Personio, Recruitee avatar

Career Site Jobs: Greenhouse, Lever, Ashby, Personio, Recruitee

Pricing

from $2.00 / 1,000 jobs

Go to Apify Store
Career Site Jobs: Greenhouse, Lever, Ashby, Personio, Recruitee

Career Site Jobs: Greenhouse, Lever, Ashby, Personio, Recruitee

Search 370,000+ open jobs on 15,000+ company career sites (Greenhouse, Lever, Ashby, Personio, Recruitee) without board URLs or API keys. Filter by title, location, remote, posted date and salary, or get only new jobs daily. Closed jobs never charged. $3 per 1,000.

Pricing

from $2.00 / 1,000 jobs

Rating

0.0

(0)

Developer

RetrainMap Team

RetrainMap Team

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

9 hours ago

Last modified

Features

Limited permissions

Share

Career Site Jobs API: Greenhouse, Lever, Ashby, Personio and Recruitee

Search 370,000+ open jobs on 15,000+ company job boards across five applicant-tracking systems (Greenhouse, Lever, Ashby, Personio, Recruitee) without supplying a single board URL. Describe the jobs you want (title words, location, remote, posted date, salary) and get clean, de-duplicated rows. Each job is re-read from the company's own board before it is returned, so closed jobs are dropped (and never charged) and you get the full description.

$3 per 1,000 jobs on Apify's Free and Bronze plans, less on Silver and Gold. No run fee beyond Apify's standard $0.00005 start event.

What you get

  • One row per open job: title, company, location(s), country, remote / hybrid / on-site, department, employment type, posted date, salary range when the employer publishes one, job and apply links, and the description as plain text.
  • A ready-made index of 18,725 live boards (16,253 with open jobs on 2026-11-15), so you never look up board tokens.
  • Filters: title keywords, excluded words, location, workplace, posted since, salary published, company, platform.
  • Only-new mode for scheduled runs: each run returns only jobs that entered the index since the previous run with the same filters. None repeated, none skipped.
  • Duplicate postings (same company, title and location) are returned once.
  • Small input that an AI agent can fill in; every field is optional.

Which tool do you need?

  • One or two companies: call their board's public API yourself; it is free and needs no key (the endpoints are listed under "How it works" below).
  • Many companies, or you don't know their board names: this Actor. Describe the jobs; the index already holds 18,725 live boards.
  • Workday, LinkedIn or Indeed jobs: not covered here. Use a tool built for those sites.

Coverage on 2026-11-15

PlatformLive boardsBoards with open jobsOpen jobs
Greenhouse6,2935,492193,855
Lever2,2251,72465,498
Ashby3,8173,44864,110
Personio3,8513,37233,253
Recruitee2,5392,21734,813
Total18,72516,253391,529

102,768 of the jobs (26%) publish a salary range; 93,683 (24%) are flagged remote. Counts change as companies open and close jobs; each run's status message and its RUN_SUMMARY record state the date and size of the index it searched.

How it works

  1. The index. Board addresses were collected from Common Crawl's public URL index (the URLs of hosted job boards on each platform) and from an earlier list of verified boards, then each one was confirmed against the platform's own documented public API. Only boards that answered are kept. The index holds every open job on those boards, read from the same APIs.
  2. Your search runs over the index in seconds.
  3. The live re-check (on by default) re-reads each matching job from its board right before it is returned: closed jobs are dropped and not charged, and the current title, location, salary and full description are used. If a board does not answer during the run, the job is returned from the index with checked_live: false. Turn liveCheck off for faster index-only rows without descriptions.

Sources, all public and documented, read without logins or keys:

PlatformEndpointDocumentation
Greenhouseboards-api.greenhouse.io/v1/boards/{board}/jobsJob Board API: developers.greenhouse.io/job-board.html
Leverapi.lever.co/v0/postings/{site}Postings API: github.com/lever/postings-api
Ashbyapi.ashbyhq.com/posting-api/job-board/{name}Job Posting API: developers.ashbyhq.com
Personio{company}.jobs.personio.de/xmlXML feed: developer.personio.de
Recruitee{company}.recruitee.com/api/offers/Careers Site API: docs.recruitee.com

Not covered: Workday, SmartRecruiters, Workable, BambooHR, Teamtailor and other systems without a documented public feed whose terms allow this use.

Input examples

Remote data engineering jobs in the US that publish a salary, posted in the last week:

{
"keywords": "data engineer, analytics engineer",
"location": "United States",
"workplace": "remote",
"salaryOnly": true,
"postedSince": "7 days",
"maxResults": 200
}

Product jobs in Berlin or Munich, excluding senior roles:

{
"keywords": "product manager, product owner",
"location": "Berlin; Munich",
"excludeKeywords": "senior, lead, head",
"maxResults": 100
}

Every open job at a few companies:

{
"companies": ["Stripe", "ramp", "Notion"],
"maxResults": 2000
}

A daily alert: schedule this input; after the first run, each run returns only new jobs.

{
"keywords": "machine learning engineer",
"location": "London; Remote",
"onlyNew": true,
"monitorName": "ml-london",
"maxResults": 500
}

From code or an AI agent (synchronous run, rows back in the response):

curl -X POST "https://api.apify.com/v2/acts/retrainmap~ats-jobs/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keywords": "nurse", "location": "Texas", "postedSince": "3 days", "maxResults": 50}'

Input fields

FieldWhat it does
keywordsWords to find in the job title. Commas separate alternatives. Every word of one alternative must appear, in any order; plurals match ("engineer" matches "Engineers", not "Engineering"). Empty = every job.
locationCity, region or country. Semicolons separate alternatives ("Berlin; London"). "Austin, TX" and "Berlin, Germany" are one place. Country names and two-letter codes match the country the board gives, or one read from the location text (a country name, or a US state). "Remote" matches remote jobs.
workplaceany, remote, hybrid or onsite, as the board states it (or as its location text says, for boards without a workplace field).
postedSince"24 hours", "7 days", "2 weeks" or a date such as "2026-11-01".
salaryOnlyOnly jobs that publish a pay range.
maxResultsUp to 50,000 per run. Newest first.
excludeKeywordsDrop titles containing any of these words.
companiesCompany names or board slugs.
platformsAny of greenhouse, lever, ashby, personio, recruitee.
onlyNew / monitorNameReturn only jobs new since the previous run of this monitor. State is kept in a key-value store named ats-jobs-monitor in your account.
liveCheckDefault on. Off = faster index-only rows, no descriptions, no closed-job check.

Output

{
"id": "greenhouse:americaninstitutesforresearch:5480464008",
"title": "Senior Project Specialist, NAEP Technical Support (Part-Time)",
"company": "American Institutes for Research",
"ats": "greenhouse",
"board": "americaninstitutesforresearch",
"url": "https://job-boards.greenhouse.io/americaninstitutesforresearch/jobs/5480464008",
"apply_url": "https://job-boards.greenhouse.io/americaninstitutesforresearch/jobs/5480464008",
"location": "US-Remote",
"locations": [
"US-Remote",
"Remote (United States)"
],
"country": "US",
"remote": true,
"workplace_type": "remote",
"remote_source": "location_text",
"department": "R51 - Employment & Economic Opp",
"team": null,
"employment_type": null,
"posted_at": "2026-11-12T19:57:41Z",
"updated_at": "2026-11-12T19:59:05Z",
"first_seen_at": "2026-11-13T08:43:49Z",
"has_salary": true,
"salary_min": 124000,
"salary_max": 135000,
"salary_currency": "USD",
"salary_period": "year",
"salary_text": "Anticipated Annual Salary Range",
"description": "The Part-Time Senior Project Specialist manages research, operational, and analytic activities that support AIR’s NAEP Technical Support Contract. The role leads reviews across the ...",
"checked_live": true,
"fetched_at": "2026-11-15T11:37:47Z"
}
FieldMeaning
idStable id: <platform>:<board>:<job id>
title, companyAs the board publishes them. Lever, Ashby and some Personio boards do not publish a company name; it is then derived from the board slug.
url, apply_urlPublic job page and application page
location, locations, countryLocation text as published; country is the ISO code from the board or read from the location text, else null
remote, workplace_type, remote_sourceThe board's own flag (ats_flag), or read from the location text (location_text) when the board has none
department, team, employment_typeemployment_type is one of full_time, part_time, contract, internship, temporary, other
posted_at, updated_atAs published (ISO 8601, UTC)
first_seen_atWhen this index first saw the job (tracking began 2026-11-12)
has_salary, salary_min, salary_max, salary_currency, salary_period, salary_textOnly what the board publishes; nothing is guessed from description text
descriptionPlain text, first 4,000 characters (null when liveCheck is off)
checked_live, fetched_atWhether and when the row was re-read from the board in this run

Pricing

Pay per event: you pay for each job row written to your dataset.

Apify planPrice per jobPer 1,000 jobs
Free, Bronze$0.003$3.00
Silver$0.0025$2.50
Gold and above$0.002$2.00

Apify's standard start event ($0.00005 per run per GB of memory) also applies. Jobs removed by your filters, duplicates and closed jobs found by the live re-check are never written, so never charged. Set a maximum charge per run in Apify to cap any run.

Limits and honesty notes

  • Keywords match job titles only, not descriptions.
  • Salary appears only when the employer publishes it on the board (26% of jobs today).
  • country is filled when the board gives it or the location text names a country or US state.
  • Descriptions are cut at 4,000 characters; follow url for the full posting and to apply.
  • Boards move between systems; a board that stops answering leaves the index.
  • Use the data for search, alerts and analysis, and link to the job page. Lever asks that its postings not be used to train AI models; do not use rows for model training.

FAQ

Do I need a Greenhouse, Lever or Ashby API key? No. Reading published postings needs no key on any of the five platforms, and this Actor uses only those public, documented endpoints.

Can I get only jobs that show a salary? Yes: switch on salaryOnly. On 2026-11-15, 26% of all jobs in the index published a range.

How fresh is it? The index is rebuilt every 12 hours, and each returned job is re-read from its board during your run. Each run's status message states the index date.

Can I get a daily alert? Yes: onlyNew plus a monitorName, run on an Apify schedule. You pay only for new rows.

Operator

Steelyard Ventures LLC. Not affiliated with Greenhouse, Lever, Ashby, Personio, Recruitee or any employer listed. Questions or a board we should add: open an issue on this Actor's Issues tab.

Changelog

  • 0.2 (2026-11-12): rebuilt around a ready-made index of company job boards on five platforms, search by keyword, location, workplace, posted date and salary, only-new mode, live re-check, new pricing ($3 per 1,000 jobs; the $0.10 run fee is gone).
  • 0.1 (2026-09-05): first release; required board tokens.