ATS Jobs Scraper & Change Monitor avatar

ATS Jobs Scraper & Change Monitor

Pricing

$2.00 / 1,000 delivered records

Go to Apify Store
ATS Jobs Scraper & Change Monitor

ATS Jobs Scraper & Change Monitor

Collect Greenhouse, Lever and Ashby jobs in one schema. Track changes to job details and compensation with private snapshots and CSV-ready output.

Pricing

$2.00 / 1,000 delivered records

Rating

0.0

(0)

Developer

CRNO

CRNO

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

Collect Greenhouse, Lever and Ashby jobs in one schema. Track changes to job details and compensation with private snapshots and CSV-ready output.

Quick start

Run the example below. No source API key or proxy subscription is required for the supported public endpoints. Source access can still be rate-limited or blocked. Results are stored in the default dataset, ready for JSON, CSV or Excel export.

{
"boards": [
"greenhouse:figma"
],
"maxItems": 20
}

What you receive

Every row includes a stable id, source, title, url, UTC observedAt and runId. Source-specific fields include board, location, departments, employmentType, publishedAt, updatedAt, descriptionHtml, compensation. Optional source values may be null or empty. Nested arrays are preserved in JSON.

Input order determines which boards fill the total result limit. Greenhouse and Ashby return full public boards; Lever is paginated. Description HTML is source content and must be sanitized before displaying on a website. No candidate profiles or application submissions are collected. Missing jobs are not labelled closed. Lever and Ashby dates reflect the upstream meaning, not guaranteed original publication dates.

Example result

The following validation result shows the output structure. Long text and arrays are shortened for readability; values are historical examples, not current source values.

{
"id": "5426468004",
"source": "greenhouse",
"title": "Account Executive, Enterprise",
"url": "https://boards.greenhouse.io/figma/jobs/5426468004?gh_jid=5426468004",
"board": "figma",
"location": "San Francisco, CA • New York, NY • United States",
"departments": [
"Sales"
],
"employmentType": null,
"publishedAt": null,
"updatedAt": "2026-10-27T13:40:12-04:00",
"descriptionHtml": "<div class="content-intro"><p>Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. Figma’s platform helps teams bring ideas to life—whether you're brainst...",
"compensation": null,
"changeType": "baseline",
"changedFields": [],
"previousObservedAt": null,
"observedAt": "2026-11-05T07:33:21.220Z",
"runId": "QfCRbVo2bVZ1gNVem"
}

Inputs

FieldMeaningDefault
boardsUse provider:slug. Providers: greenhouse, lever, lever-eu, ashby. Find the slug in the public career-page URL. No login required.["greenhouse:figma"]
keywordCase-insensitive filter on title, location and department.""
maxItemsMaximum matching records to select (1–1000), across all sources in input order. Source APIs may return or scan additional rows before filtering. In changes-only mode this caps compared records, not just delivered changes.100
trackChangesSave a private snapshot and compare the same input selection across runs.false
historyStoreNameRequired for change tracking. Choose a private key-value store owned by your account; reuse it on later runs.""
onlyChangesRequires change tracking. The first run returns all baseline records; later unchanged records are free and omitted.false

Change monitoring

Set trackChanges: true and a private historyStoreName, then reuse exactly the same search inputs and maximum-results setting on later runs. An Apify schedule can run this daily; scheduling and notifications are configured by you, not automatically created by this Actor. Use onlyChanges: true to omit unchanged rows.

The first run emits baseline rows. Subsequent rows are new, changed or unchanged, with changedFields and previousObservedAt. Without tracking, the label is notTracked. Comparisons cover only the selected result window and immediately preceding successful snapshot. Newly seen does not mean newly created. Missing records are not declared deleted, closed or resolved. Source-fetch failures and budget-truncated selections do not advance the baseline. A storage failure after delivery can leave saved rows or a saved snapshot; check the dataset and SUMMARY before retrying. Avoid overlapping scheduled runs for the same history; immutable snapshots prevent one run overwriting another. Rotate the history store after 2,000 snapshots per search.

Pricing

$2.00 per 1,000 delivered records ($0.002 each). Only the record-scraped event is billed. No startup fee, no separate automatic dataset-item fee. Actor platform usage is included. Empty results and omitted unchanged records have no result fee. Account-level charges for later storage/API usage, schedules or integrations follow your Apify plan.

Set an Apify maximum charge limit to cap result spending. maxItems limits inspected records, including unchanged ones. A small charge budget may further limit the selection. The SUMMARY record has no result-event fee and reports fetched/saved counts, budget stops, request counts and snapshot status.

Reliability and limits

At most 1,000 selected records and 60 source requests per run; each request has a 30-second timeout and a 16 MB response limit. Requests are paced, temporary errors receive bounded retries, and source failures or malformed responses fail explicitly. A run collects the selected rows before writing them, so an upstream error does not silently return partial success. Delivery or storage failures can leave output; inspect SUMMARY before retrying. Start a new run instead of resurrecting an existing output dataset.

Public APIs can change, return stale data or limit requests. No scraper can guarantee permanent availability or exhaustive coverage. This is an independent tool, not an official service of the source organization. Users are responsible for their downstream use and applicable source terms; public access is not an unrestricted redistribution license.

Source documentation

Official source/API documentation. For support, open an issue on this Actor with the run ID and non-sensitive input. Never include tokens or confidential data.