Hiring Signals & Salary Data from Greenhouse, Lever, Ashby avatar

Hiring Signals & Salary Data from Greenhouse, Lever, Ashby

Pricing

from $10.00 / 1,000 company signal rows

Go to Apify Store
Hiring Signals & Salary Data from Greenhouse, Lever, Ashby

Hiring Signals & Salary Data from Greenhouse, Lever, Ashby

Hiring velocity, open roles and advertised pay for companies on Greenhouse, Ashby and Lever, tracked daily since Nov 2026. Input a domain, name or careers URL; get one row per company: open jobs, change over time, growing departments, new locations, pay medians.

Pricing

from $10.00 / 1,000 company signal rows

Rating

0.0

(0)

Developer

Signalloom

Signalloom

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Features

Limited permissions

Share

Signalloom Hiring Intelligence. One row per company: open roles, hiring velocity, growing departments, new locations and advertised pay ranges. Give it a domain (okta.com), a company name, a careers page or a job-board URL. For companies in our daily-tracked panel, rows carry history and trends; for any other company with a public Greenhouse, Ashby or Lever board, you get a live snapshot.

  • Hiring velocity from our own history: we record every tracked company's job board every day, so the change in open roles, the jobs added and removed, and which departments grew all come from real daily snapshots, not guesses.
  • Salary data: the company's advertised pay median, p25 and p75 (USD), by role family, plus a pay-benchmark mode with medians by role family, seniority and US state.
  • One row per company, flat fields: built for Clay, n8n, Make, Google Sheets and AI agents. Each array also comes as a joined text column (topDepartmentsText), and every row has a one-sentence summary.
  • Fast: lookups take about a second. The 3-company example finishes in about 2 seconds of run time.

Price: $0.01 per company row (company and discover modes), $0.02 per pay-benchmark cell, and $0.002 per job only if you turn on Include open jobs. Rows for companies that can't be found are free.

Use this when…

  • you want hiring signals for a list of accounts: who is growing, which teams, where
  • you need company job growth (open roles and their change over time) from a domain or company name
  • you want salary data from real job postings: what a company advertises, or the market median for a role and state
  • you're enriching a CRM or Clay table with open jobs, growing departments and pay per company
  • an AI agent needs a one-line, factual hiring summary for a company

Recipes

  • Sales (SDR/AE): run your target accounts weekly; keep rows where hiringTrend is surging or growing, or where fastestGrowingDepartment matches what you sell into. Send summary to Slack.
  • RevOps and agencies: enrich a company list with openJobs, openJobsChange30d, topDepartmentsText, payMedianUsd and summary.
  • Recruiting and HR: use pay-benchmark mode monthly for your roles and states; use discover mode to find companies hiring in your niche.

Modes and input

ModeWhat you giveWhat you get
company (default)companies: domains, names, careers URLs, board URLs or greenhouse:slug / ashby:slug / lever:slugexactly one row per company
discoverdepartmentKeywords, locationContains, minOpenJobs, trend, maxCompanies (default 50)tracked companies matching the filters, fastest-growing first
pay-benchmarkroleFamily, seniority, region (US, US-CA, US-remote, GB…), maxCells (default 20)p25 / median / p75 pay cells

historyWeeks (default 12) sets how many weekly counts openJobsWeekly holds. includeJobs adds each company's current open jobs as separate rows.

