Skip to content

How to Monitor Company Career Pages for New Jobs

Export published jobs from supported employer boards, preserve source identity, interpret posting changes and run practical monitoring through Apify MCP.

Dievio Team · Growth Systems · November 6, 2026 · 6 min read

Job briefcase beside a clock for scheduled monitoring

To monitor company career pages for new jobs, enter public employer websites or supported career-board URLs into the Company Careers Jobs Scraper. Export current postings first, review employer coverage, then save a Task in Hiring changes mode. Repeat that Task to detect published openings and changes.

Here, hiring research means watching companies' public job postings. It can help you maintain a job feed, research employer activity or identify accounts expanding a particular team. The Actor does not collect applicants, provide employee contact details or tell you whom a company actually hired.

Choose a supported public career board

The Actor supports Greenhouse, Lever, Ashby, Workable, Recruitee and Personio. A direct public board URL is the most reliable input. When you enter a company homepage, the Actor performs bounded discovery for supported career links; JavaScript-only pages or unrelated systems can remain unresolved.

Which company input should you use?
InputWhat happens
Supported ATS board URLCollects that employer board directly.
Company website or career pageAttempts to find a supported linked board.
Recognized example-company nameUses the documented verified directory mapping.
Unrecognized name aloneRequests a website instead of guessing an ATS identifier.

A supported job-detail URL can select its entire employer board, rather than just one posting. Workable links shaped /j/shortcode do not identify the employer board; use its company board URL or website. Personio requires the employer's public XML feed to be enabled.

Export current jobs before setting up monitoring

  1. Open the Actor, choose Try for free, sign in and open the editable Input form.
  2. Fill Company websites or career pages with one public board to begin. Use Bulk edit for several entries.
  3. Choose Current jobs and set Maximum results to 20 for a small review.
  4. Leave filters empty until you have checked the board and its published fields.
  5. Review pricing and set a Run options spending cap, then start.
  6. Open the Run report, review source coverage and inspect the posting and application links.
  7. Download Flat CSV for imports or JSON for nested locations and salary ranges.
Company jobs Actor field reference for employer boards, current jobs or hiring changes and result limit
Read-only reference for employer sources, collection mode and the shared delivered-row cap.

This image shows the public read-only reference. Edit values in Apify Console. The following JSON uses a board from the Actor documentation; replace it with your chosen employer's public board.

{
  "companies": ["https://jobs.lever.co/applydigital"],
  "mode": "export",
  "maxResults": 20
}

The normal form does not add demo employers automatically. If using an old Task, check its existing startUrls and companyDomains: those legacy lists merge with Companies. Remove unwanted old examples before running.

Filter jobs using published facts

Use literal title phrases, description phrases, locations, countries, work arrangements, employment types or department keywords. Different fields combine with AND. Multiple values in one field usually mean ANY; title matching can explicitly require ALL.

Filters and the assumptions to avoid
FilterHow it works
Title keywordsCase-insensitive literal phrases. Boolean operators are not a special query language.
Countries and workplace typeUse structured source values. Unknown values stay unknown.
Posted within N daysUses source publication time when supplied, not observation time.
Minimum salaryRequires currency and period. No currency conversion or annualization.

For example, engineer plus remote plus USD yearly salary constraints can exclude postings whose source lacks structured remote or salary fields. That does not prove those roles are unsuitable. Inspect the report's exclusion reasons, and explicitly include unknown values where the filter supports it.

Remote classification does not establish worldwide work eligibility. A city label is not automatically a structured country. firstSeenAt is your monitor's first observation, not necessarily the date the employer opened the role.

Dievio

Your next customer starts here.

Find decision-makers by role, company and location. Build your next prospect list in Dievio.

Find my leads

Free audience preview · No credit card

Find leadsExample
FounderSoftwareUnited States
AM
Alex MorganFounder & CEO · Northstaralex@northstar.example
JC
Jamie ChenCo-founder · Formlyjamie@formly.example
Work emailsCompany detailsCSV export

Understand your export and preserve source identity

One row represents a published source posting, not necessarily one unique role or one planned hire. Employers can publish similar roles for several offices. Preserve source identity instead of deduplicating everything with the same title.

