Every company hosts its careers page on an applicant tracking system (ATS): Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee. Each has its own JSON shape, so tracking jobs across companies usually means writing one parser per platform. Here is how to get them all in one schema with a single call.
The idea
Give the ATS Jobs Scraper a list of board URLs, company websites or ats:board shorthands. It detects the platform, pulls the open jobs, applies your filters, and only then charges ($0.001 per job returned; boards it cannot read and filtered-out jobs are free).
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("siftwright/ats-jobs-scraper").call(run_input={
"companies": ["https://boards.greenhouse.io/stripe", "https://jobs.lever.co/palantir"],
"titleKeywords": ["data engineer"],
"maxJobsPerCompany": 3,
"includeDescription": False,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["company"], job["ats"], job["title"], job["location"], job["url"])
What I got back (real run, 2026-10-01)
I ran exactly that input. Stripe (Greenhouse) returned one matching job and Palantir (Lever) returned none for that title filter, so I was charged for one job:
Stripe | Greenhouse | Staff Software Engineer, Risk Data Engineering | Toronto | posted 2026-08-06
Each item has the same fields whatever the ATS: company, ats, title, department, location, locations, remote, employmentType, postedAt, updatedAt, url, applyUrl, salary (when the board publishes it) and optional descriptionText.
Useful filters
-
titleKeywords/excludeTitleKeywords: e.g. include "engineer", exclude "intern" -
locations,departments,remoteOnly -
postedWithinDays: run it daily with 1 to get only new postings
Limits
It reads public job boards only. Companies on other platforms (Workday, custom sites) are skipped and not charged. Salary and remote fields are only present when the board provides them.
curl
curl -X POST "https://api.apify.com/v2/acts/siftwright~ats-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies":["greenhouse:airbnb"],"remoteOnly":true,"maxJobsPerCompany":5}'
It also works through Apify's MCP server, so an AI agent can call it as a tool.
Top comments (0)