Job Posting Drift Monitor
Pricing
Pay per usage
Job Posting Drift Monitor
Monitor public Greenhouse, Lever, and Ashby career boards and detect job-posting drift: new roles, removed roles, title/department/location changes, and description hash changes.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Stephen Coulson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
What does Job Posting Drift Monitor do?
Job Posting Drift Monitor turns public company job boards into structured hiring-signal data. Give it Greenhouse, Lever, or Ashby board slugs and it returns clean rows showing which companies are hiring for which functions, where, when, and with what signal strength.
Use it for B2B sales, recruiting, market intelligence, portfolio monitoring, and competitor tracking. It runs on Apify, so you can schedule it, call it by API, export results to CSV/Excel/JSON, and connect it to tools like Google Sheets, Zapier, Make, and your CRM.
Why use Job Posting Drift Monitor?
Hiring is one of the clearest public signals that a company is growing, entering a new market, investing in a function, or feeling operational pressure.
This Actor helps you answer questions like:
- Which target accounts are hiring sales, operations, finance, facilities, or growth roles?
- Which competitors are expanding in a geography?
- Which portfolio companies are increasing or reducing hiring intensity?
- Which job posts suggest budget, new initiatives, or procurement opportunities?
Unlike LinkedIn scraping, this Actor focuses on public career-board JSON endpoints. No cookies, login, or personal enrichment are required.
How to use Job Posting Drift Monitor
- Open the Actor on Apify.
- Add one or more companies in the input field.
- Choose the provider:
greenhouse,lever, orashby. - Add the public board slug, for example
stripefor Greenhouse. - Optionally add keywords such as
sales,operations,finance, orfacilities. - Run the Actor.
- Download the dataset in JSON, CSV, Excel, HTML, or XML, or connect it to an integration.
Input
Example input:
{"companies": [{ "name": "Stripe", "provider": "greenhouse", "slug": "stripe", "domain": "stripe.com" },{ "name": "ExampleCo", "provider": "ashby", "slug": "exampleco", "domain": "example.com" }],"keywords": ["sales", "operations", "finance", "growth", "facilities"],"maxJobsPerCompany": 200,"minScore": 0}
Input fields
| Field | Description |
|---|---|
companies | List of public career boards to scan. Each item needs provider and slug. |
provider | Supported values: greenhouse, lever, ashby. |
slug | Public board slug used by the provider. |
domain | Optional company domain for CRM-friendly output. |
keywords | Terms used to tag and score roles. |
maxJobsPerCompany | Safety cap per company board. |
minScore | Emit only roles scoring at least this value. |
Output
The Actor outputs one row per job.
{"company": "Stripe","domain": "stripe.com","provider": "greenhouse","board_slug": "stripe","job_id": "7954688","title": "Account Executive, AI Sales","department": "AI GTM Strategy & Solutions","location": "London","posted_date": "2026-06-26T17:05:44-04:00","seniority": "senior","keywords_matched": ["sales", "growth"],"hiring_signal_score": 65,"source_url": "https://stripe.com/jobs/search?gh_jid=7954688","detected_at": "2026-07-04T01:18:25Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Meaning |
|---|---|
company | Company name supplied in input. |
domain | Company domain supplied in input. |
provider | Career-board provider. |
title | Job title. |
department | Department/team if available. |
location | Job location if available. |
posted_date | Provider timestamp if available. |
seniority | Simple seniority bucket inferred from title. |
keywords_matched | Input keywords found in the job text. |
hiring_signal_score | 0-100 signal score based on keyword matches, seniority, and data richness. |
source_url | Public job URL. |
Pricing and cost estimation
This Actor is lightweight. It uses public JSON endpoints and does not launch a browser, use proxies, or perform authenticated scraping.
Typical runs should be inexpensive. Your final Apify cost depends mainly on:
- number of companies scanned;
- number of jobs per company;
- run frequency;
- selected memory and timeout settings.
Start with 10-25 companies, inspect results, then scale.
Tips and advanced options
- Use
minScoreto filter to stronger buying or expansion signals. - Use narrow keyword lists for better signal quality, e.g.
facilities,property,operationsfor FM/property suppliers. - Schedule weekly runs to monitor changes over time.
- Export to CSV for CRM import or connect the dataset through Apify integrations.
FAQ, disclaimers, and support
Does this scrape LinkedIn? No. It intentionally avoids LinkedIn, cookies, and authenticated pages.
Which providers are supported? Greenhouse, Lever, and Ashby public job boards.
Can you add another ATS provider? Yes. Open an issue with the provider name and example public board URLs.
Is this legal? This Actor reads public career-board endpoints. You are responsible for using the data in accordance with applicable laws, website terms, and privacy obligations.
For bugs, feature requests, or custom versions, use the Issues tab on Apify.