Greenhouse, Lever & Ashby Jobs Scraper: Career Site Jobs API
Pricing
$3.00 / 1,000 job scrapeds
Greenhouse, Lever & Ashby Jobs Scraper: Career Site Jobs API
Scrape every open job from company career sites on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee. One clean format: title, location, remote flag, salary when published, full description, apply link. $3 per 1,000 jobs, no proxy, no login. CSV, Excel, JSON, API.
Pricing
$3.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Azeddine MESKAOUI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Career Site Jobs Scraper: Greenhouse, Lever, Ashby & more
Get every open job from a company's career site, in one clean format, whatever platform hosts it.
Supported platforms: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee.
The Actor reads each platform's own public job-board API, the same data the career page shows to candidates. No login, no browser, no proxy, no personal data.
Measured on Apify, October 2026: 15,490 jobs from 53 companies in one run of 8 min 56 s, with full descriptions, 5,674 requests, none failed, 470 MB peak memory. A smaller run of 1,368 jobs from 8 companies took 25 seconds.
Pricing
$3 per 1,000 jobs ($0.003 per job delivered). No start fee, no charge for compute time, and a company that is not found costs nothing.
| You extract | You pay |
|---|---|
| 100 jobs | $0.30 |
| 1,000 jobs | $3.00 |
| 10,000 jobs | $30.00 |
The pre-filled example stops at 50 jobs per company, so a first test run costs about $0.45. Remove the limit when you want everything.
What it is for
- Job boards and aggregators: keep listings from hundreds of employers fresh, straight from the source, with the original apply link.
- Recruiting and sales intelligence: see who is hiring, for which teams and where. A company opening ten sales roles in Germany is telling you something.
- Market and salary research: compare titles, locations, remote policy and published salary ranges across companies.
- Job alerts: schedule a daily run with a title filter and send new rows to Slack, e-mail or a spreadsheet.
- AI and RAG pipelines: full descriptions as plain text, ready to embed.
What you give it
A list of companies. Each line can be:
- a career board URL:
https://boards.greenhouse.io/stripe,https://jobs.lever.co/palantir,https://jobs.ashbyhq.com/ramp,https://apply.workable.com/huggingface,https://jobs.smartrecruiters.com/BoschGroup,https://bunq.recruitee.com - an explicit pair:
greenhouse:stripe - just the identifier:
stripe. The Actor then looks for it on each platform and keeps the first one that has jobs.
Optional filters: words in the job title, words in the location, remote only, posted within the last N days. Optional limits: jobs per company, jobs in total.
How to find a company's identifier
Open the company's careers page and click any job. If the address bar shows one of the six platforms, the identifier is the part right after the domain: boards.greenhouse.io/stripe/jobs/…, jobs.lever.co/palantir/…. Pasting the whole URL works too.
Example input
{"companies": ["https://boards.greenhouse.io/stripe", "lever:palantir", "ramp"],"titleKeywords": ["engineer", "developer"],"locationKeywords": ["remote", "london"],"postedWithinDays": 30,"includeDescription": true}
Example output
One row per job. Descriptions are shortened here.
{"ats": "ashby","company": "ramp","companySlug": "ramp","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","department": "Engineering","team": "Backend","location": "New York, NY (HQ) / Remote (Canada) / Remote (US) / Miami, FL","country": "USA","remote": true,"workplaceType": "hybrid","employmentType": "FullTime","salary": "$211.4K – $290.6K • Offers Equity","postedAt": "2026-04-07T17:12:35.753Z","updatedAt": null,"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","descriptionHtml": "<h1><strong>About Ramp</strong></h1><p>Ramp is building the smart infrastructure for finance te…","descriptionText": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends…","scrapedAt": "2026-10-05T17:09:24.493Z"}
Fields, and which platform fills them
Always present: ats, company, companySlug, jobId, title, location, postedAt, url, applyUrl, scrapedAt, and the description unless you turn it off.
| Field | Greenhouse | Lever | Ashby | Workable | SmartRecruiters | Recruitee |
|---|---|---|---|---|---|---|
department | yes | sometimes | yes | yes | rarely | yes |
team | no | yes | yes | no | yes (job function) | no |
country | no | yes | yes | yes | yes | yes |
remote | from the location text | when stated | when stated | yes | yes | when stated |
workplaceType (remote, hybrid, onsite) | no | yes | mostly | yes | only remote or hybrid | yes |
employmentType | no | yes | yes | yes | yes | yes |
salary | no | when published | when published | no | no | when published |
updatedAt | yes | no | no | no | no | yes |
A field the platform does not publish is null, never guessed. In a 53-company test (15,485 jobs), 59% of Ashby jobs and 7% of Lever jobs carried a salary; 7% overall.
remote is true, false, or null when the employer does not say.
Run summary
Each run stores a RUN_SUMMARY record in the key-value store: for every company, the platform found, the number of open jobs, the number saved and a status. A company that cannot be found is reported there and in the log; it does not fail the run.
Speed and cost
Greenhouse, Lever, Ashby and Recruitee return a whole company in one or a few requests. Workable and SmartRecruiters need one extra request per job to get the description, so they are slower; turn off Include full job description when you only need titles and locations.
Companies are read three at a time. Memory: 512 MB is enough for most runs, use 1 GB for very large employers with descriptions on.
Limits
- Only companies hosted on the six platforms above. A company with a custom career site (Workday, a home-made page) is reported as "not found".
- You need to know which companies you want. This Actor does not search jobs across the whole web.
- With a total job limit, companies are read in parallel, so the limit can be used up by any of them, not necessarily the first in your list. Use Max jobs per company for an even split.
- It returns the jobs open now. It does not keep history; schedule runs if you want to track changes over time.
FAQ
Is this legal? The Actor reads public job postings that employers publish for anyone to see, through the public endpoints their own career pages use. It collects no candidate or personal data.
Can I get only new jobs? Use Posted within the last N days with a scheduled run, for example 1 day on a daily schedule.
The identifier is not found. Why? Either the company is not on one of the six platforms, or its identifier differs from its name (BoschGroup, not bosch). Paste the career board URL instead.
Something is missing or broken? Open an issue on the Issues tab with the company you tried. Platform changes are fixed quickly.