Career Page Job Monitor - Track Company Hiring avatar

Career Page Job Monitor - Track Company Hiring

Pricing

from $7.00 / 1,000 career pages

Go to Apify Store
Career Page Job Monitor - Track Company Hiring

Career Page Job Monitor - Track Company Hiring

Watch the companies you choose and get what changed: NEW, CHANGED and CLOSED roles from their Greenhouse and Lever job boards. Hiring signal tracking for recruiters, sales and competitive intelligence. 26 fields per job. Charged per company, not per job.

Pricing

from $7.00 / 1,000 career pages

Rating

0.0

(0)

Developer

Midnight Static

Midnight Static

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Career Page Job Monitor

Give it the companies you care about. It reads their Greenhouse and Lever career pages and tells you what changed since last time: which roles are new, which were edited, which disappeared.

Four things that are different here

1. It returns a diff, not a firehose. Every job carries a changeStatus: NEW, CHANGED, CLOSED or UNCHANGED. The second run on an unchanged board reports zero new roles — and costs the same as the first, because you pay per company, not per row. Most job APIs hand you the same 600 rows every morning and let you work out what moved.

2. You pay per company, not per job. $0.01 per company checked. A company with 600 open roles costs the same as one with 3. A company that cannot be reached, does not exist, or is blocked by robots.txt is reported in the run statistics and costs nothing.

3. CLOSED is a first-class result. A role vanishing is often the signal you actually wanted: the seat got filled, the req got cut, the team stopped growing. Jobs that were open last run and are gone now come back as CLOSED rows. Nothing else has to remember for you.

4. The coverage list is short on purpose, and the reasons are published. Two ATS platforms are supported: Greenhouse and Lever. Two more were tested and rejected — see Limits and compliance. Naming what is missing is more useful than a long list that quietly returns nothing.

What you get

The role Job id, title, company, company slug, ATS, direct link, location, offices, departments or team, requisition id, internal job id, language.

Timing First published, last updated by the employer, application deadline where the employer sets one, and daysOpen — how long the role has been live. A role open for 90 days says something different from one posted yesterday.

The description Full posting text as clean plain text, tags and HTML entities resolved, plus descriptionLength — the true length before truncation, not the truncation limit.

Change tracking changeStatus, firstSeenAt, checkedAt.

Extras where the ATS exposes them Greenhouse: GDPR consent flag and AI disclaimer. Lever: workplace type (remote / hybrid / onsite), country, commitment (full-time, contract).

Typical uses

Recruiters watching target accounts and wanting to be first to a new req. Sales teams using hiring as a buying signal — a company posting five backend roles is scaling. Competitive intelligence: which team is a rival growing, in which city. Anyone building a niche job board from a curated company list.

Example record (trimmed)

{
"changeStatus": "NEW",
"title": "Account Executive, EMEA (Germany)",
"companyName": "Webflow",
"ats": "greenhouse",
"locationName": "London, U.K. (Hybrid)",
"departments": ["Sales"],
"firstPublishedAt": "2026-08-05T08:51:57.000Z",
"updatedAt": "2026-08-10T19:24:15.000Z",
"daysOpen": 44,
"descriptionLength": 8185,
"gdprConsentRequired": false,
"jobUrl": "https://job-boards.greenhouse.io/webflow/jobs/7951430"
}

Input

Paste a career page URL — https://boards.greenhouse.io/COMPANY or https://jobs.lever.co/COMPANY — or the short form greenhouse:COMPANY / lever:COMPANY. A link to a single job works too; the company is read out of it. Duplicates collapse and are charged once.

onlyChanged writes only NEW, CHANGED and CLOSED rows. reportClosed turns the closed-role rows off. maxCompanies caps how many companies are charged; the default of 100 costs $1.00.

Failures are loud

Counters are reconciled at the end of every run: companies processed must equal companies charged plus companies skipped, and the run fails if they do not. If a provider returns HTTP 200 but not the payload shape we expect, the run fails with the affected companies named rather than silently writing an empty dataset. The breakdown goes to RUN_STATS, every skipped company with its reason to SKIPPED.

A company that could not be reached this run keeps its remembered state, so a temporary network error does not make every role look NEW next time.

Limits and compliance

robots.txt is read for each provider before any request and the gate is fail-closed.

Two platforms were tested and left out, measured on 18 September 2026:

  • Ashby — the endpoint works and returned 147 jobs in one request, but api.ashbyhq.com/robots.txt answers HTTP 401. Our rule is that an unreadable robots.txt means no request, so Ashby is out until that changes.
  • Workable — the public widget endpoint was tried against 13 companies. Twelve returned HTTP 200 with an empty jobs array. The endpoint no longer returns postings, so it is not shipped as if it did.

No personal data is collected. Job postings are company records, not people. The ATS payloads were scanned for recruiter names, e-mail addresses and phone numbers across 94 live postings: none present. Output is built from a published field list.

Pricing

$0.01 per company checked, everything included. No start fee, no minimum charge per run, no separate platform usage line.

Paid Apify plans pay less, automatically — there is nothing to apply for: Bronze $0.009, Silver $0.008, Gold and above $0.007 per company. The Free plan price is unchanged at $0.01.

Jobs are written free of charge, however many a company has.

Measured performance

Run on 18 September 2026:

Companies checked3
Jobs returned94 (27 + 13 + 54)
Fields populated per job17 of 26 (median)
Tags or HTML entities left in description text0 of 94
Personal data foundnone
Change detection: no-op second run0 new, 0 changed, 94 unchanged
Change detection: one edit, one removal, one addition1 NEW, 1 CHANGED, 1 CLOSED, 92 unchanged
Densest single request668 jobs (Greenhouse, measured separately)

Known limit: company slugs cannot be discovered automatically. Greenhouse publishes no board directory and guessing slugs from company names hit 2 of 25 in a measured test. That is why you supply the list — and why you are never charged for a guess that misses.