Home › Guides › Job Postings Database
Job Postings Database: one query across seven ATS platforms, live-verified
Most job data is a scrape of one aggregator or a snapshot that was fresh yesterday. The Job Postings Database searches company career sites directly — the boards employers publish on seven applicant tracking systems — and re-reads the source before it hands you a row. A role filled this morning is not in your output. 445,722 open roles across 32,997 indexed boards (measured 2026-10-20), rebuilt daily, one query across all of them. No keys, no dead links.
Who it's for
- Job boards and feeds that must not show dead links.
- Sales and recruiting teams acting on a hiring signal ("this company is hiring three DevOps engineers").
- Market researchers studying titles, locations, remote share and departments across tens of thousands of employers.
- AI agents that ask one query and never need to know which ATS a company uses.
What you get
| Field | What it is (18 columns, always the same) |
|---|---|
jobId / ats / companyName / companyBoard | Role id, platform, employer name (93%) and board id (the join key) |
jobTitle / department / location / isRemote / employmentType | Title (100%), department (53%), location (100%), remote flag, type (53%) |
postedAt / updatedAt / description | Dates (null where source publishes none), full text (100%, ~6,500 chars) |
applyUrl / verified / verifiedAt / indexedAt / stale | Apply link (100%), live-verification flags and timestamps |
Index composition (2026-10-20): greenhouse 185,617 · lever 70,317 · ashby 59,405 · smartrecruiters 49,921 · bamboohr 42,023 · personio 22,373 · teamtailor 16,066.
Input
| Input | What it does |
|---|---|
titles · titleMode | Words/phrases to match in the title · match any entry or every entry |
locations · remote · departments · companies | Location text · any/only/exclude · department text · a named employer list |
postedAfter · postedBefore · ats | A date or number of days · a date · limit to certain platforms |
maxResults · maxPerCompany · verifyLive · includeStale | Rows to deliver (default 200) · cap per employer · re-read before delivery (default on) · include carried-over roles |
{ "titles": ["backend engineer", "devops"], "locations": ["Berlin"], "maxResults": 200 }
Honest limits
- Employer boards, not aggregators — for Indeed or LinkedIn listings use the aggregator scrapers; Workday isn't in this version.
- Personio and BambooHR publish no posting date — those rows carry
nullrather than a guessed date, and a date filter sets them aside and reports the count. companyNameis 93% (Lever and BambooHR boards publish no company name; the board id is incompanyBoard);departmentandemploymentTypeare ~53% because employers fill them in about half the time — never invented.- A missing company may use an ATS outside the seven, or a board unreadable during the last refresh — pass it in
companiesto check.
Pricing
Pay per event: $0.002 per delivered job posting, plus the standard Actor start event. Roles that turned out closed are not delivered and not charged; status rows (an empty result, an input error) are free. A 200-role run costs $0.40. Current prices are on the actor's Pricing tab on Apify.
One hiring query, zero dead links: 445k+ roles across seven ATSs, each verified live before delivery. Exportable to JSON, CSV or Excel.
Open the Job Postings Database →Related
To read one platform in depth use the BambooHR Careers Scraper or the Workable Job Board Scraper (Workable isn't in this index yet); for Indeed's salary and employer rating, the Indeed Jobs Scraper; and for Google's panel, the Google Jobs Scraper.
Frequently asked questions
Which platforms are covered?
Greenhouse, Lever, Ashby, SmartRecruiters, Teamtailor, Personio and BambooHR — 32,997 indexed company boards, 445,722 open roles measured on the full refresh of 2026-10-20. Workday is not in this version.
How fresh is the data?
The index is rebuilt daily (a full refresh takes about 14 minutes), and every delivered role is re-read against the employer's board at query time. indexedAt tells you when the index was built, verifiedAt when the role was last confirmed open.
What does verified: false mean?
The employer's board could not be read at that moment (a timeout, or a page instead of data). The role is delivered anyway — an unreadable board is not proof the job closed — but it is flagged so you can decide. Closed roles are dropped and never charged.
How fast is a query?
Measured on the full 445,722-row index: a title+location query scanned the whole index, matched 45 roles and verified every one against its board in 11.8 seconds.
Do I need an API key for the sources?
No. All seven are public employer job boards — three of them documented public APIs (Greenhouse, Lever, Ashby). No login is used and no applicant data is touched.
Using the data lawfully
The Actor reads public job boards that employers publish to attract applicants; three sources are documented public APIs. No login is used, no applicant data is touched. Job postings are business information, not personal data — you are responsible for how you use the output in your jurisdiction. The ATS names are trademarks of their owners; this Actor is not affiliated with them.
Job Postings Database — 445k+ live-verified roles across seven ATSs in one query. Pay per role, no keys.
Get live job data on Apify →