Company Job Search API: Greenhouse, Lever, Ashby & more
Pricing
$2.00 / 1,000 job returneds
Company Job Search API: Greenhouse, Lever, Ashby & more
Search open jobs posted directly on company career sites (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, BambooHR, Workday). Keyword, country, remote, salary and seniority filters, clean salary fields, and only-new-jobs monitoring.
Pricing
$2.00 / 1,000 job returneds
Rating
0.0
(0)
Developer
Lucy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
What does Company Job Search do?
Company Job Search finds open jobs posted directly on company career sites, the job boards that companies run themselves on Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, BambooHR and Workday.
You can use it in two ways:
- Search every company at once. Type a job title like
data engineer, pick countries, remote, salary or seniority, and get matching jobs from thousands of companies in seconds. Results come from an index that refreshes every company several times a day. - Pull every job from the companies you care about. Give company names, website domains or careers-page links (
Stripe,notion.so,https://jobs.lever.co/spotify). The Actor works out which job board each company uses and fetches its current openings.
Every job comes back in one clean format, whichever platform it came from: title, company, location, countries, remote/hybrid/on-site, employment type, seniority, department, posted date, apply link and, when the employer publishes one, salary as numbers (min, max, currency, period, and a yearly figure).
Why use it?
- Jobs from the source. Postings come straight from the employer's own job board, so the links work and the jobs aren't reposts from aggregators.
- Salary you can filter on. Pay ranges are read from structured fields and from pay-transparency text in the description, then converted to yearly numbers.
minAnnualSalary: 150000, salaryCurrency: USDjust works. - Countries that are actually tagged. Locations like
SF, CA,Remote - EMEAorTel Aviv-YafobecomeUS,EMEAandIL, so a country filter catches them. - Only new jobs. Schedule it daily with Only new jobs since my last run and you get, and pay for, only the jobs that appeared since the previous run.
- Recently closed jobs. Jobs that a company took down are kept with a
closedAtdate, which is useful for tracking hiring at specific companies. - No setup. No cookies, no logins, no proxies to configure.
How to use it
- Click Try for free.
- Enter job title keywords, for example
product designer, or leave it empty. - Add filters: countries (
US,GB,DE, orEU/EMEA/LATAM), remote, minimum salary, posted within N days. - Optional: add companies to limit the search to them.
- Click Start. Download the results as JSON, CSV or Excel, or connect them to Google Sheets, Slack, Zapier, Make or your own code through the Apify API.
Example inputs
Remote senior backend roles in the US paying at least $180k, posted this week:
{"keywords": ["backend engineer", "software engineer"],"seniority": ["senior", "lead"],"workplaceTypes": ["remote"],"countries": ["US"],"minAnnualSalary": 180000,"salaryCurrency": "USD","postedWithinDays": 7,"maxItems": 500}
Every open job at a list of companies:
{"companies": ["Stripe", "notion.so", "https://jobs.lever.co/spotify", "linear.app"],"maxItems": 2000}
Daily alert for new data jobs in Europe (schedule it in Apify):
{"keywords": ["data engineer", "analytics engineer"],"countries": ["EU", "GB"],"onlyNewSinceLastRun": true,"stateKey": "data-jobs-europe"}
Use it from ChatGPT, Claude or Cursor (MCP)
Let your AI assistant search jobs for you. Add this to any MCP client:
https://mcp.apify.com?tools=lucymade/ats-job-search
Then ask something like "Find remote senior data engineer jobs in Europe posted this week that show a salary". The assistant fills in the filters and gets clean results back.
Reliable, and checked every day
A self-built job scraper often breaks without anyone noticing: a company moves to another job platform or a board goes quiet, and its jobs silently stop showing up. This Actor is built to catch that:
- every supported platform is tested several times a day against live company boards
- companies that move platforms under the same name are followed automatically
- every job has a
lastSeenAttime, so you can see how fresh each result is
Output
Each job looks like this:
{"id": "ashby:openai:8fb1615c-34bf-47c4-a1d1-b7b2f836bbd3","title": "Technical Program Manager, Compute Infrastructure","company": "OpenAI","ats": "ashby","atsBoard": "openai","url": "https://jobs.ashbyhq.com/openai/8fb1615c-34bf-47c4-a1d1-b7b2f836bbd3","applyUrl": "https://jobs.ashbyhq.com/openai/8fb1615c-34bf-47c4-a1d1-b7b2f836bbd3/application","location": "San Francisco","locations": ["San Francisco"],"countries": ["US"],"workplaceType": "hybrid","department": "Technical Program Management","team": "Technical Program Management","employmentType": "full-time","seniority": null,"salary": {"min": 207000, "max": 285000, "currency": "USD", "period": "year","annualMin": 207000, "annualMax": 285000, "source": "structured"},"visaSponsorship": null,"postedAt": "2026-11-05T02:20:02.702Z","firstSeenAt": "2026-11-05T02:20:02.702Z","lastSeenAt": "2026-11-09T09:30:11.000Z","closedAt": null,"status": "open"}
| Field | Meaning |
|---|---|
countries | ISO country codes plus region tags (EU, EMEA, APAC, LATAM, NA, WORLD) |
workplaceType | remote, hybrid, onsite or null when the employer doesn't say |
seniority | Read from the title: intern, entry, mid, senior, lead, manager, director, executive |
salary.source | structured when the platform has a pay field, description when read from the posting text |
salary.annualMin/annualMax | Pay converted to a yearly amount in the same currency |
visaSponsorship | true or false when the description says so, otherwise null |
firstSeenAt | When the job appeared (the platform's posting date for jobs that existed before we started tracking the company) |
closedAt | When the job disappeared from the company's board |
Turn on Include full job description to add the description as plain text.
The run's OUTPUT record lists, for each company you entered, which job board was found, so you can see what matched and what didn't.
How much does it cost?
You pay per job returned. The price is shown on the Pricing tab. Companies we can't find, empty boards and filtered-out jobs are free. With Only new jobs since my last run, a daily alert usually returns a handful of jobs, so it costs cents a month.
Apify's free plan includes monthly credit, which is enough to try the Actor many times.
Coverage
The search index tracks thousands of company job boards and grows every day:
- when a company moves from one platform to another under the same name, it is picked up automatically
- every company you look up that isn't indexed yet is fetched live, then added to the index
Workday boards are fetched live when you give a Workday careers link.
If a company you need isn't found, paste its careers-page link. That usually works when the name alone doesn't.
FAQ
Is this legal? The Actor reads the public job-board feeds that Greenhouse, Lever, Ashby and the others publish for exactly this purpose: showing a company's open jobs. It doesn't log in, doesn't touch candidate data and collects no personal information beyond what a company puts in its own job ads. Use the data in line with the laws that apply to you.
How fresh is it? Indexed companies are refreshed several times a day. lastSeenAt on every job tells you when it was last confirmed open. Companies fetched live are as fresh as the moment of your run.
Why is a field null? We only fill a field when the employer's posting supports it. A null salary means the company didn't publish one. We don't guess.
Can I get LinkedIn or Indeed jobs? No. This Actor covers jobs on company career sites. Many companies post there first, and some only post there.
Found a problem? Open an issue on the Issues tab with the input you used.