Catalog / ats-jobs-public
ats-jobs-public
"What jobs does this company have open on its public Greenhouse or Lever job board?" Optionally filtered by a keyword in the title, location or team.
What question it answers
"What jobs does this company have open on its public Greenhouse or Lever job board?" Optionally filtered by a keyword in the title, location or team.
Sources
- Greenhouse public Job Board API: allowed.
- Lever public Postings API: allowed.
- Ashby: not supported. Requests for Ashby boards are refused on purpose (terms).
When to use it
- Sourcing or monitoring roles at a named employer that uses Greenhouse or Lever.
- An agent needs a clean list: id, title, URL, location, remote guess.
When not to
- Not a job search engine: you must name the employer's board (a slug or board URL).
- Not for employers on other systems (Ashby, Workday, etc.).
- The
remoteflag is a text guess, not data from the employer. - Job titles and locations are the employer's own words; no salary, no description text is returned.
Example (MCP tool `ats_search_jobs`, or CLI)
npx tsx src/cli.ts search airbnb engineer 10
npx tsx src/cli.ts list lever:activecampaign 5
target can be airbnb (Greenhouse is the default), lever:activecampaign, greenhouse:slug, or a board URL.
Trimmed output (shape from samples/greenhouse-airbnb.json):
{
"tool": "ats-jobs-public",
"version": "0.2.0",
"kind": "greenhouse",
"company": "airbnb",
"boardUrl": "https://boards-api.greenhouse.io/v1/boards/airbnb/jobs",
"totalCached": 202,
"returned": 15,
"remoteOnly": false,
"jobs": [
{
"id": "8306554",
"title": "AirCover Specialist, Claims Experience",
"url": "https://careers.airbnb.com/positions/8306554?gh_jid=8306554",
"location": "Canada",
"updatedAt": "2026-10-28T10:52:05-04:00",
"remote": false,
"source": "greenhouse",
"company": "airbnb"
}
],
"termsChecked": { "id": "greenhouse", "checkedAt": "2026-10-31", "termsUrls": ["..."] },
"billing": { "sku": "ats_jobs_list", "plannedPriceUsd": 0.03, "x402Enabled": false }
}
Lever rows also carry team and commitment. Searches add query. Every response also lists the source allowlist and a note.
Data source and licence
Each employer's public board JSON from Greenhouse or Lever. The postings belong to the employers. The tool's allowlist records the terms pages reviewed on 2026-10-31 (Greenhouse job board docs and MSA; Lever postings API docs and terms). That record is not legal advice; check the terms for your own use.
Freshness and limits
- Board data cached 1 hour, so a new posting can take up to an hour to appear.
list: 1 to 5,000 rows.search: scans up to 5,000 rows, returns up to 200. Notruncatedflag if a board is larger than 5,000.- Unknown prefixes such as
foo:acmeare treated as Greenhouse. - Lever EU-hosted boards are not supported.
- 20 s timeout, 5 MB response cap per fetch.
Errors are not charged
Payment settles only on a successful answer. Any response with status 400 or higher (bad input, not found, upstream failure) is never settled.