Hiring Signal Monitor: Greenhouse, Lever & Ashby Jobs
Pricing
from $4.00 / 1,000 results
Hiring Signal Monitor: Greenhouse, Lever & Ashby Jobs
Company hiring signals from public Greenhouse, Lever and Ashby job boards: open roles, new roles, hiring velocity and growing departments. No login, no personal data.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Openwell Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Track which companies are hiring, in which departments, and how fast, straight from the public job boards of Greenhouse, Lever and Ashby. Give it a list of company board tokens or careers URLs and get a clean dataset of open roles plus one hiring signal per company: open roles, new roles in the last 7, 30 and 90 days, a hiring-trend rating, remote share and the departments that are growing.
No login, no API key, no browser. It reads the same public job-board APIs that companies use to power their own careers pages. It outputs company-level facts only: job title, department, location, remote flag, posted date, posting URL. It never outputs recruiter or hiring-manager names or emails, candidate data or job-description text.
Who uses hiring signals
- Sales and business development teams who use "company is hiring for X" as a buying trigger (a company adding five security engineers is about to buy security tools).
- Recruiters and staffing agencies who want to see which companies are expanding and where.
- Investors, analysts and competitive-intelligence teams who track headcount growth and strategy shifts by department.
- Job seekers and career coaches who want a watchlist of target companies.
What you get: job postings and company hiring signals as JSON, CSV or Excel
Company signal (one row per company):
{"type": "company-signal","provider": "greenhouse","companyToken": "example","companyName": "Example Inc","openRoles": 84,"newRoles7d": 9,"newRoles30d": 21,"hiringTrend": "accelerating","remoteShare": 0.32,"topDepartments": [{ "department": "Engineering", "openRoles": 30, "newRoles30d": 8 }],"departmentsGrowing": [{ "department": "Sales", "openRoles": 12, "newRoles30d": 6, "newShare": 0.5 }],"sinceLastRun": { "newRoles": 4, "closedRoles": 1, "netChange": 3, "departmentChanges": [{ "department": "Sales", "change": 2 }] }}
Job posting (one row per open role):
{"type": "job-posting","provider": "ashby","companyName": "Example Inc","jobId": "7458d4e9-...","title": "Senior Backend Engineer","department": "Engineering","team": "Platform","location": "Remote - European Union","remote": true,"employmentType": "FullTime","postedAt": "2026-09-24T14:29:08.000Z","url": "https://jobs.ashbyhq.com/example/7458d4e9-...","changeStatus": "new"}
sinceLastRun and changeStatus appear when you use a watchlist name (see below). hiringTrend is accelerating, steady, slowing or insufficient_data.
How to monitor company hiring and job postings
- Add companies to Companies. Use a provider prefix and board token (
greenhouse:stripe,lever:palantir,ashby:ashby,lever-eu:name) or paste a careers URL such ashttps://boards.greenhouse.io/stripe,https://jobs.lever.co/palantirorhttps://jobs.ashbyhq.com/ashby. Up to 50 per run. - Choose What to output: company signals only (cheapest way to compare many companies), job postings only, or both.
- Narrow postings with title keywords, departments, locations, remote only and posted within (days). Filters apply to postings; signals always describe the whole board.
- Set Maximum job postings as your cost cap (newest first).
- Give the run a watchlist name and tick Only new postings to get only roles that appeared since the last run, plus the number of closed roles and department changes. Put it on a daily or weekly Schedule.
Find a company's board token in its careers URL: boards.greenhouse.io/TOKEN, jobs.lever.co/TOKEN or jobs.ashbyhq.com/TOKEN.
Job posting alerts for sales triggers
To turn this into a buying-trigger feed: list your target accounts, filter departments (for example Security, Data) or title keywords (Kubernetes, SOC 2), name the watchlist and schedule it daily. Send the new rows to Slack, a Google Sheet, your CRM or a webhook.
Pricing (pay per event)
Planned prices: $0.004 per job posting and $0.03 per company signal, plus a tiny start fee. You pay only for rows delivered, and Maximum job postings plus the run's maximum-cost setting stop spending at your limit.
What $0.03 buys: one company hiring signal: open roles, new roles over 7/30/90 days, a hiring-trend rating, remote share, top and growing departments and, with a watchlist, the change since your last run. What $0.004 buys: one open role with title, department, location, remote flag, posted date and the direct posting URL.
Examples: signals for 20 companies cost $0.60. Checking 10 companies daily for new roles, with about 8 new postings a day, costs about $0.03 a day.
Use with AI agents and the API
Every run is a plain Apify Actor, so anything that can call the Apify API can use it.
- REST API. Run and fetch results in one call (replace
YOUR_TOKEN):
curl -X POST "https://api.apify.com/v2/acts/hiring-signal-monitor/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"companies":["greenhouse:stripe","ashby:ashby"],"outputMode":"signals"}'
(Use the Actor's full username~actor-name ID from its API tab if the short name does not resolve.)
- MCP (Model Context Protocol). Apify's MCP server (
https://mcp.apify.com) exposes Store Actors as tools, so Claude, Cursor and other MCP clients can ask "which of these companies is hiring the most engineers this month?". Add this Actor with theactorsURL parameter (https://mcp.apify.com?actors=USERNAME/hiring-signal-monitor) and give the agent your Apify token. Maximum job postings keeps an agent's spend bounded. - Scheduled runs and webhooks. Create a Schedule in Apify Console (daily or weekly), set a webhook on the run's success event and push the dataset to Slack, email or your database. With a watchlist name each run reports only what changed.
Frequently asked questions
Is this a job scraper? It does the job of one but does not scrape web pages. It calls the public job-board APIs that Greenhouse, Lever and Ashby offer for companies' own careers sites, and keeps only structured fields.
Which applicant tracking systems (ATS) are supported? Greenhouse (boards-api), Lever (postings API, global and EU) and Ashby (public job-posting API).
Do I need an API key or login? No. Board data is public.
How do I find a company's board token? Open the company's careers page. If the job links point to boards.greenhouse.io/acme, jobs.lever.co/acme or jobs.ashbyhq.com/acme, the token is acme. You can also paste the URL.
What is the "hiring trend"? New roles in the last 7 days compared with the weekly average of the 30 days before. It is this tool's own heuristic, not a provider field.
Can I see closed roles? With a watchlist name, each run reports how many roles closed since the previous run. Without one, only currently open roles exist.
Are recruiter names, emails or candidate data included? No. Job descriptions are not read into the output, and any email address or phone number in a title, department or location is replaced with a placeholder.
How fresh is the data? Live at run time. Each company is fetched once per run.
Can I export to CSV or Excel? Yes, any Apify dataset downloads as JSON, CSV, Excel, XML or HTML.
How much does it cost? See Pricing: $0.004 per job posting and $0.03 per company signal.
Important limitations
- Only companies on Greenhouse, Lever or Ashby. Workday, iCIMS, SmartRecruiters, LinkedIn and other systems are not covered.
- Only currently open, public roles. Posting dates come from the provider for roles still open, so the 30 and 90 day counts undercount roles already filled. Lever reports a created date, Greenhouse the first-published date and Ashby the published date; some boards leave dates out (
rolesWithoutDate). - Departments come from each company's own setup. Lever boards without departments use the team; Greenhouse departments come from the departments endpoint.
- Remote flags are the provider's workplace type where given, otherwise a "remote" mention in the location.
- Signals are heuristics for research, not hiring plans. Verify on the company's careers page before acting.
Data sources and terms
Data: the public, unauthenticated job-board APIs published by Greenhouse (boards-api.greenhouse.io), Lever (api.lever.co, api.eu.lever.co) and Ashby (api.ashbyhq.com/posting-api), which return the postings each company chose to publish. Requests are paced at one per second, sent with a declared User-Agent, and each company is fetched once per run. The Actor is an independent tool and is not affiliated with or endorsed by Greenhouse, Lever, Ashby or any listed company. Job postings belong to the hiring companies; the Actor delivers factual fields and the public posting link, not the posting text.
Privacy
Company-level data only. No candidate, recruiter or hiring-manager data is collected or output; free-text fields are redacted for emails and phone numbers. No data is sent to third parties and no AI is used at run time.
Support
Issues and feature requests go through the Actor's Issues tab. Contact: claudefarmceo@gmail.com. Support is AI-assisted, on behalf of the publisher.
Technical notes
Node.js 22, Apify SDK 3, no browser, 256 MB. Set the optional CONTACT_EMAIL environment variable to add a publisher contact to the User-Agent. Run locally: npm install, put your input in storage/key_value_stores/default/INPUT.json, then npm start. Tests: npm test.
For the publisher (pricing setup). In the Console, define apify-default-dataset-item at $0.004 (every row, postings and signals). To bill $0.03 per company signal, also define an event named exactly company-signal at $0.026: the Actor then pushes signal rows with that event, and the platform charges the result fee and the extra fee together ($0.03). If only apify-default-dataset-item is defined, everything still works and each signal costs the same as a posting.