Career Site Jobs API – Workday, Greenhouse, Lever, Ashby
Pricing
from $0.70 / 1,000 jobs
Career Site Jobs API – Workday, Greenhouse, Lever, Ashby
$1 per 1,000 jobs | Jobs straight from company career sites on Workday, Greenhouse, Lever, Ashby and SmartRecruiters in one schema: title, location, remote, salary range, date, description, apply URL. Search your own company list, or across companies by title, place and date. Only-new mode.
Pricing
from $0.70 / 1,000 jobs
Rating
0.0
(0)
Developer
Daemon Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
Career Site Jobs API collects job postings straight from company career sites on Workday, Greenhouse, Lever, Ashby and SmartRecruiters and returns them in one schema: title, locations, remote / hybrid / on-site, department, team, employment type, salary range (numbers, currency and period, when the employer publishes it), posting date, full description and apply URL. Put any number of companies from any of the five platforms into one run, or leave the list empty to search across companies: a built-in list of 10,556 public company boards is searched live for your title, location and posting window. An only-new mode turns it into a daily feed of new openings. No login, no proxy.
Run it in Apify Console, through the API, on a schedule, or from Google Sheets, Zapier, Make, n8n or an AI agent via the Apify MCP server.
What does Career Site Jobs API do?
- Search across companies: no URLs needed. Give title keywords (
software engineer), a location (United States) and a window (24h,7d), and the Actor searches 10,556 company boards on all five platforms. - Or paste careers URLs such as
https://boards.greenhouse.io/airbnb,https://jobs.lever.co/palantir,https://jobs.ashbyhq.com/ramp,https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSiteorhttps://jobs.smartrecruiters.com/BoschGroup(or short forms likegreenhouse:airbnb). - Filter by title keywords, location, workplace type and posting date. Filters run before anything is charged.
- Get one schema for every platform, so a list of 50 employers on five different applicant tracking systems becomes one table.
- Big Workday sites: Workday stops paging at 2,000 jobs; larger sites are split by job family automatically.
- Only new jobs: schedule it daily and each run returns only postings you have not received before (skipped jobs are free).
Search jobs across companies (cross-company search)
Leave Career site URLs empty. The Actor then searches its built-in list of public company boards (5,341 on Greenhouse, 1,555 on Lever, 3,108 on Ashby, 340 Workday and 212 SmartRecruiters career sites, collected from open job lists on GitHub and checked on 5 November 2026 to answer with open jobs; ATS test, demo and sandbox boards and employees-only boards are left out) for jobs that match your filters.
{"keywords": ["software engineer", "data engineer"],"excludeKeywords": ["intern"],"locations": ["United States", "Remote"],"postedWithinDays": 1,"platforms": ["greenhouse", "lever", "ashby"],"maxJobs": 500}
- Defaults: jobs posted in the last 7 days, at most 100 jobs, a 240-second search time limit (so a synchronous API call, which waits up to 5 minutes, gets its results; with Also search the built-in company list on, the limit covers your own URLs too). Raise
maxJobsandmaxSearchSecondsfor bigger pulls. - Order: the most active boards are searched first, platforms mixed, and one company gives at most a tenth of
maxJobs(and at mostmaxJobsPerSite), so results mix employers.maxCompaniescaps the number of boards;platformslimits the search to some of the five. - Cheap filters first: titles, places and (on Greenhouse, SmartRecruiters and Workday) dates are checked on the job list; the job page is read only for matches. You pay only for jobs saved.
- Mix both: turn on Also search the built-in company list to search your own URLs and the list in one run.
- Recall: this is a live search of a list of about 10,600 employers, not a database of every career site on the web. Companies that are not on the list are found only when you add their URL.
RUN-SUMMARYshows how many companies were searched and which ones matched.
Compatible input field names
Code written for other career-site job APIs often sends titleSearch, locationSearch, timeRange and limit. This Actor reads those names too, so such code can call it without changing its input:
| You send | Read as | Notes |
|---|---|---|
titleSearch | keywords | list of title phrases |
titleExclusionSearch | excludeKeywords | |
locationSearch | locations | list or a single string; country names match their cities and codes |
timeRange | posting window | 1h, 24h, 7d, 6m (months) or any number with h / d / w / m / y |
datePostedAfter | posting window | ISO date, e.g. 2026-11-01 |
limit | maxJobs | |
ats | platforms | greenhouse, lever.co, ashby, workday, smartrecruiters; other platforms are skipped with a warning |
aiWorkArrangementFilter | workplaceTypes | Remote OK / Remote Solely -> remote, Hybrid, On-site |
When the input uses any of these names (limit alone does not count), each job also carries compatible output keys: organization, date_posted, locations_derived, description_text, ai_work_arrangement, ai_salary_min_value, ai_salary_max_value, ai_salary_currency, ai_salary_unit_text and source (copies of company, postedAt, locations, description, workplaceType, the salary fields and platform; nothing is AI-generated). Set compatibleOutput to true or false to choose yourself. Other filters of other APIs (AI taxonomies, experience levels, domain filters) are not supported and are ignored with a warning in the log.
{"titleSearch": ["software engineer"],"locationSearch": ["United States"],"timeRange": "24h","limit": 200,"ats": ["greenhouse", "lever.co", "ashby", "workday"]}
Why collect jobs from company career sites?
| Who | What for |
|---|---|
| Job boards and aggregators | Fresh, direct-from-employer postings for a list of companies, deduplicated by id |
| Sales and market intelligence | Which target accounts are hiring, for which teams, where, and at what pay: hiring as a buying signal |
| Recruiters and staffing firms | New openings at client and target companies every morning |
| HR and compensation analysts | Published salary ranges by title, company and location (pay-transparency data) |
| Job seekers and career tools | One feed of new roles at the companies you care about |
Career sites are the original source: postings appear there first, with the employer's own salary range and description, before they reach job boards.
How to use it
- Open the Input tab and paste career-site URLs (one per line), or clear the list to search across all companies in the built-in list.
- Optionally add title keywords (
software engineer,account executive), locations (New York,Remote) and a posting window. - Click Start. Download the results as JSON, CSV, Excel or XML, or read them through the API.
- For a daily feed, turn on Only new jobs since the last run, save the input as a task and add a schedule.
Input example
{"careerSiteUrls": ["https://boards.greenhouse.io/airbnb","https://jobs.lever.co/palantir","https://jobs.ashbyhq.com/ramp","https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],"keywords": ["engineer", "product manager"],"locations": ["United States", "Remote"],"postedWithinDays": 7,"maxJobsPerSite": 200}
Output example
A real row (description shortened):
{"id": "ashby:ramp:34413f8d-26bf-4bbc-8ade-eb309a0e2245","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","platform": "ashby","company": "Ramp","legalEntity": null,"careerSite": "https://jobs.ashbyhq.com/ramp","requisitionId": null,"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","locations": ["New York, NY (HQ)","Remote (Canada)","Remote (US)","Miami, FL"],"country": "USA","workplaceType": "hybrid","department": "Engineering","team": "Backend","employmentType": "Full-time","experienceLevel": null,"salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryPeriod": "year","salaryText": "$211.4K – $290.6K • Offers Equity","postedAt": "2026-04-07T17:12:35.753Z","postedText": null,"scrapedAt": "2026-11-04T09:17:50.939Z","description": "About Ramp\nRamp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends. We automate how over $275B in annualized spend flows in and out of 85,000+ compa ..."}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Description |
|---|---|
id, platform, company, jobId, requisitionId | Stable id (platform:company:jobId), platform, company and the employer's own ids |
title, department, team, employmentType, experienceLevel | Role details as the employer lists them |
locations, country, workplaceType | Every listed location, country, remote / hybrid / onsite |
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText | Pay range when published (Ashby and Lever fields, Greenhouse pay-range blocks, ranges stated in the description) |
postedAt, postedText | First published; Workday's relative text |
url, applyUrl, careerSite | Job page, apply page and the career site you gave |
description, descriptionHtml | Full description (text and HTML) |
legalEntity | Workday: the legal entity posting the job |
Which platforms are supported?
| Platform | Example URL | Salary source | Notes |
|---|---|---|---|
| Workday | https://<company>.wd5.myworkdayjobs.com/<site> | range stated in the description | sites over 2,000 jobs are split by job family |
| Greenhouse | https://boards.greenhouse.io/<company> | pay-range block | company name from the board |
| Lever | https://jobs.lever.co/<company> (EU: jobs.eu.lever.co) | salary field or description | workplace type, team, commitment |
| Ashby | https://jobs.ashbyhq.com/<company> | compensation field | department, team, remote flag |
| SmartRecruiters | https://jobs.smartrecruiters.com/<company> | rarely published | experience level, function |
Oracle Recruiting Cloud (Oracle Fusion HCM) career sites have their own Actor: Oracle HCM Jobs Scraper.
How much does it cost?
Pay per event: $1 per 1,000 jobs plus $0.001 per run, full description included. Jobs left out by your filters, skipped in only-new mode or listed in skipJobIds are not charged. Higher Apify plans get the Store discount automatically.
| Run | Jobs | Cost |
|---|---|---|
| 4 companies, engineering roles | ~200 | about $0.20 |
| 50 companies, all open jobs | ~10,000 | about $10 |
| Daily only-new feed of 50 companies | ~300 new a day | about $0.30 a day |
| Cross-company search, default limit | 100 | about $0.10 |
Measured on 5 November 2026: a cross-company search for software engineers in the United States posted in the last 7 days returned 250 jobs from 67 companies in 8 seconds ($0.25 + $0.001). A narrow search (machine learning engineer, remote, last 24 hours) searched 7,105 companies in the 240-second limit and returned 6 jobs ($0.007). An empty input returned 100 jobs from 11 companies in 4 seconds.
Set Maximum cost per run in the run options to cap any run; the Actor stops cleanly and keeps what it saved.
Tips
- Find a company's careers URL by opening its "Careers" page and following any job link: the address shows the platform (
myworkdayjobs.com,greenhouse.io,lever.co,ashbyhq.com,smartrecruiters.com). keywordsmatch titles by words in any order, with prefixes (engineerfinds "Engineering Manager"); add several keywords for alternatives.- Workday and SmartRecruiters read each job's page for the description; turn descriptions off for faster listing-only runs (the price is the same).
- The
RUN-SUMMARYrecord lists each site's platform, company, listed, matched and saved counts and any error.
FAQ
Do I need accounts or API keys? No. The Actor reads the same public job APIs that power the career sites.
Does the cross-company search cover every company? No. It searches the built-in list of about 10,600 boards live, at the time of your run. A company outside the list is covered when you paste its careers URL (with Also search the built-in company list on, you get both). A board that has closed since the list was checked is counted as unavailable in RUN-SUMMARY and costs nothing.
A careers URL is not recognised? Some companies put their own domain in front of the platform. Open a job and copy the platform URL from the address bar or the "Apply" link. If the company uses another platform, tell us on the Issues tab.
Is this legal? The Actor collects job postings employers publish for the public and no personal data. Check that your use complies with the laws and terms that apply to you.
Python client on GitHub
datadmon/career-site-jobs-scraper: a tested Python script that runs this Actor and saves the results as JSON and CSV, with a real sample output, the field reference and a GitHub Actions recipe for a daily only-new feed.
Related Actors by Daemon Data
- Oracle HCM Jobs Scraper – jobs from any Oracle Recruiting Cloud career site (JPMorgan Chase, Marriott, Oracle...)
- Welcome to the Jungle Jobs Scraper – European tech and startup jobs with salary and remote policy
- India Jobs Feed – ten Indian job boards in one search and one schema
- Naukri Jobs Scraper – Naukri.com jobs with salary in LPA and a whole-board daily feed
More data tools: Daemon Data on Apify