Career Site Jobs: Greenhouse, Lever, Ashby, Workable & more
Pricing
$1.50 / 1,000 jobs
Career Site Jobs: Greenhouse, Lever, Ashby, Workable & more
Get every open job from company career sites in one clean schema. Paste careers-page URLs or company slugs; get titles, locations, remote flag, salary ranges, dates and full descriptions. Uses official public job-board APIs: no proxies, no browser, fast and cheap.
Pricing
$1.50 / 1,000 jobs
Rating
0.0
(0)
Developer
Santiago Marcos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Career Site Jobs: Workday, Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio, Breezy, Rippling
Get every open job from company career sites in one clean, consistent schema. Paste careers-page URLs or company slugs and get titles, locations, remote flag, salary ranges, posting dates, and full descriptions.
It reads each ATS's official public job-board API, the same feed that powers the company's own careers page. It uses no browser, no proxies, and no login, so runs are fast and cheap and they don't break when a page layout changes.
What you can use it for
- Job boards and aggregators: keep listings in sync from hundreds of companies.
- Recruiting and sales intelligence: see who is hiring, for which roles, and where.
- Job alerts and monitoring: schedule it daily with Only new jobs and each run returns just the postings you haven't seen. You don't pay again for jobs you already have.
- Market and salary research: Ashby, Lever, and Recruitee often publish pay ranges.
- AI agents and RAG: descriptions come as clean plain text that's ready for LLMs.
Supported sources
| ATS | Example input |
|---|---|
| Workday | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite (paste the careers-site URL) |
| Greenhouse | https://boards.greenhouse.io/stripe or greenhouse:stripe |
| Lever (US and EU) | https://jobs.lever.co/palantir, https://jobs.eu.lever.co/acme or lever:palantir |
| Ashby | https://jobs.ashbyhq.com/openai or ashby:openai |
| Workable | https://apply.workable.com/huggingface or workable:huggingface |
| SmartRecruiters | https://jobs.smartrecruiters.com/BoschGroup or smartrecruiters:BoschGroup |
| Recruitee | https://acme.recruitee.com or recruitee:acme |
| Personio | https://acme.jobs.personio.de or personio:acme |
| Breezy HR | https://acme.breezy.hr or breezy:acme |
| Rippling | https://ats.rippling.com/acme/jobs or rippling:acme |
A bare slug (e.g. notion) works too, and the actor tries each ATS until it finds the board. Workday needs the full careers-site URL.
Workday is used by most large employers (NVIDIA, Salesforce, Walmart and many more). Workday shows at most 2,000 jobs per careers site, and that's the most this actor can return for one site. Full descriptions and exact posting dates take one extra request per job, so set Description format to none for a fast list with approximate dates. For Workday keyword search, country and category filters, and parsed salaries, use our dedicated Workday Jobs Scraper.
Filters
- Title must contain any of / must not contain: e.g.
engineer, but notintern - Location contains any of: e.g.
london,germany,remote - Remote only
- Posted within N days
- Only new jobs: skips every job already returned for that company in earlier runs. It remembers them in a named key-value store in your account, so use a different store name for each separate schedule.
- Max jobs, plus your run's maximum cost limit, which is always respected
Output
One row per job:
{"ats": "ashby","company": "openai","title": "Research Engineer","department": "Research","location": "San Francisco","isRemote": null,"employmentType": "FullTime","postedAt": "2025-04-05T00:03:20.653Z","url": "https://jobs.ashbyhq.com/openai/240d459b-...","applyUrl": "https://jobs.ashbyhq.com/openai/240d459b-.../application","salaryMin": 250000,"salaryMax": 445000,"salaryCurrency": "USD","salaryPeriod": "1 YEAR","salaryText": "$250K – $445K • Offers Equity","description": "By applying to this role, you will be considered for ..."}
Fields an ATS doesn't publish are null. The SmartRecruiters, Breezy and Rippling list APIs don't include descriptions, so description is empty for those sources.
Companies that can't be found don't stop the run. They're listed in the FAILURES record of the run's key-value store.
Code examples
Python, Node.js, cURL and an importable n8n workflow for this actor: https://github.com/SantiagoMV42/linkedin-jobs-scraper
Pricing
You pay per job saved. Companies with no matching jobs, failed inputs, retries and (with Only new jobs) jobs you already have are free.
Is this allowed?
Yes. The actor only calls the documented public job-board endpoints that each ATS provides for publishing openings, and it reads only publicly listed jobs.