ATS Jobs Feed: Greenhouse, Lever, Ashby & Workable Jobs avatar

ATS Jobs Feed: Greenhouse, Lever, Ashby & Workable Jobs

Pricing

from $1.50 / 1,000 job results

Go to Apify Store
ATS Jobs Feed: Greenhouse, Lever, Ashby & Workable Jobs

ATS Jobs Feed: Greenhouse, Lever, Ashby & Workable Jobs

Greenhouse Lever Ashby jobs (and Workable) from public career boards in one clean dataset. Monitor mode returns only new, changed or removed jobs — a hiring signal for sales and recruiting. Not affiliated with Greenhouse, Lever, Ashby or Workable.

Pricing

from $1.50 / 1,000 job results

Rating

0.0

(0)

Developer

JW AI Works

JW AI Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Security

Limited permissions

Share

ATS Jobs Feed reads the public job boards of companies that use Greenhouse, Lever, Ashby and Workable. It pulls every open job from the company boards you list and returns one clean, normalized dataset. Turn on monitor mode and each run returns only the jobs that are new, changed or removed since your last run, so you can watch hiring at hundreds of companies without paying again for jobs you have already seen.

Not affiliated with, endorsed by, or sponsored by Greenhouse, Lever, Ashby, or Workable; names are used only to describe compatibility.

It reads only the public job-board JSON that each platform publishes for careers pages. No login, no cookies, no proxies, no browser. That keeps it fast, cheap and reliable.

What does ATS Jobs Feed do?

  • Fetches all published jobs for each company board you list (Greenhouse board token, Lever site, Ashby board, Workable account). Paste a slug like discord or a full URL like https://jobs.lever.co/spotify.
  • Puts every job into one schema: the same field names, employment types and date formats across all four platforms.
  • Adds salary ranges where the platform publishes them (Lever salaryRange, Ashby compensation).
  • Monitor mode stores a fingerprint of each job in a named key-value store and outputs only new, changed (with the list of changedFields) and removed jobs.
  • Rate limits itself per host, checks robots.txt before fetching, and keeps going if one board fails.

Who uses a jobs feed and job change monitor?

Recruiters and sales teams tracking which companies are hiring, job boards and newsletters that aggregate roles, market researchers following hiring trends, and job seekers watching their target companies.

How to get a Greenhouse or Lever job postings feed

  1. Add company boards to the matching list: Greenhouse job boards, Lever job sites, Ashby job boards or Workable careers pages. Paste a slug like discord or the full careers URL.
  2. Optional: cap Max jobs per board, or turn off Include job description text for smaller output.
  3. Run it and download one dataset with the same fields for every platform, as JSON, CSV or Excel.
{
"greenhouseBoards": ["discord", "https://job-boards.greenhouse.io/figma"],
"leverCompanies": ["spotify"],
"ashbyBoards": ["linear"],
"workableAccounts": ["huggingface"],
"monitorMode": true,
"monitorStateName": "my-watchlist"
}

Output: normalized job schema

Real, unedited rows from the Oct 31, 2026 test run (selected fields; empty values are null). Jobs may have closed since.

sourcecompanyNamecompanytitledepartmentlocationisRemoteemploymentTypepostedAt
greenhouseDiscorddiscordData Scientist - Client PlatformData Science & EngineeringSan Francisco Bay Areafalsenull2026-09-24T21:26:49Z
levernullspotifyAccount Executive - Commercial, Spotify TechnologyOperations and Business SupportNew York, NYfalsefull_time2026-10-23T15:00:40.768000Z
ashbynulllinearSenior / Staff Fullstack EngineerProductEuropetruefull_time2021-04-27T20:13:45.158000Z
workableHugging FacehuggingfaceOpen-Source Machine Learning Engineer - EMEA RemoteOpen SourceParis, Île-de-France, Francetruefull_time2026-05-29

Salary fields are filled where the platform publishes a range. This Lever job from the same run (selected fields):

{
"source": "lever",
"company": "zoox",
"companyName": null,
"jobId": "0dd5de4b-4e98-4808-85fd-e739e7fc5bba",
"title": "Embedded Software Engineer",
"location": "San Diego, CA",
"workplaceType": "hybrid",
"employmentType": "full_time",
"salaryMin": 164000,
"salaryMax": 223000,
"salaryCurrency": "USD",
"salaryInterval": "per-year-salary",
"postedAt": "2026-06-10T20:27:32.051000Z",
"jobUrl": "https://jobs.lever.co/zoox/0dd5de4b-4e98-4808-85fd-e739e7fc5bba"
}

Monitor mode adds changeType and changedFields. This row comes from the monitor test run, where we altered the saved state of one Discord job's title to confirm that changes are detected (selected fields):

{
"changeType": "changed",
"changedFields": [
"title"
],
"source": "greenhouse",
"company": "discord",
"companyName": "Discord",
"jobId": "8214127002",
"title": "Staff Software Engineer, Safety Processing",
"location": "San Francisco Bay Area or Los Angeles Area",
"postedAt": "2025-10-30T17:10:55Z",
"jobUrl": "https://job-boards.greenhouse.io/discord/jobs/8214127002"
}

Every record also has jobId, team, allLocations, country, workplaceType (remote / hybrid / onsite), employmentTypeRaw, updatedAt, salaryMin, salaryMax, salaryCurrency, salaryInterval, salarySummary, jobUrl, applyUrl, descriptionText (plain text), contentHash, scrapedAt, and in monitor mode changeType and changedFields. A RUN_SUMMARY record in the run's key-value store lists counts per board.