Fields for a reliable job feed
PurposeKeep these fields
Upsert the same source postingjobKey, jobId, provider, boardId
Read and applytitle, description, url, applyUrl
Employer and geographycompanyName, companyDomain, locations, countries
Pay and timingsalaryRanges, currency/period, source dates and checkedAt
Monitor changeschangeType, changedFields, previousValues, matchesFilter

Missing scalar facts remain null. Several geographic salary tiers are retained separately; they are not merged into a fabricated range. The flat CSV contains readable location and salary text, while JSON preserves arrays. An ATS migration can change posting identity; no automatic cross-platform deduplication is promised.

Continue larger exports and check every employer

The global cap is delivered rows, not a guarantee of available jobs. A large early employer can fill it. For export sampling, maxResultsPerCompany can cap each board after filters, but intentionally omitted matches are not delivered later. Start a fresh collection without that cap for full inventory.

  1. Read REPORT, RUN_SUMMARY and SOURCE_CHECKS for visited boards, incomplete sources and pending rows.
  2. Open Next batch input and copy PAGINATION.nextInput into a new run after its predecessor finishes.
  3. Let that input restore sources and filters. Do not add Companies or a new example collection to the continuation.
  4. Save each batch's dataset and combine results by source identity.
  5. Check retry timing before repeatedly attempting a failing source.

Continuation completes the retained collection; a fresh collection performs a new live check. Failed sources may have retryNotBefore delays. Free accounts allow up to five source inputs and 100 delivered rows per collection across continuations. Paid input accepts up to 200 sources and 50,000 delivered rows per run within other limits.

Monitor new postings and changes automatically

Choose Hiring changes, equivalent to mode: "changes". Save a Task and attach an Apify schedule. A Task supplies its identity; manual or API polls should reuse a stable monitorId. The monitor creates its own baseline, separate from your earlier export.

Read job-monitor events accurately
EventMeaning
CURRENTMatching postings in the first successful baseline.
NEW / REOPENEDNew source appearance or an observed return of the retained same ID.
CHANGEDTracked published fields changed.
ENTERED / EXITEDA posting entered or left your filter; it can still be open.
REMOVEDA posting disappeared from a complete successful board check.

For a feed, upsert CURRENT, NEW, REOPENED, ENTERED and CHANGED by jobKey; remove that key on EXITED or REMOVED. A role aging beyond a date filter can generate EXITED. That is different from disappearing from the employer board.

A failed or incomplete board check preserves its last successful snapshot and does not create false removals. Removal still does not establish that someone was hired. Monitor mode rejects nonzero per-company sampling caps. Complete queued work through continuation before treating a poll as finished.

Keep the same sources and filters. Changing them creates a new baseline. Overlapping runs of one monitor are rejected. Monitor pricing includes successful board checks as well as delivered change rows, so an unchanged or silent baseline check can cost money.

Run the career-page workflow through Apify MCP

Connect a compatible AI agent to https://mcp.apify.com and authorize Apify using the MCP setup instructions. Supply an employer board and ask the agent to review coverage before creating a repeating monitor.

Inspect x_guru/company-careers-jobs-scraper
using Apify MCP. Use this public board:
https://jobs.lever.co/applydigital
Export current jobs with maxResults 20.
Set callOptions.maxTotalChargeUsd to 0.25.
Read REPORT, RUN_SUMMARY and SOURCE_CHECKS.
Export all dataset pages to CSV and retain
jobKey, applyUrl and source dates.
Explain incomplete boards and nextInput.
Do not call missing jobs closed. Do not
start a schedule without my review.

Use your own board URL. The agent should inspect with fetch-actor-details, launch with call-actor, follow status with get-actor-run, read reports with get-key-value-store-record and paginate get-dataset-items. For later monitor checks, retain the agreed identity and filter scope.

For your own application, follow the Actor API and Dataset export guide. If a direct integration is enough, the public Greenhouse Job Board API and Lever Postings API document those sources. The Actor directory covers other independent workflows.

Keep reading

Build your first list.

100 free credits. No credit card required.

Start free