Job Postings & Hiring Signals avatar

Job Postings & Hiring Signals

Pricing

$3.00 / 1,000 job postings

Go to Apify Store
Job Postings & Hiring Signals

Job Postings & Hiring Signals

Every open role at any company, across Greenhouse, Ashby, Lever, SmartRecruiters and Workable — one schema, with normalised function and seniority, country resolved from the city, and days each role has been open.

Pricing

$3.00 / 1,000 job postings

Rating

0.0

(0)

Developer

Tom Awake

Tom Awake

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Every open role at any company — across the five applicant tracking systems that publish their job boards openly, in one schema.

A company publishes its openings on Greenhouse, Ashby, Lever, SmartRecruiters or Workable. Each exposes a public board, and each does it in a completely different shape: the title is title in one and text in another, the date is an ISO string here and a millisecond timestamp there, the location is a plain string in one and a six-field object in the next.

And nobody knows off-hand which system a given company uses.

No API key. No account.


Genuinely international, by construction

This is not a US dataset with a few foreign rows. Measured on a single run across 8 companies — 1,805 postings, 103 countries, 183 cities:

CountryPostings
United Kingdom212
United States185
Singapore141
Australia140
Malaysia116
Indonesia87
Ireland65
Vietnam58
India56
Germany43

A company in Tokyo, Berlin, São Paulo or Kuala Lumpur publishes in the same five places as one in San Francisco. One Actor reaches all of them — which covers more of the world than a separate scraper per country ever would.


The five things this does that the sources do not

1. It works out which system a company uses.

You supply a company identifier; the Actor tries all five boards and keeps whichever answers. Measured on 36 well-known companies: 75% detected, 7,550 postings. The rest run Workday, SuccessFactors or their own site, and are reported as not found rather than silently skipped.

2. One schema for five incompatible structures.

Same columns whichever board a role came from, with ats recording the origin so nothing is hidden.

3. Days each role has been open.

The hiring signal. A role open for six months is one the company cannot fill — a real, persistent need. No source gives this; they give a date. Measured: median 36 days, but 19% have been open more than 90 days, and the longest in the sample was 1,059 days.

4. Normalised function and seniority.

Greenhouse returns 8611 Security Analytics, internal cost-centre codes included. SmartRecruiters already returns Engineering. All five are mapped onto one vocabulary, and department codes are stripped.

Seniority is read from the title when the source does not give it. Manager is kept separate from Staff — they are two different career tracks, and merging them put 28% of a sample into "Staff".

5. Country resolved from the city.

Greenhouse often returns Bengaluru with no country at all, which left country empty on a quarter of rows and made country filtering useless. Cities are resolved against a table covering every continent, and country names are normalised so US and United States stop counting as two countries. Coverage: 74.3% → 90.5%.


Field coverage

Measured on 1,805 postings from 8 companies across all five systems.

FieldCoverage
company, title, jobId, location, city100%
function, seniority, daysOpen, publishedAt100%
jobUrl, applyUrl100%
country90.5%
requisitionId76.5%
department62.6%
description61.9%
employmentType60.6%
countryCode37.4%

description and countryCode are only carried by some of the five systems; they are left empty rather than filled with a guess.


What it is for

  • B2B prospecting. A company hiring twelve backend engineers is buying infrastructure. Hiring sales reps means it is expanding. The postings say so before any announcement does.
  • Market entry timing. country and city across a competitor's whole board show where they are opening, quarter by quarter.
  • Recruitment. Roles open past 90 days are the ones agencies get called about.
  • Competitive intelligence. Team names and departments reveal an org chart the company never published.
  • Compensation and talent research. Function and seniority are comparable across companies and countries.

Three dataset views ship with the Actor: Postings, Hard-to-fill roles and Global footprint.


Limits

Stated plainly, because they affect what you can conclude.

  • Roughly a quarter of companies are not reachable. Workday, SuccessFactors, Taleo and bespoke career sites are not covered. The status message names the companies that were not found, so an empty result is never mistaken for "not hiring".
  • You supply the identifier, not the company name. It is the slug in the careers URL — stripe in boards.greenhouse.io/stripe. Pasting the full URL works. A company name that is not the slug will not resolve.
  • daysOpen is time since first published, not time unfilled. Some boards re-publish a role rather than update it, which resets the clock; others leave evergreen listings open permanently. Treat a very old date as "long-running requisition", not as a precise vacancy duration.
  • Function and seniority are inferred. They are good enough to segment thousands of rows, not to adjudicate a single one. A title like "Risk Operations Associate" under a "User Policy Operations" department is a genuine judgement call.
  • The city table covers where qualified hiring concentrates, not every town. An unlisted city leaves country empty rather than guessed.
  • A posting is not a hire. Boards carry cancelled, evergreen and pipeline roles. Volume is a signal of intent, not of headcount.
  • Public boards only. Confidential and internal-only roles never appear, by design.

Sources

Public job board APIs of Greenhouse, Ashby, Lever, SmartRecruiters and Workable — the same endpoints that power the careers pages companies publish deliberately. No authentication. This Actor is not affiliated with any of them.