Career Site Jobs API: Greenhouse, Lever, Ashby, Workday +4
Pricing
from $1.00 / 1,000 job postings
Career Site Jobs API: Greenhouse, Lever, Ashby, Workday +4
Pull every open job with full description and salary from any company careers site on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Workable or Personio. No login, no proxies.
Pricing
from $1.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Ailu Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Career Site Jobs API: every open job with full description and salary from Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Workable and Personio
Give this Actor a list of company careers pages and get every open job back as clean rows: title, department, locations, remote flag, employment type, posting date, salary when the company publishes it, the full job description (plain text or HTML) and the apply link. It reads the same public, unauthenticated job-board endpoints that power each company's careers site, so there is no login, no proxy and no browser. Eight ATS platforms are covered: Greenhouse, Lever (global and EU), Ashby, Workday, SmartRecruiters, Recruitee, Workable and Personio.
Not affiliated with Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Workable or Personio. Job content belongs to the employers who published it. Removal requests: open a ticket in the Issues tab of this Actor; verified requests are handled within 5 business days.
Use cases
- Job feeds and job boards: pull full postings from hundreds of companies into your own database or site.
- Sales and recruiting signals: see what roles a target account is hiring for, with locations and seniority in the description.
- Salary and market research: structured salary fields from Lever, Ashby and Recruitee, descriptions for the rest.
- AI agents: one call returns ready-to-read text for matching, summarising or classifying roles.
- Change tracking: pair it with the companion Actor Job Change Tracker when you only want new, updated and removed postings.
Input
| Field | Default | Meaning |
|---|---|---|
companies | two demo boards | Careers URLs (https://boards.greenhouse.io/airbnb, https://jobs.lever.co/palantir, https://jobs.ashbyhq.com/ramp, https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, https://jobs.smartrecruiters.com/Ubisoft2, https://bunq.recruitee.com, https://apply.workable.com/huggingface/, https://nextbike.jobs.personio.de), platform:slug, or bare slugs (probed on every platform except Workday). |
keywords | – | Keep jobs whose title or description contains any of these words (case-insensitive). |
locations | – | Keep jobs whose location contains any of these strings. Remote also matches remote-flagged jobs. |
remoteOnly | false | Only remote-flagged jobs. |
includeDescription | true | Return the full description. Off = lighter and faster listing. |
descriptionFormat | text | text, html or both. |
maxDescriptionChars | 20000 | Truncate very long descriptions. |
maxJobsPerCompany | 1000 | Cap per company after filtering. |
maxItems | 500 | Cap for the whole run. |
workdayMaxDetails | 300 | Workday needs one request per job for the description; beyond the cap jobs come without it. |
minRequestIntervalMs | 300 | Politeness delay per job-board host. |
{ "companies": ["https://jobs.lever.co/palantir", "https://jobs.ashbyhq.com/ramp", "stripe"], "keywords": ["engineer"], "locations": ["Remote", "London"], "maxItems": 1000 }
Output
| Field | Type | Meaning |
|---|---|---|
id | string | Stable key platform:companySlug:sourceId. |
source | string | greenhouse, lever, lever-eu, ashby, workday, smartrecruiters, recruitee, workable, personio. |
company, companySlug | string | Display name and board slug (Workday: tenant/site). |
title, department, team | string | As published. |
locations | string[] | Locations as published. |
isRemote, workplaceType | boolean, string | Remote flag and remote / hybrid / onsite when known. |
employmentType | string | Full-time, contract, intern, etc. |
salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryRaw | number, string | Structured salary when published (Lever, Ashby, Recruitee); otherwise null. |
postedAt, updatedAt | ISO 8601 | Publication and last edit time when the platform provides it. |
url, applyUrl | string | Public posting and application links. The Actor never applies. |
country | string | Workday only. |
descriptionText, descriptionHtml | string | Full description in the requested format(s). |
fetchedAt | ISO 8601 | Run time. |
{"id": "ashby:ramp:34413f8d-26bf-4bbc-8ade-eb309a0e2245", "source": "ashby", "company": "Ramp", "companySlug": "ramp","title": "Security Engineer, Cloud", "department": "Engineering", "team": "Security", "locations": ["New York, NY (HQ)", "Remote (US)"],"isRemote": true, "workplaceType": "hybrid", "employmentType": "Full Time","salaryMin": 211400, "salaryMax": 260000, "salaryCurrency": "USD", "salaryInterval": "year", "salaryRaw": "$211.4K – $260K","postedAt": "2026-10-28T15:02:11.000Z", "url": "https://jobs.ashbyhq.com/ramp/34413f8d-…", "applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-…/application","descriptionText": "ABOUT RAMP Ramp is building the smart infrastructure for finance teams …", "fetchedAt": "2026-11-03T15:00:00.000Z"}
The run summary (jobs found, matched and returned per company, errors) is stored in the OUTPUT record of the key-value store.
How it works and limits
- One request per board for Greenhouse, Lever, Ashby, Recruitee, Workable and Personio (descriptions are included in the board feed). SmartRecruiters and Workday need one extra request per job for the description; both are capped (
workdayMaxDetails, 300 by default) and rate-limited per host. - Workday lists 20 jobs per request, so a 2,000-job site takes about 100 list requests plus the detail requests. Use
keywords/locationsand the caps to keep runs small. WorkdaypostedAthas day precision. - Salary is returned only where the platform publishes a structured range. Greenhouse, Workday, SmartRecruiters and Workable rarely do.
- Unlisted or inactive postings are skipped (Ashby
isListed:false, non-public SmartRecruiters postings, unpublished Recruitee offers). Workable's public widget endpoint is undocumented and may change. - One failing company never fails the run; it is reported in the summary and the Actor finishes with the other companies.
Pricing
Pay per result: $1.00 per 1,000 jobs (job event). Platform usage is billed separately by Apify. Jobs dropped by your filters are not charged.
Legal
Not affiliated with any of the ATS vendors. Uses only their public job-board endpoints (Greenhouse Job Board API, Lever Postings API, Ashby Job Posting API, Workday careers JSON, SmartRecruiters Posting API, Recruitee offers API, Workable widget API, Personio XML feed). Read-only; never submits applications. Respect the employers' terms when you reuse the content.
FAQ
How do I find a company's board? Open their careers page and copy the URL; it contains the platform host (boards.greenhouse.io, jobs.lever.co, jobs.ashbyhq.com, *.myworkdayjobs.com, jobs.smartrecruiters.com, *.recruitee.com, apply.workable.com, *.jobs.personio.de). A bare slug such as stripe is probed on every platform except Workday.
Why is a Workday job missing its description? Descriptions need one request per job; raise workdayMaxDetails or narrow the listing with filters.
Can I only get what changed since yesterday? Use the companion Actor Job Change Tracker (same platforms), which keeps a snapshot per watchlist and returns new, updated and removed jobs.
Does it support iCIMS, Taleo, BambooHR or Teamtailor? Not yet. Workday is supported.