How companies are matched (matchedBy): board-url (you gave the board), directory (our panel or our directory of 8,150 public boards, by domain or name), careers-page (a job-board link on the company's own careers page, with its robots.txt respected) or name-guess (the domain or name tried as a board name). Check matchedBy and boardUrl when a name is ambiguous.

Output

Company row (real record from a run on 2026-11-13, arrays shortened):

{
"recordType": "company",
"input": "okta.com",
"matchedBy": "directory",
"platform": "greenhouse",
"boardSlug": "okta",
"companyName": "Okta",
"boardUrl": "https://job-boards.greenhouse.io/okta",
"domain": "okta.com",
"coverage": "daily-panel",
"trackedSince": "2026-11-11",
"daysTracked": 2,
"asOf": "2026-11-12",
"openJobs": 373,
"openJobsChange7d": null,
"openJobsChange30d": null,
"openJobsChange90d": null,
"openJobsChangeSinceStart": -6,
"jobsAddedSinceStart": 7,
"jobsRemovedSinceStart": 17,
"trendWindowDays": 1,
"hiringTrend": "steady",
"growthPercentile": 20,
"topDepartments": [
{ "department": "SW Eng - Applications-674", "openJobs": 48, "change30d": null },
{ "department": "Enterprise Sales-340", "openJobs": 26, "change30d": null }
],
"fastestGrowingDepartment": "SW Eng - Applications-674",
"topLocations": [
{ "location": "Bengaluru, India", "openJobs": 101 },
{ "location": "Toronto, Ontario, Canada", "openJobs": 50 }
],
"remoteShare": 0,
"payTransparencyShare": 0.61,
"payMedianUsd": 210750,
"payP25Usd": 176938,
"payP75Usd": 260000,
"payPostingsUsd": 138,
"payByRoleFamily": [
{ "family": "engineering", "postings": 37, "median": 218500 },
{ "family": "sales", "postings": 31, "median": 309000 }
],
"sampleNewTitles": ["Alliance Partnership Manager", "Principal Software Engineer in Test"],
"openJobsWeekly": [{ "weekEnding": "2026-11-12", "openJobs": 373 }],
"summary": "Okta: 373 open roles, -6 since tracking began on 2026-11-11, mostly SW Eng - Applications-674 in Bengaluru, India; trend steady (1-day window)."
}

A company outside the panel gets coverage: "live-only": current open jobs, departments, locations, remote share and pay (Ashby and Lever publish it in structured form), with every change field null:

{
"input": "linear.app", "matchedBy": "directory", "platform": "ashby", "companyName": "Linear",
"coverage": "live-only", "openJobs": 33, "openJobsChange30d": null, "hiringTrend": null,
"topDepartmentsText": "GTM (18); Product (13); Operations (2)", "remoteShare": 0.91,
"payTransparencyShare": 0.39, "payMedianUsd": 209500,
"summary": "Linear: 33 open roles, live snapshot, no history yet, mostly GTM in North America."
}

Pay-benchmark cell (real record):

{
"recordType": "pay-benchmark", "roleFamily": "engineering", "seniority": "senior", "region": "US", "currency": "USD",
"postings": 572, "companies": 130, "p25": 155000, "median": 176250, "p75": 200000,
"weeklyMedian": [{ "weekEnding": "2026-11-15", "median": 176250 }], "asOf": "2026-11-12",
"summary": "engineering senior in US: median USD 176,250 (p25 155,000, p75 200,000) from 572 postings at 130 companies."
}

hiringTrend compares open roles now with 30 days ago (or with the first day of tracking, when that's more recent): surging (+20% and at least +3 roles), growing (+5%), steady, slowing (-5%), freezing (-25% and at least -3 roles, or no open roles left). trendWindowDays says how many days it covers.

Use in Clay

  1. In your Clay table, add an enrichment column and pick Run Apify Actor (Clay's built-in Apify integration; you connect your own Apify account).
  2. Choose Hiring Signals (signalloom/hiring-signals).
  3. Set the input to {"companies": [/Domain], "mode": "company"}, with your Domain column token in place of /Domain, unquoted.
  4. Run it on 50–100 rows at a time. Each row returns exactly one item; map summary, openJobs, openJobsChange30d, hiringTrend, topDepartmentsText and payMedianUsd to columns.

n8n, Make and Zapier

  • n8n: use the official Apify node, Run an Actor and get dataset, with Actor signalloom/hiring-signals. Typical flow: Schedule (Monday) → Google Sheets (accounts) → Hiring Signals → filter hiringTrend → Slack.
  • Make: the Apify app's Run an Actor module (synchronous) → map the fields back to your sheet or CRM row.
  • Zapier: use Apify's Zapier app to run the Actor with the same input JSON, then fetch the run's dataset items.

Coverage (2026-11-13)

CompaniesPlatformsHistory
Daily panel500 (300 Greenhouse, 175 Ashby, 25 Lever)job boards with 10–500 open roles; staffing agencies and aggregators excludeddaily since 2026-11-11; pay since 2026-11-12
Live lookupsany public board; our directory lists 8,150 (4,771 Greenhouse, 3,166 Ashby, 213 Lever)Greenhouse, Ashby, Levercurrent snapshot only
Pay306 panel companies with at least 3 USD postings with pay; 262 benchmark cells

Limitations

  • Trends need history; we started tracking on 2026-11-11. 7-day fields fill in from about 2026-11-18, 30-day fields from about 2026-12-11, 90-day fields from about 2027-02-09. Until then they are null, never estimated. openJobsChangeSinceStart shows what we have so far.
  • Panel data is refreshed once a day, so asOf can be a day behind the live board.
  • Pay is the advertised range (midpoint, annualized), not actual pay. Company pay figures need at least 3 USD postings; benchmark cells need at least 10 postings from at least 5 companies. OTE and total-compensation ranges are excluded.
  • Department names are the company's own (Greenhouse departments sometimes carry cost-centre codes).
  • Live lookups cover Greenhouse, Ashby and Lever. Workday and other systems aren't covered yet.

Data handling

  • Sources: the documented public job-board APIs of Greenhouse (Job Board API), Ashby (Job Postings API) and Lever (Postings API), and companies' own careers pages, read only when their robots.txt allows it. No logins, no browser, no proxies.
  • Output: companies, job titles, departments, locations and published pay only. No names of recruiters or employees, no emails, no phone numbers, no job-description text.
  • Not affiliated with or endorsed by Greenhouse, Ashby or Lever.

Company Jobs Feed returns every individual job (8 hiring platforms, with new-job alerts), at $2 per 1,000 jobs.

Feedback

Missing a company, or a match looks wrong? Open an issue on the Issues tab.