ATS Jobs Monitor: Greenhouse, Lever, Ashby, Workable, Recruitee avatar

ATS Jobs Monitor: Greenhouse, Lever, Ashby, Workable, Recruitee

Pricing

from $1.50 / 1,000 job delivereds

Go to Apify Store
ATS Jobs Monitor: Greenhouse, Lever, Ashby, Workable, Recruitee

ATS Jobs Monitor: Greenhouse, Lever, Ashby, Workable, Recruitee

Track job openings across five ATS job boards in one clean schema. Get only new jobs since your last run, with keyword, location and remote filters. Salary when stated. No proxies, no login.

Pricing

from $1.50 / 1,000 job delivereds

Rating

0.0

(0)

Developer

Luận Phạm Minh

Luận Phạm Minh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

ATS Jobs Monitor: Greenhouse, Lever, Ashby, Workable and Recruitee

Turn company career boards into one clean jobs feed, and get only the jobs that are new since your last run.

Give this Actor a list of companies. It reads their public job boards on Greenhouse, Lever, Ashby, Workable and Recruitee and returns every opening in the same format, so you never write a separate parser for each system again.

No login, no API key, no proxies, no browser. It uses the plain JSON feeds that power each company's own careers page, which keeps it fast and cheap.

Who it is for

  • Job boards and aggregators that need fresh postings from a known list of employers
  • Recruiters and sales teams that watch who is hiring, and for what
  • Investors and analysts who track hiring as a signal of company growth
  • Job seekers and communities who want an alert when a target company opens a role

What makes it different

Only new since last runMemory is kept in a named key-value store in your own Apify account. Schedule it daily and pay only for jobs you have not seen.
Baseline optionStart a monitor without paying for the whole back catalogue. The first run memorises today's jobs, and later runs report what is really new.
You never lose a job to a limitJobs that a per-company cap or your maximum charge held back stay unseen and arrive on the next run.
Filter before you payKeyword, exclude, location, remote, department and date filters. Filtered jobs are free.
One bad company never fails a runA wrong token is reported in RUN_SUMMARY, costs nothing, and the rest of the list carries on.
Polite by designReads robots.txt, follows Crawl-delay, spaces out its requests.

How to use it

  1. Add companies, one per line, in any of these forms:
    • greenhouse:stripe, lever:spotify, ashby:ramp, workable:blueground, recruitee:bunq (fastest)
    • A board URL, such as https://jobs.ashbyhq.com/ramp
    • A career page that links to a supported board, such as https://www.example.com/careers
    • A bare name, such as stripe, which is looked up on each ATS in turn
  2. Add filters if you want them.
  3. To monitor, turn on Only new since last run, give it a Monitor ID, and add a daily schedule.

Use a different Monitor ID for each saved search. Memory is kept per monitor, and it forgets jobs that have been off a board for 90 days.

Input example

{
"companies": ["greenhouse:stripe", "https://jobs.ashbyhq.com/ramp"],
"keywords": ["engineer", "data scientist"],
"excludeKeywords": ["intern"],
"locations": ["New York", "Remote"],
"onlyNew": true,
"monitorId": "nyc-engineering",
"firstRunOutput": "none"
}

Output

One row per job, the same shape for every ATS. Export as JSON, CSV, Excel or through the API.

{
"ats": "ashby",
"boardToken": "ramp",
"jobId": "a5c7c68a-33f9-4f78-929e-29b58f26d22a",
"title": "People Business Partner, G&A",
"company": "Ramp",
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)"],
"remote": false,
"workplaceType": "hybrid",
"department": "People & Talent",
"team": "People Business",
"employmentType": "FullTime",
"salary": { "min": 134000, "max": 236000, "currency": "USD", "period": "year", "text": "$134K - $236K", "source": "structured" },
"postedAt": "2026-10-28T22:02:17.374Z",
"updatedAt": null,
"jobUrl": "https://jobs.ashbyhq.com/ramp/a5c7c68a-33f9-4f78-929e-29b58f26d22a",
"applyUrl": "https://jobs.ashbyhq.com/ramp/a5c7c68a-33f9-4f78-929e-29b58f26d22a/application",
"descriptionText": "ABOUT RAMP ...",
"isNew": true,
"scrapedAt": "2026-10-30T08:46:05.254Z"
}

A field a source does not publish is null, never a guess. A per-board report (jobsOnBoard, newJobs, errors) is saved as RUN_SUMMARY in the run's key-value store.

How each field is sourced

FieldNotes
salarysource: "structured" comes from the ATS's own salary field. source: "parsed" is read from the ad's text, and only clear ranges are accepted.
remotetrue, false, or null when the source does not say. Greenhouse has no remote field, so only true (from the location or title text) or null is possible there.
companyLever and Ashby publish no company name, so it is derived from the board token (acme-corp becomes Acme Corp).
descriptionTextPlain text. E-mail addresses printed in ads are replaced with [email removed].

Pricing

Pay per event. You only pay for what is delivered.

EventPriceWhen
Run started$0.002Once per run, per GB of memory
Company board checked$0.002A board was read successfully. Failed or unknown boards are free.
Job delivered$0.0015One job saved to your dataset ($1.50 per 1,000)

Examples: a daily monitor of 20 companies with 10 new jobs a day costs $0.002 + 20 × $0.002 + 10 × $0.0015 = $0.057 a day. A one-off export of 1,000 jobs from 5 companies costs about $1.51.

Set a maximum cost per run and the Actor stops cleanly at that limit. It saves its memory first, so nothing is lost or charged twice.

Limits

  • It reads the boards you list. It does not discover companies or search all of the web.
  • Jobs a company has hidden from its public board are not visible.
  • A career page is only detected if its HTML links to a supported board. Pages that load the board with heavy JavaScript may not be detected, so use the board URL or a token instead.
  • Parsed salaries are best-effort. $ is reported as USD even where an ad means CAD or AUD, and an ad listing several regional ranges gives the first one.

What it does not do

  • SmartRecruiters is not supported. Its API's robots.txt disallows general crawlers and this Actor honours that.
  • Workday, iCIMS, Taleo, LinkedIn and Indeed are not supported.
  • It does not collect recruiter contact details, and it never bypasses a login, CAPTCHA or rate limit.
  • It does not use proxies.

Use of the data

This Actor reads public job postings. You are responsible for how you use them, including the source sites' terms and any applicable privacy law. Workable's robots.txt states a preference against using its content for AI training, so keep that in mind if that is your use. This Actor is independent and is not affiliated with or endorsed by any ATS named here.

Support

Found a board that should work but does not? Open an issue on the Issues tab with the company's board URL.