What each platform publishes differs: Greenhouse gives company name, departments and an updated date but no employment type; Lever and Ashby give employment type and workplace type but no company display name (company holds the slug); Workable gives a date only (no time). Missing values are null, never guessed.

Run it on a schedule

Turn on Monitor mode and set a Monitor state name for each watch list. Then schedule the Actor daily with an Apify schedule. Each run returns only jobs that are new, changed (with the list of changed fields) or removed. Unchanged jobs are billed at the lower unchanged rate and are not written to the dataset. If a board fails to load, its saved state stays as it was, so no jobs are marked removed by mistake.

Pricing: how much does it cost to monitor jobs?

Pay per event, no subscription:

  • $0.0015 per job result (any job written to the dataset, including new / changed / removed jobs in monitor mode)
  • $0.0003 per unchanged job checked in monitor mode (not written to the dataset)

Example: a watch list of 20 companies with 500 open jobs. The first run costs 500 × $0.0015 = $0.75. After that, a daily monitor run with 20 changes costs 20 × $0.0015 + 480 × $0.0003 = $0.17 a day, about $5 a month.

Users on the free Apify plan get up to 100 results per run.

The Actor reads only data that employers publish on purpose for public careers pages, through endpoints that need no login or key. We checked each source on Oct 31, 2026:

  • Greenhouse (boards-api.greenhouse.io): Greenhouse's Job Board API docs say "Job Board data is publicly available, so authentication is not required for any GET endpoints." robots.txt disallows only /embed/.
  • Lever (api.lever.co): Lever's Postings API docs say published postings "are publicly viewable" and "may be scraped by third parties." robots.txt: Allow: /, Crawl-delay: 1, which we follow.
  • Ashby (api.ashbyhq.com): the public Job Postings API is documented for building careers pages and needs no key. The API host serves no robots.txt (HTTP 401), which RFC 9309 treats as no restrictions. Unlisted (direct-link-only) jobs are skipped.
  • Workable (apply.workable.com): the careers widget endpoint is described in Workable's help article on building a careers page. robots.txt allows everything (content signal ai-train=no). We wait at least 5 seconds between requests because Workable rate-limits.

Personal data: the Actor collects job and company data only. These endpoints carry no recruiter or candidate fields. Personal-looking email addresses and phone numbers inside description text are replaced with [email removed] / [phone removed]. Generic company mailboxes such as careers@ or accommodations@ are kept. Content-signal headers on some hosts ask that content not be used to train AI models, so please respect that. You are responsible for how you use the data. If in doubt, ask a lawyer.

FAQ

How do I track which companies are hiring? List the companies' public career boards, turn on Monitor mode, and run it daily. Each run returns only the jobs that are new, changed or removed.

Does it need a login, cookies or proxies? No. It reads the public job-board data that companies publish for their careers pages. It checks robots.txt and paces its requests.

Why is the company name empty for Lever and Ashby jobs? Those platforms don't publish a display name. Use the company field, which holds the board slug.

Does it include salaries? Yes, where the platform publishes a salary range. Otherwise the salary fields are empty.

How does monitor mode detect changes? It hashes every tracked field of each job and compares the hashes with the previous run. If a board fails to load, its saved state is left alone, so a board that fails to load doesn't mark its jobs as removed.

Can I run several watch lists? Yes. Give each one its own Monitor state name.

Why isn't SmartRecruiters supported? Its API host's robots.txt blocks general crawlers, and its Posting API docs now mention API-key authentication, so we left it out.

Troubleshooting

  • Board shows "error: HTTPStatusError 404": the slug is wrong. Open the company's careers page and copy the part of the URL after the platform's domain.
  • Workable is slow: that's expected. Workable is rate-limited to one request every 5 seconds.

Example input / example output

Example input

{
"greenhouseBoards": ["discord"],
"leverCompanies": [],
"ashbyBoards": [],
"workableAccounts": [],
"monitorMode": false,
"includeDescription": false,
"maxJobsPerBoard": 3
}

Example output (one job)

{
"source": "greenhouse",
"companyName": "Discord",
"title": "Software Engineer",
"department": "Engineering",
"location": "Remote",
"isRemote": true,
"applyUrl": "https://job-boards.greenhouse.io/discord/jobs/123",
"changeType": "new"
}

Use it with Make, Zapier, n8n, or AI agents (Apify MCP)

  • Make: In Make, add the Apify module, connect your Apify account, then run this Actor (or an Actor task) and map dataset items into your scenario. See Make integration.
  • Zapier: In Zapier, use Apify as a trigger (finished Actor/task run) or action (Run Actor / Run Task / Fetch dataset items). See Zapier integration.
  • n8n: Install the Apify node, authenticate, then use Run an Actor or Run an Actor and get dataset. See n8n integration.
  • AI agents (Apify MCP): Connect your MCP client to https://mcp.apify.com, then use search-actors, fetch-actor-details, and call-actor. Pull results with get-dataset-items. See Apify MCP server.

Related actors: Email Auth Checker · SEC Form D Funding Monitor · Texas New Business Entities Feed · PageSpeed & Core Web Vitals Monitor · Podcast Activity Monitor · SAM.gov Opportunities Monitor · USPTO Trademark New Filings Feed · Copycat Store & Lookalike Domain Suspect Checker

Disclaimer

Not affiliated with, endorsed by, or sponsored by Greenhouse, Lever, Ashby, or Workable; names are used only to describe compatibility. All trademarks belong to their owners.