Job alerts & monitoring

Job Posting RSS Feeds: Greenhouse, Lever, and the Limits of DIY

By JobNotify Editorial · Last updated July 26, 2026 · 10 min read

If you're comfortable with a URL and a blob of JSON, Greenhouse and Lever both expose a public feed of job listings you can pull straight from the source — no third-party tool required. This is the technical, DIY path, and where it works it's usually the fastest, most direct option available — faster than waiting on a job board, and free. It's also unfiltered, has no built-in dedupe, and doesn't cover Workday, which is the biggest gap for anyone trying to cover a mixed shortlist of companies. JobNotify builds a monitoring tool that comes up as one alternative near the end; this guide is primarily about doing it yourself.

See filtered Greenhouse job alertsFree forever · 1 filter · 1 keyword · 3 companies · No credit card

About this guide. JobNotify builds a careers-page monitoring tool, mentioned near the end as one alternative to maintaining this yourself. The Greenhouse and Lever endpoint details, and the DIY setup instructions, work whether or not you ever use a paid product. See About JobNotify for who we are.

What “RSS feed” means for job boards today

Most modern hiring platforms don’t publish classic XML RSS — Greenhouse and Lever expose public JSON APIs: a predictable URL that returns current listings as structured data. That’s often better for automation than old-school RSS, but you can’t paste the URL into a feed reader and expect blog-style RSS. You need a JSON-to-RSS bridge or a bit of scripting.

Where a feed exists and covers your targets, it’s generally the better default over Google Alerts or a paid monitor: closer to real time, free, straight from the source. The trade-off is your setup time — and Workday (and most other ATS platforms) usually have no equivalent. Method overview: situation hub for company job alerts.

Greenhouse’s Job Board API

Greenhouse publishes a public Job Board API — offices, departments, and published jobs as JSON:

https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs?content=true

The {board_token} is often visible in the careers URL (job-boards.greenhouse.io/{board_token}) or in network requests on the page. ?content=trueincludes each job’s full HTML description. Per job you get title, URL, location, department and office associations, an ID, and an update timestamp — JSON only, no native XML/RSS.

Lever’s Postings API

Lever’s equivalent:

https://api.lever.co/v0/postings/{company}?mode=json

The {company} slug matches jobs.lever.co/{company}. mode=jsonreturns structured JSON — title, team, location, commitment, posting URL, timestamp — every current opening, unfiltered. Same story as Greenhouse: you’re reading the data the careers page renders from, not a secondary RSS format.

Ashby’s public job-board endpoint, and the Workday gap

Ashby also documents a public job posting API many boards expose at this pattern:

https://api.ashbyhq.com/posting-api/job-board/{JOB_BOARD_NAME}

The {JOB_BOARD_NAME} usually matches the slug in jobs.ashbyhq.com/{JOB_BOARD_NAME}. Like Greenhouse and Lever, it’s JSON you can poll and filter downstream, not classic RSS. Workday is the common exception in the other direction: for job seekers, Workday-hosted careers pages usually do not expose a comparable public JSON/RSS endpoint you can subscribe to directly.

Worked example: poll one board and diff job IDs

Use placeholder tokens first, then swap in the real company values you found in the careers URL or network requests:

# Greenhouse
board_token="acme"
curl -s "https://boards-api.greenhouse.io/v1/boards/${board_token}/jobs?content=true"

# Lever
company_slug="acme"
curl -s "https://api.lever.co/v0/postings/${company_slug}?mode=json"

# Ashby
JOB_BOARD_NAME="acme"
curl -s "https://api.ashbyhq.com/posting-api/job-board/${JOB_BOARD_NAME}"

Minimal checklist:

  1. Fetch the endpoint and confirm the response contains an array or object with current jobs.
  2. Extract each stable job ID (id, postingId, or the platform’s equivalent) plus title and URL.
  3. Store yesterday’s IDs in a file, database table, or automation tool data store.
  4. Diff today’s job IDs against the stored set; notify only on IDs you have not seen before.
  5. Update the stored set after a successful run so edits and reorders don’t become duplicate alerts.

Turning JSON into a feed (and piping it somewhere)

Once you have a working JSON URL:

  • JSON-to-RSS bridge.Self-hosted RSS-Bridge or a hosted converter wraps the endpoint into XML you can subscribe to in Feedly, Inoreader, or NetNewsWire — closest to “paste a URL and be done.”
  • Zapier, Make, or n8n. Poll every 15–60 minutes, filter on keywords if the tool allows, notify via email, Slack, or a spreadsheet. n8n is useful when you combine several companies and want shared dedupe/filter logic before notifying.
  • A small scheduled script. Fetch, diff against stored job IDs, notify on new ones — most flexible, and you own dedupe and filtering entirely.

The endpoint returns the same unfiltered list to everyone — filtering, dedupe, and formatting live in whatever consumes it.

These are polling endpoints, not push notifications. “Real time” means as fast as you (or your bridge) choose to poll — every few minutes is near-instant; once a day is a digest.

