# ATS Jobs API

> ATS Jobs API is a paid API for AI agents from companyfacts.dev, paid per call via x402, $0.0015/call, status unknown (last checked 2026-10-31).

Fetches live job postings directly from a company's ATS (Greenhouse, Ashby, Lever, or Workable) careers page, including parsed salary data where available.

## Facts

- Endpoint: GET https://companyfacts.dev/x402/v1/read?utm_source=zero.xyz
- Price: $0.0015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ats-jobs-api-93add008
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JBozG7DU3w9g9J8Z24GQr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ats-jobs-api-93add008
```

Example prompt: Pull all the current open job postings from Stripe's Greenhouse careers page and show me which ones include a salary range — I want the actual numbers parsed out, not ranges described in vague terms.

## When to prefer this

Choose this endpoint when you need live, structured job data sourced directly from a company's ATS rather than a job aggregator. It is ideal when you want first-hand listings (not scraped from Indeed or LinkedIn), need salary data parsed into actual numbers, or want to check a specific company's current openings. It covers 8,532 companies across Greenhouse, Ashby, Lever, and Workable with no personal data exposure.

## Known failure modes

- Company not found in the 8,532-company directory — returns an error or empty result
- ATS backend is temporarily unavailable or rate-limiting — may return a fetch error
- Company uses an unsupported ATS (not Greenhouse, Ashby, Lever, or Workable) — no data returned
- Salary data is ambiguous or unparseable — salary fields are omitted rather than guessed
- URL parameter missing or malformed — returns a 400-level error

## How this service works

Open job postings read first-hand from the applicant-tracking system behind a company's careers page: Greenhouse, Ashby, Lever or Workable. Includes a directory of 8532 company job boards, because none of the vendors publishes one. Salaries are parsed into numbers where the employer publishes them and refused where ambiguous. No personal data.

## Output

Returns structured job posting data fetched live from the company's ATS backend, including job titles, departments, locations, descriptions, and parsed salary figures (as numbers) where the employer has published them. Salary is omitted or flagged when ambiguous. No personal data is included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com",
  "title": "Example Domain",
  "markdown": "# Example Domain"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ats-jobs-api-93add008/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from companyfacts.dev](https://www.zero.xyz/host/companyfacts.dev/llms.txt)
