Job Postings Scraper: Greenhouse, Lever, Ashby & Workable
Pricing
from $1.00 / 1,000 job postings
Job Postings Scraper: Greenhouse, Lever, Ashby & Workable
Get every open job from any company's careers page via official public ATS feeds: Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters. Paste a board URL, slug or company website. Salary, remote flag, location filters, new-jobs-only mode. $1 per 1,000 jobs.
Pricing
from $1.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Joshua Temko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Job Postings Scraper: Greenhouse, Lever, Ashby, Workable, Recruitee & SmartRecruiters
Get every open job from any company's careers page as clean JSON, CSV or Excel, straight from the official public job-board feeds the careers pages themselves use. Paste a board URL, a slug such as stripe, or just a company website such as notion.so. The Actor finds the company's applicant tracking system (ATS) and returns one row per job: title, department, team, locations, remote flag, employment type, salary range, posting date, job URL and apply URL.
No login, no browser, no proxies, no API key. It reads public JSON feeds over plain HTTP, so runs are fast and cheap: a 750-job company takes a few seconds.
Supported ATSs
| ATS | Example input | Notes |
|---|---|---|
| Greenhouse | https://boards.greenhouse.io/stripe, greenhouse:stripe | Also job-boards.greenhouse.io and embed URLs |
| Lever | https://jobs.lever.co/palantir, lever:palantir | US and EU Lever, structured salary ranges |
| Ashby | https://jobs.ashbyhq.com/ramp, ashby:ramp | Structured compensation, workplace type |
| Workable | https://apply.workable.com/huggingface | Remote flag, locations |
| Recruitee | https://bunq.recruitee.com | Hybrid/remote/on-site, salary when published |
| SmartRecruiters | https://careers.smartrecruiters.com/ServiceNow | Paginates large boards (thousands of jobs) |
Don't know the ATS? Enter a bare slug (ramp) and all six are tried in parallel, or enter the company website (linear.app) and the home and careers pages are scanned for an ATS link.
Who uses it
- Sales and recruiting agencies: hiring signals. A company hiring five SDRs needs sales tools; a company hiring its first data engineer needs data tools. Watch a list of target accounts and get new roles every morning.
- Job boards and niche job sites. Fill a remote, AI, crypto or climate job board with fresh, deduplicated jobs from hundreds of companies with salaries.
- Job seekers and career coaches. Track dream companies and get only new matching roles (for example "product manager" + "Remote").
- Market, compensation and VC research. Count open roles by department, track headcount growth and compare published pay ranges.
Input
| Field | Description |
|---|---|
companies (required) | Board URLs, ats:slug pairs, bare slugs or company websites, one per line. |
titleKeywords / excludeTitleKeywords | Keep titles containing any of these words / drop titles containing any of these. |
locations, departments | Keep jobs whose location or department/team contains any of these. |
remoteOnly | Only remote jobs. |
postedWithinDays | Only jobs published in the last N days. |
onlyNewJobs | Monitoring mode. Remembers what it has already returned, so scheduled runs only return and charge for new jobs. |
includeDescription | Adds the full plain-text description. |
parseSalaryFromDescription | Finds pay-transparency ranges like $120,000 - $150,000 in the description when the ATS has no structured range. Default on. |
maxJobsPerCompany, maxJobs | Caps (newest first). |
{"companies": ["https://boards.greenhouse.io/stripe", "lever:palantir", "ramp", "notion.so"],"titleKeywords": ["engineer", "developer"],"locations": ["remote", "new york"],"onlyNewJobs": true}
Output (one row per job)
Real row from a test run on 2026-10-30:
{"company": "Ramp","ats": "ashby","boardSlug": "ramp","jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","title": "Security Engineer, Cloud","department": "Engineering","team": "Backend","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],"isRemote": true,"workplaceType": "Hybrid","employmentType": "FullTime","salaryMin": 211400,"salaryMax": 290600,"salaryCurrency": "USD","salaryPeriod": "year","salaryText": "$211.4K – $290.6K • Offers Equity","salarySource": "ats","postedAt": "2026-04-07T17:12:35+00:00","url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","companyInput": "ramp","scrapedAt": "2026-10-30T19:29:05+00:00"}
A per-company summary (which ATS was found, open jobs, matched jobs, and any companies that couldn't be resolved) is saved to the RUN_SUMMARY record in the run's key-value store.
Pricing (pay per event)
- $1.00 per 1,000 job postings returned ($0.001 per job), plus Apify's tiny standard actor-start fee.
- Companies that can't be found cost nothing, and filtered-out jobs cost nothing: you only pay for rows in your dataset.
- In
onlyNewJobsmode, a daily watch of 50 companies usually costs a few cents a day. - Set "Maximum cost per run" in the run options to cap spending; the Actor stops cleanly when it's reached.
Scheduling job alerts
- Enter your companies and filters, and turn on Only jobs not seen in previous runs.
- Save as a task and add a Schedule (for example daily at 8:00).
- Connect an integration (Slack, email, Google Sheets, Zapier, Make, webhook) to get new jobs delivered.
FAQ
Is this legal? It reads the public job-board APIs that Greenhouse, Lever, Ashby, Workable, Recruitee and SmartRecruiters publish for exactly this purpose (showing jobs on careers pages and job sites). No login, no personal data, only job postings that companies have chosen to publish.
Why do some jobs have no salary? Many companies don't publish pay. Structured ranges come from Lever, Ashby and Recruitee; for others the description is scanned for US pay-transparency ranges.
A company wasn't found. Check RUN_SUMMARY to see which boards were tried. Companies using Workday, iCIMS, Taleo or their own systems aren't supported yet. Paste their board URL if you know it, or open an issue and tell us which ATS you need.
Does it include descriptions? Turn on includeDescription to get them as clean plain text (SmartRecruiters descriptions aren't included).