What DIY doesn’t do — and when to skip it

  • No filtering at the source — location, department, and keywords are all downstream, on you
  • No dedupe — track job IDs yourself or the same role can resurface on edit/reorder/overlap
  • Workday usually has no equivalent public feed — myworkdayjobs.com pages typically need another method
  • Other ATS platforms (SmartRecruiters, Workable, custom pages, etc.) are their own research project
  • You maintain it — bridges break, endpoints shift, scripts go quiet
  • Multi-company multiplies work — separate endpoint, bridge/poll, and filter logic per company

Skip DIY if any target is on Workday (or another platform without a public endpoint), your shortlist spans several ATS platforms, you don’t want to own maintenance, or you need filtering/dedupe without building it. Then a dedicated monitor — JobNotify, OpenJobRadar, JobBeacon, or a general page-change tool like Visualping or ChangeTower — trades your setup time for someone else’s infrastructure. Fair trade for some people, not others. Lever native alerting: does Lever have job alerts?

DIY feeds vs. a dedicated monitoring tool

DIY feed (Greenhouse/Lever API + bridge)Dedicated monitoring tool
Platforms coveredGreenhouse, Lever, Ashby (public endpoints only)Varies — JobNotify, OpenJobRadar, and JobBeacon cover Workday and several other ATS platforms plus Greenhouse/Lever
FilteringNone built in — you build it downstreamKeyword, description, location, exclude words (varies by product)
DedupeNot built in — you track job IDs yourselfTypically handled for you
Setup effortMedium to high — bridge or script per companyLow — add a company URL and set filters
SpeedAs fast as you choose to pollMinutes to daily, depending on plan and product
CostFree (your time is the cost)Free tiers exist on several products; paid plans typically buy speed and scale

DIY fitsif you’re only on Greenhouse and/or Lever, you’re comfortable maintaining a bridge or script, and you want raw access (or enjoy the plumbing). A monitor fits if your list spans platforms (especially Workday), you want filters without building them, or per-company setup is adding up. Middle ground: DIY for one or two companies you care about technically; a monitor or board alert for the rest. One employer: job alerts for a specific company; how monitors work: career page monitoring.

The bottom line

Greenhouse and Lever public job endpoints are genuinely useful if you’re technical and want raw, close-to-real-time access with no third party — and where they exist, they’re usually the better default over Google Alerts or a paid tool. Filtering, dedupe, and maintenance are on you; Workday or another non-feed platform usually ends coverage. For a mixed shortlist — or if you’d rather not maintain the plumbing — JobNotify, OpenJobRadar, JobBeacon, or a general page-change tool trades setup time for a subscription. Which side wins depends on your list, not on which option is “better” in the abstract.

Frequently asked questions

Do Greenhouse and Lever have real RSS feeds?

Not classic XML RSS feeds in the traditional sense — both publish public JSON APIs instead. Greenhouse's Job Board API returns a company's job listings as JSON at a predictable URL built from their board token; Lever's Postings API does the same with a mode=json parameter. Either can be converted into an actual RSS feed with a JSON-to-RSS bridge tool, or consumed directly by a script.

Does Workday have a job feed I can subscribe to?

Generally, no. Workday-hosted careers sites don't typically publish an equivalent public feed or API for job seekers to pull from. Workday does offer native saved-search email alerts on the careers site itself, but there's usually no RSS or JSON endpoint to pipe into a reader the way there is with Greenhouse or Lever.

Can I filter a job feed by location or keyword?

Not at the source. Both Greenhouse's and Lever's public endpoints return every open role for that company unfiltered — there's no query parameter for location, department, or keyword. You filter downstream, using rules in your RSS reader, a workflow tool like Zapier or Make, or your own script.

Will I get duplicate alerts using a DIY feed setup?

It's a common problem. Most feed readers and simple polling scripts don't track which job IDs they've already shown you, so a role can resurface if the feed reorders, if the company edits a listing, or if your bridge tool re-polls before the previous state is cached. Building real dedupe means tracking job IDs yourself.

When does a dedicated monitoring tool make more sense than building this myself?

Once you're watching more than a couple of companies, want filters like keyword, location, or excluded words, need coverage across ATS platforms that don't publish a feed (Workday being the common example), or don't want to maintain a bridge tool and dedupe logic yourself. Tools built for this — JobNotify, OpenJobRadar, and JobBeacon among them — handle the parsing, filtering, and deduping across platforms from one place, for a price and setup trade-off you can weigh against doing it yourself.

Is this guide independent?

No, not fully. JobNotify builds a monitoring tool that's one of several options mentioned as an alternative to DIY feeds. The Greenhouse/Lever endpoint details and DIY instructions above don't depend on that — they work whether or not you ever use a paid tool.

Want filtered alerts without maintaining feeds?

Roles hit a company’s careers page first. Be in the first wave of applicants — not the two-hundredth on LinkedIn.

Read next