ATS Jobs: Greenhouse, Lever & Ashby Job Boards
Pricing
from $1.40 / 1,000 jobs
ATS Jobs: Greenhouse, Lever & Ashby Job Boards
Get every open job from any company's Greenhouse, Lever or Ashby careers page in one clean, identical format. Filter by keyword, location, remote and date, or return only jobs that are new since your last run. Official public APIs only.
Pricing
from $1.40 / 1,000 jobs
Rating
0.0
(0)
Developer
agentready
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get every open job from any company's Greenhouse, Lever or Ashby careers page in one identical, clean format. Mix all three in one run, filter by keyword, location, remote or date, and turn on "only new jobs" to get just the postings that appeared since your last run.
It reads only the official public job-board APIs these systems provide for publishing jobs. No logins, no browser, no blocked pages, so runs are fast and cheap and rarely break.
What you can do with it
- Track hiring at target accounts. New roles in a team are a strong buying signal for sales.
- Feed a job board or newsletter with fresh postings from hundreds of companies.
- Give an AI agent live answers to "who is hiring senior Rust engineers in Berlin?" or "what does Notion pay product designers?"
- Monitor competitors' hiring, including department, location and published pay ranges.
Quick start
Paste careers pages, ats:board names, or plain board names:
{"companies": ["https://boards.greenhouse.io/gitlab","https://jobs.lever.co/leverdemo","ashby:notion","stripe"],"keywords": ["engineer", "AI"],"remoteOnly": true}
A plain name such as stripe is looked up on Greenhouse, then Lever, then Ashby.
Daily "new jobs only" feed
Schedule this to run every morning. The first run returns everything that matches; after that, each run returns only jobs you haven't received yet, and you only pay for those new jobs.
{"companies": ["ashby:openai", "greenhouse:anthropic", "lever:spotify"],"keywords": ["machine learning", "research"],"onlyNewJobs": true,"stateKey": "ml-roles"}
Use a different stateKey for each separate search you schedule.
Input
| Field | What it does |
|---|---|
companies (required) | Careers URLs, greenhouse:x, lever:x, ashby:x, or plain board names. Up to 500. |
keywords | Keep jobs whose title contains any of these, matched as whole words (AI does not match "maintain"). |
excludeKeywords | Drop jobs whose title contains any of these. |
searchInDescription | Also match keywords in the job description. |
locations | Keep jobs whose location or country contains any of these (London, Germany, Remote). |
remoteOnly | Keep remote jobs only. |
departments | Keep jobs whose department or team contains any of these. |
postedWithinDays | Keep jobs published in the last N days. |
onlyNewJobs / stateKey | Output only jobs not returned in earlier runs under the same key. |
descriptionFormat | text (default), html, both, or none. |
maxJobsPerCompany, maxResults | Caps. 0 means no limit. |
Output
Every job has the same fields, whatever system it came from. Missing values are null, never guessed.
{"id": "ashby:ashby:7458d4e9-da2e-47bd-98cb-adfda43d42b2","ats": "ashby","companySlug": "ashby","companyName": "Ashby","jobId": "7458d4e9-da2e-47bd-98cb-adfda43d42b2","title": "Engineering Manager - EU","department": "Engineering","team": "EMEA Engineering","locations": ["Remote - European Union", "Spain", "Germany"],"country": "European Union","workplaceType": "remote","isRemote": true,"employmentType": "FullTime","salary": { "min": 110000, "max": 185000, "currency": "EUR", "interval": "year", "summary": "€110K - €185K" },"postedAt": "2024-03-04T14:29:08Z","updatedAt": null,"url": "https://jobs.ashbyhq.com/ashby/7458d4e9-da2e-47bd-98cb-adfda43d42b2","applyUrl": "https://jobs.ashbyhq.com/ashby/7458d4e9-da2e-47bd-98cb-adfda43d42b2/application","description": "Hi, I am the Director of Engineering, Europe. ...","descriptionHtml": null,"scrapedAt": "2026-09-28T12:00:00Z"}
idis stable across runs. Use it to de-duplicate.salaryappears when the company publishes pay (common on Lever and Ashby; Greenhouse's public API doesn't include it).workplaceTypeisremote,hybrid,onsiteornull. Greenhouse has no remote field, so it is read from the location text there.- Dates are ISO 8601 in UTC.
Each run also saves a RUN_SUMMARY record in the key-value store. It lists every company you asked for with its status (ok, not_found, error), jobs on the board, jobs matched and jobs output. A misspelled company never fails the whole run.
Using it from an AI agent (MCP)
This Actor works as a tool in Claude, Cursor and other MCP clients through Apify's MCP server. The input and output are described field by field, so an agent can call it directly, for example: "Use ATS Jobs to list remote data engineering roles posted this week at gitlab, notion and openai."
For agents, descriptionFormat: "text" returns clean plain text, and maxResults keeps responses small.
Pricing
You pay per job returned, with no monthly fee. Boards that are not found or return no matches cost nothing. Set a maximum charge on any run and the Actor stops cleanly when it is reached.
Finding a company's board name
Open the company's careers page and look at the job links:
boards.greenhouse.io/<name>orjob-boards.greenhouse.io/<name>→ Greenhousejobs.lever.co/<name>→ Leverjobs.ashbyhq.com/<name>→ Ashby
If a careers site is hosted on the company's own domain, open any job's Apply link; it usually lands on one of these.
Limits and good to know
- Only companies that use Greenhouse, Lever or Ashby are covered. Workday, iCIMS and others are not.
- Only jobs the company has made public are returned. Unlisted and internal postings are not.
- EU-hosted Lever boards (
jobs.eu.lever.co) are supported automatically.
Data and legal
This Actor reads the public job-board APIs that Greenhouse, Lever and Ashby provide so that job postings can be displayed publicly. It returns job postings only, not personal data about candidates or employees. You are responsible for how you use the data; follow each company's terms and applicable law.
Support
Found a problem or want a field added? Open an issue on the Actor's Issues tab.