Job Listings API - 9 ATS platforms, live from career pages avatar

Job Listings API - 9 ATS platforms, live from career pages

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Job Listings API - 9 ATS platforms, live from career pages

Job Listings API - 9 ATS platforms, live from career pages

Live jobs straight from companies' own career pages across 9 ATS platforms: Workday, Greenhouse, Ashby, Lever, Workable, SmartRecruiters, BambooHR, Breezy, Personio. No blocking, no proxies. 292 companies pre-resolved, including NVIDIA, Salesforce, Intel, Micron, T-Mobile and Boeing.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Alex

Alex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Company Career Site Jobs API

Pull live job listings straight from companies' own career pages: Workday, Greenhouse, Ashby, Lever, Workable, SmartRecruiters, BambooHR, Breezy and Personio.

298 companies come pre-resolved and bundled, so a lookup for them is instant and costs you nothing extra. NVIDIA, Salesforce, Intel, Micron, T-Mobile, Boeing, Mastercard, Stripe, Notion and 289 more.

Give it a company domain. It figures out which ATS that company uses, finds the job board, and returns clean, normalized jobs.

stripe.com → greenhouse:stripe → 746 jobs
micron.com → workday:micron.wd1/External → 2903 jobs
notion.so → ashby:notion → 148 jobs

Why this instead of scraping a job board

Job-board scrapers fight anti-bot systems every single day. They need residential proxies, they get blocked, and runs fail.

This Actor reads the public JSON endpoints that companies publish on purpose, because companies want their openings found. So:

  • No proxies. Nothing to pay for, nothing to configure.
  • No blocking. The source is not defending itself against you.
  • Fresh at the source. Not a re-scrape of an aggregator that re-scraped someone else.
  • Nine platforms, one shape. Every ATS is normalized into the same record, so you never write per-source parsing code.
  • Workday included. Most large employers run Workday, and its boards are not linked from their careers pages, so they are the hardest to reach. The bundled list already carries 15 of them.
  • It retries. Transient 429 and 502 responses are retried with backoff and Retry-After is respected, so a hiccup does not silently cost you listings.

What you get per job

title · url · location · department · employmentType · remote · postedAt · compensation (where published) · description (plain text, optional) · ats · companySlug · jobId

Every ATS is normalized into the same shape, so you never write per-source parsing code.

Input

{
"companies": ["stripe.com", "micron.com", "greenhouse:figma", "workday:nvidia.wd5/NVIDIAExternalCareerSite"],
"keywords": ["engineer", "designer"],
"location": "London",
"remoteOnly": false,
"postedWithinDays": 14,
"includeDescription": false,
"maxJobs": 1000,
"useSeedList": false
}
FieldWhat it does
companiesCompany domains, or direct board refs like greenhouse:stripe. Domains are resolved automatically.
keywordsKeep only jobs whose title contains one of these words.
locationKeep only jobs whose location contains this text.
remoteOnlyKeep only remote roles.
postedWithinDaysKeep only recently posted or updated roles. 0 means no limit.
includeDescriptionTurn off for smaller, cheaper output. On Workday this also skips the per-job detail call, so runs are much faster.
maxJobsHard cap, so a run can never surprise you with cost.
useSeedListRun across all 298 bundled companies without listing them yourself. Still respects maxJobs.

Output

{
"ats": "workday",
"companySlug": "micron.wd1/External",
"jobId": "JR82318",
"title": "Senior CAD Engineer - Layout/Verification",
"url": "https://micron.wd1.myworkdayjobs.com/en-US/External/job/Boise-ID-Main-Site/Senior-CAD-Engineer_JR82318",
"location": "Boise ID Main Site (+1 more)",
"postedAt": "2026-10-31",
"employmentType": "Full time",
"companyInput": "micron.com",
"scrapedAt": "2026-10-31T17:58:12.004Z"
}

The run also stores a RESOLUTION_REPORT in the key-value store showing which companies resolved, to which ATS, and how many jobs each returned.

Who uses this

  • Job boards and aggregators that want first-party listings instead of recycled ones.
  • Recruiting and talent teams tracking who is hiring, for what, and where.
  • Investors and market researchers reading hiring as a growth signal.
  • Sales teams using open roles as a buying signal.
  • Anyone building with AI agents that need a reliable jobs feed.

Pricing

Per 1,000 jobs returned, by your Apify plan:

Your planFreeStarterScaleBusiness
Job returned$3.00$2.80$2.00$1.20

Resolving a company that is not in the bundled list costs $0.01 once. The 298 bundled companies resolve for free: you are only charged when the Actor has to go and find a board it has not seen before.

Platform usage is included. You only pay for what comes back.

Coverage

Supported today: Workday · Greenhouse · Ashby · Lever · Workable · SmartRecruiters · BambooHR · Breezy · Personio.

Bundled and pre-resolved: 298 companies (137 Greenhouse, 99 Ashby, 26 Lever, 21 Workday, 11 SmartRecruiters, 3 Workable, 1 Breezy).

Workday boards need a tenant, a pod and a site name, written as tenant.wdN/SiteName, for example micron.wd1/External. The bundled list already holds these for the companies above; for anything else, pass the ref directly.

If a company you need does not resolve, open an issue on the Actor and it gets added.

Notes

  • Only public job board endpoints are read. No logins, no private data, no personal data about applicants.
  • If a domain cannot be resolved, the run continues and reports it instead of failing.

Need only which ATS a company uses, not the listings? See ATS Detector.