Greenhouse, Lever & Ashby Job Scraper
Pricing
from $0.09 / 1,000 results
Greenhouse, Lever & Ashby Job Scraper
$0.09 per 1,000 jobs. One unified schema for Greenhouse, Lever, Ashby and SmartRecruiters: paste a list of companies, get every open role with title, location, department, remote flag and posting date. Plus per-company hiring signals: headcount growth, hiring velocity, remote share. No API key.
Pricing
from $0.09 / 1,000 results
Rating
0.0
(0)
Developer
Alexandr Maier
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
Multi-ATS Job Postings & Hiring-Signal Scraper
Pull job postings from Greenhouse, Lever, Ashby, and SmartRecruiters into one unified schema, and get hiring signals per company: department breakdown, locations, remote %, and how fast they're hiring.
Most job scrapers cover a single ATS and just dump raw postings. This one normalizes four ATS platforms into one format and adds the analytics layer that sales-intelligence, recruiting, and market-research teams actually pay for.
Data comes from each vendor's official public JSON API: no API key, no login, no proxy, no anti-bot. That makes it fast and near-zero maintenance: these endpoints rarely change.
What you get
Per job (unified across all four ATS):
{"ats": "ashby","company": "ramp","id": "03e2d4e1-...","title": "Technical Consultant, Mid-Market","department": "Sales","team": "Solutions Consulting","location": "Remote (US)","remote": true,"employmentType": "FullTime","publishedAt": "2026-07-07T20:47:09.753Z","url": "https://jobs.ashbyhq.com/ramp/03e2d4e1-..."}
Per company (hiring signal summary):
{"type": "company_signal","company": "spotify","ats": "lever","totalOpenRoles": 110,"remoteRoles": 30,"remoteShare": 27,"rolesPostedLast30Days": 32,"newestPostingAt": "2026-07-09T...","topDepartments": [{ "name": "Engineering", "count": 39 }, ...],"topLocations": [{ "name": "London", "count": 14 }, ...]}
How to find a company's token
The token is the identifier in a company's careers URL:
| ATS | Careers URL example | Token | Input |
|---|---|---|---|
| Greenhouse | boards.greenhouse.io/stripe | stripe | greenhouse:stripe |
| Lever | jobs.lever.co/spotify | spotify | lever:spotify |
| Ashby | jobs.ashbyhq.com/ramp | ramp | ashby:ramp |
| SmartRecruiters | jobs.smartrecruiters.com/ServiceNow | ServiceNow | smartrecruiters:ServiceNow |
Or just paste the link. A careers-page or job URL works as is — https://boards.greenhouse.io/stripe, jobs.lever.co/spotify/<job-id>, https://jobs.ashbyhq.com/ramp. EU-hosted boards (job-boards.eu.greenhouse.io/..., jobs.eu.lever.co/...) are supported too.
Input
| Field | Type | Description |
|---|---|---|
companies | array (required) | "<ats>:<company>" entries, e.g. "greenhouse:stripe", or careers-page URLs |
keywords | array | Keep roles whose title (or body, if included) matches |
locations | array | Keep roles whose location contains a substring |
departments | array | Keep roles in matching departments |
remoteOnly | boolean | Remote-flagged roles only |
postedWithinDays | integer | Only roles posted in the last N days (hiring-velocity monitoring) |
includeDescription | boolean | Include full role text (bigger output) |
signalsOnly | boolean | Output only the per-company summary, no individual rows |
Example: monitor competitors' engineering hiring, last 30 days
{"companies": ["greenhouse:stripe", "lever:spotify", "ashby:ramp"],"departments": ["Engineering"],"postedWithinDays": 30}
Use cases
- Sales intelligence: a company hiring 40 salespeople signals budget and expansion. Feed signals into your CRM.
- Competitive intel: track which departments and locations competitors are growing.
- Recruiting / talent: a fresh, deduplicated feed of open roles across your target companies.
- AI agents (MCP): "What is company X hiring for right now?" is one clean tool call with flat JSON back.
- Market research: hiring velocity as a leading indicator across a sector.
Pricing (pay-per-event)
| Event | Price |
|---|---|
| Actor start | $0.00001 |
| Row saved (job or company signal) | $0.00009 |
$0.09 per 1,000 rows. There is a single per-row charge: job rows and per-company signal
rows are billed the same, and the start fee is one thousandth of a cent ($0.00001), so a run that
finds nothing costs practically nothing. Scanning 10 companies with ~2,000 total roles costs about $0.18.
Use signalsOnly to save only the aggregate row per company and pay for 10 rows instead of 2,000.
Apify platform usage (compute + storage) is billed to your own account on top. Measured, not guessed: a real run on 2026-09-21 pulled 883 jobs from Stripe, Spotify, Ramp and a SmartRecruiters company in 23 seconds and used $0.0067 of platform usage per 1,000 rows, under 8% of the price above.
Honest notes
- Covers companies hosted on these four ATS platforms. It does not scrape LinkedIn, Indeed, or company career pages built on other systems.
- Uses official public endpoints only. No login, no personal data, no anti-bot evasion.
includeDescriptionisn't available for SmartRecruiters in this version (would need a per-role call).- A token that is wrong, or a company that moved to another ATS, gives 0 roles and a warning in the log; the other companies still run. Companies do switch ATS, so re-check a token when it suddenly returns 0.
- Missing an ATS (Workable, Personio, Recruitee, Teamtailor)? Ask in the Issues tab of this page.