Job Postings API: 1M+ Fresh Jobs (Greenhouse, Lever, Workday)
Pricing
from $2.50 / 1,000 job results
Job Postings API: 1M+ Fresh Jobs (Greenhouse, Lever, Workday)
Search 1.17M open jobs from 17,000+ company career sites on Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio & Rippling. Refreshed hourly (Workday daily). Jobs posted in the last hour, 24h or 7d, plus closed jobs. Results in seconds. A LinkedIn jobs alternative.
Pricing
from $2.50 / 1,000 job results
Rating
0.0
(0)
Developer
Clean Row Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Job Postings API: 1,170,000+ fresh jobs from Greenhouse, Lever, Ashby, Workday & 5 more ATS
Search 1,170,000+ open jobs from 17,000+ companies' own career sites, refreshed hourly (Workday daily), and get results in seconds. This Actor is a jobs API on top of a ready-made index: we continuously collect job postings straight from the applicant tracking systems (ATS) that companies use for their careers pages: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio and Rippling. You ask for, say, "software engineer jobs in the US or remote, posted in the last 7 days" and get clean, deduplicated rows with the direct apply link. No scraping happens during your run, so a typical run finishes in 5-15 seconds and costs only for the jobs it returns.
Looking for a LinkedIn jobs or Indeed scraper alternative without logins, proxies, reposts or rate limits? This is it: every job comes from the employer's own ATS board.
Why people use it
- ⚡ Fast and fresh: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio and Rippling are re-checked every hour; Workday once a day. Filter to jobs posted in the last hour, 24 hours, 7 days or 30 days.
- 🏢 Straight from the source: 20,000+ verified company job boards. Every row links to the original job page and apply page.
- 🧹 One clean schema for 9 ATS platforms: title, company, department, team, locations, country, remote flag, workplace type, employment type, posted date, first/last seen, salary (when published), job URL, apply URL.
- 🎯 Filters that matter: job title (with wildcards), keywords, exclusions, location, remote only, workplace type, ATS, company or domain, employment type, "salary published".
- ♻️ Deduplicated: one row per company + title + location by default.
- 🧹 No aggregator spam: reposting marketplaces such as Jobgether are skipped by default, and Workday tenant codes are shown as real company names (e.g.
ghr→ Bank of America,globalhr→ RTX), so you can also filter by the name you know. - 🗑️ Expired jobs: get the jobs that closed in the last 7 days to clean up your own job board or CRM.
- 💸 $2.50 per 1,000 jobs, pay only for rows returned. Set Max results and the run stops exactly there.
Quick start (first run in under a minute)
- Click Start. The prefilled input returns 50 software engineer jobs in the US or remote, posted in the last 7 days (about $0.13).
- Change Job title contains to your role (
data engineer,account executive,nurse,product designer...), and Location contains to your market. - Export to CSV, Excel, JSON or Google Sheets, or call it from the API, Make, Zapier, n8n or an AI agent.
Use cases and ready-to-paste inputs
1. Recruiting and staffing agencies: new roles to fill, every week
Find companies that just opened roles you can fill, with the direct link to each job. Switch to "Last 24 hours" for a daily run.
{"timeRange": "7d","titleSearch": ["data engineer", "analytics engineer"],"locationSearch": ["United States", "Remote"],"titleExclusionSearch": ["intern"],"limit": 500}
2. Sales teams: hiring signals for outbound
A company hiring its first RevOps person, or five security engineers at once, is a buying signal. Pull new roles by function and push them into your CRM or Clay.
{"timeRange": "7d","titleSearch": ["revops", "revenue operations", "sales operations"],"locationSearch": ["United States"],"dedupe": true,"limit": 1000}
Tip: match rows to accounts in your CRM on company (and company_domain when the ATS provides it); board + ats identify the careers page.
3. Job boards and newsletters: fill a niche board automatically
Fill the board once with "Last 7 days" (below), then schedule the Actor hourly with "Last hour" (or daily with "Last 24 hours") to get only new jobs each time. Run it once a day with Job status = Recently closed to expire jobs that are gone.
{"timeRange": "7d","titleSearch": ["designer*"],"remoteOnly": true,"limit": 200}
4. Labor-market and compensation research
Track hiring by company, function, location or ATS over time; pull jobs with published salary ranges.
{"timeRange": "30d","titleSearch": ["machine learning", "ml engineer", "ai engineer", "data scientist"],"hasSalary": true,"limit": 5000}
5. Watch specific companies
{"timeRange": "all","companies": ["stripe", "openai.com", "databricks"],"limit": 1000}
Sample output
Real rows from the default input (software engineer, US or remote, last 7 days), October 2026 (the full 50-row example dataset: CSV · JSON · Excel):
| Company | Title | Location | Remote | ATS | Posted | Salary |
|---|---|---|---|---|---|---|
| Software Engineer, Agent Optimization & Evaluation | Remote - United States | yes | Greenhouse | 2026-10-19 | ||
| Perplexity | Member of Technical Staff (Software Engineer, Enterprise Agent Evals & Efficiency) | San Francisco | no | Ashby | 2026-10-19 | $220,000-$405,000 |
| Clear Street | Senior / Staff Software Engineer, Mobile | Remote | yes | Greenhouse | 2026-10-18 | |
| Abnormal | Software Engineer 1 - Cloud Infrastructure | Remote - USA | yes | Greenhouse | 2026-10-17 | |
| Airbyte | Senior Software Engineer, Platform Fullstack | San Francisco | yes | Ashby | 2026-10-17 | $196,000-$235,000 |
| TeamSnap | Staff Software Engineer (Android) | Remote | yes | Lever | 2026-10-17 | |
| BILL | Software Engineer II - Growth | United States | no | Greenhouse | 2026-10-17 | |
| Applied | Full-Stack Software Engineer, People Intelligence | Sunnyvale | no | Ashby | 2026-10-17 | $138,000-$208,000 |
Each row as JSON (the Airbyte row above):
{"id": "34bd86369b0f7f7c","title": "Senior Software Engineer, Platform Fullstack","company": "Airbyte","company_domain": null,"ats": "ashby","board": "airbyte","job_id": "735d5deb-ba6e-49b2-88ba-5ebdf8d315a0","requisition_id": null,"department": "Engineering","team": "Engineering","location": "San Francisco","locations": ["San Francisco"],"country": "United States","remote": true,"workplace_type": "hybrid","employment_type": "FULL_TIME","posted_at": "2026-10-17T02:12:12Z","first_seen": "2026-10-18T02:22:18Z","last_seen": "2026-10-19T01:50:06Z","status": "active","closed_at": null,"salary_min": 196000,"salary_max": 235000,"salary_currency": "USD","salary_period": "YEAR","salary_text": "$196K - $235K","job_url": "https://jobs.ashbyhq.com/airbyte/735d5deb-ba6e-49b2-88ba-5ebdf8d315a0","apply_url": "https://jobs.ashbyhq.com/airbyte/735d5deb-ba6e-49b2-88ba-5ebdf8d315a0/application"}
Each run also writes a Run summary (RUN_SUMMARY): how many jobs matched, how many duplicates were removed and when the index was last refreshed.
How it compares
| Fresh Jobs API (this Actor) | LinkedIn / Indeed job scrapers | Single-ATS scrapers (one per Greenhouse, Lever...) | Careers Page Jobs Scraper (our live scraper) | |
|---|---|---|---|---|
| Source | Employers' own ATS boards | Job board listings (reposts, promoted jobs) | One ATS | Employers' own ATS boards |
| Coverage | 17,000+ companies, 9 ATS, searchable all at once | Whatever the board's search returns | Only companies you list, one ATS | Companies you list, 6 ATS |
| Speed | Seconds (pre-built index) | Minutes, proxies, blocks | Minutes | Seconds to minutes per company |
| Find companies you don't know yet | ✅ search by title/location across all companies | ✅ | ❌ | ❌ |
| Full job descriptions | ❌ not yet | ✅ | usually ✅ | ✅ |
| New / closed jobs | ✅ time windows + closed in last 7 days | partial | rarely | ✅ per-company new/closed feed |
| Price | $2.50 / 1,000 jobs | varies | varies | $2 / 1,000 jobs + $0.002 per company |
Use this Actor to discover jobs across thousands of companies by title and location. Use the Careers Page Jobs Scraper when you already know the companies and need full descriptions.
Pricing (pay per event)
| Event | Price |
|---|---|
| Job returned (row in the dataset) | $0.0025 (= $2.50 per 1,000 jobs) |
| Actor start | $0.00005 (Apify's standard start event) |
Examples: the default input (50 jobs) = $0.13. 100 new jobs a day for a month = 3,000 jobs = $7.50/month. A one-off pull of 5,000 jobs = $12.50. Platform usage is tiny because no scraping happens during your run.
Coverage and freshness
| ATS | Verified boards | Open jobs |
|---|---|---|
| Workday | 2,213 | 725,218 |
| Greenhouse | 6,556 | 199,487 |
| Lever | 2,152 | 73,927 |
| Ashby | 3,692 | 59,842 |
| Workable | 2,914 | 59,778 |
| SmartRecruiters | 31 | 21,141 |
| Recruitee | 1,032 | 17,847 |
| Personio | 847 | 9,370 |
| Rippling | 844 | 8,372 |
| Total | 20,281 | 1,174,982 |
- Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio and Rippling are refreshed every 1 hour; Workday is refreshed once a day. A new job reaches the index at the next refresh, and
first_seenrecords when we first saw it. TheRUN_SUMMARYrecord of every run shows the exact time of the last refresh. - When the ATS publishes an exact posting time (Greenhouse, Lever, Ashby, SmartRecruiters and others), Posted within uses it.
- When a company is first added to the index, its existing jobs are not counted as "new": for those, time filters use the date the company posted them.
- Closed jobs stay in the index for 7 days with
status: "closed"andclosed_at. - Company boards are discovered from public sources (the Common Crawl URL index, public ATS directories, startup directories and public job lists) and each one is verified against the ATS's public job-board API. New boards are added over time. Missing a company? Use the Careers Page Jobs Scraper with its careers URL, or tell us in the Issues tab.
FAQ
How fresh is the data?
All ATS platforms except Workday are re-checked every hour; Workday once a day. Each run's RUN_SUMMARY shows when the index was last refreshed, so you never have to guess.
How do I get only new jobs since my last run?
Schedule the Actor with a matching window: hourly + "Last hour", or daily + "Last 24 hours". Dedupe on id in your own system to be safe.
How do I remove jobs that were filled or taken down?
Run with Job status = Recently closed jobs and a time window; you get every job that disappeared from its company's board, with closed_at.
Is this a LinkedIn jobs alternative? For most hiring at tech, startup and mid-to-large companies, yes: those companies publish their jobs on their own ATS first, and the apply link goes straight to the employer. It does not include jobs that exist only on LinkedIn or Indeed, or companies on ATS platforms we don't cover yet (for example iCIMS, Taleo or SuccessFactors).
Do you have job descriptions? Not yet. Keywords match the title, department, team and company name. For full descriptions of specific companies, use the Careers Page Jobs Scraper.
Are there agency or reposted jobs? Rows come from companies' own ATS boards, not from job boards. A few recruiting firms and job aggregators also run ATS boards. The best-known ones (Jobgether, AO Garcia Agency, Bjakcareer, Pavago...) are skipped by default (Exclude job aggregators); drop any others with Exclude companies.
Is it legal? The index only contains job postings that companies publish through their ATS's public job-board endpoints, the same data their careers pages show to everyone. No logins, no personal data about applicants or recruiters.
Can I use it from code, Make, Zapier, n8n, Clay or an AI agent? Yes. Every Apify Actor has an API, client libraries for JavaScript and Python, integrations, and works through the Apify MCP server.
How many jobs can I get per run? Up to 5,000. For more, split by time window, title, location or ATS.
Limitations
- No full job descriptions yet (see above).
- Up to 5,000 jobs per run.
- Location matching is text matching on what the company wrote (
US,USA,United Statesand city names vary), so add the variants you care about.Remotealso matches jobs the ATS flags as remote. - Salary is only present when the ATS publishes it as structured data.
- Rippling boards don't publish a posting date, so their jobs that were already open when we added the company only show up with Posted within = Any time; jobs they post later are dated by when we first see them.
Related Actors
- Careers Page Jobs Scraper: Greenhouse, Lever, Workday, Ashby: live scrape of the companies you choose, with full descriptions, salary extraction and a daily new/closed jobs feed.
- Hiring Signals API: Companies Hiring Now: one row per hiring company with new jobs by function and seniority, for sales and recruiting lead lists.
- Remote Jobs API: Remote Jobs by Region: remote-only jobs filtered by where you can work from (US, Canada, Europe, LATAM, anywhere), with function, seniority and salary filters.
Data attribution: part of the board discovery uses the LastRound AI ATS Company Directory (CC BY 4.0).
Questions or a missing feature? Open an issue on the Actor's Issues tab.