# ATS Jobs API – Hiring Summary

> ATS Jobs API – Hiring Summary is a paid API for AI agents from ats-jobs-api.groundtruthtools.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-11-01).

Returns a structured hiring snapshot for a named company: open role counts, department/location breakdowns, recent job activity, and parsed salary ranges sourced directly from their ATS (Greenhouse, Ashby, Lever, or Workable).

## Facts

- Endpoint: GET https://ats-jobs-api.groundtruthtools.workers.dev/x402/v1/hiring-summary?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ats-jobs-api-hiring-summary-805760b2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YoYxWHWQIVZ54MhVhEnYx

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-hiring-summary-805760b2
```

Example prompt: Pull the hiring summary for Stripe — I want to see how many open roles they have, how the numbers have moved over the last 30 days, and what the salary ranges look like.

## When to prefer this

Use this endpoint when you need structured, first-hand hiring data sourced directly from a company's ATS rather than scraped job-board aggregators. It is the right choice when you need accurate open-role counts, department/location breakdowns, or recent hiring velocity for a specific named company, and especially when salary data (parsed into numbers, not free text) is required. Prefer it over generic job-search APIs when the query is company-centric rather than keyword/skill-centric.

## Known failure modes

- Company slug not found in the 8,532-company directory → likely 404 or empty result
- ATS board temporarily unavailable or rate-limited → upstream fetch failure
- Company publishes no salary data → salary block returns zero roles_with_salary
- Ambiguous salary format → salary field deliberately omitted per design
- Invalid or misspelled company parameter → no matching board found
- Days parameter out of supported range → unexpected activity window behavior

## 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

A JSON object containing: the company's ATS platform, total open roles, a breakdown of open roles by department and by location, count of remote roles, a 'recent' activity block (roles opened/closed/changed/reopened in the window), and a salary block with per-currency stats (lowest, highest, median midpoint, share of roles with salary). Data is read directly from the company's ATS board.

## 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": [
      "company"
     ],
     "properties": {
      "days": {
       "type": "string"
      },
      "company": {
       "type": "string"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ats": "greenhouse",
  "board": "stripe",
  "recent": {
   "since": "2026-10-31",
   "until": "2026-11-29",
   "closed": 22,
   "opened": 37,
   "changed": 9,
   "reopened": 1,
   "available": true,
   "net_change": 16,
   "window_days": 30
  },
  "salary": {
   "by_currency": [
    {
     "roles": 221,
     "lowest": 98000,
     "highest": 420000,
     "currency": "USD",
     "median_midpoint": 214000
    }
   ],
   "roles_with_salary": 230,
   "share_with_salary": 0.558
  },
  "company": "Stripe",
  "open_roles": 412,
  "by_location": [
   {
    "open": 96,
    "location": "San Francisco"
   },
   {
    "open": 41,
    "location": "Dublin"
   }
  ],
  "remote_roles": 38,
  "by_department": [
   {
    "open": 141,
    "department": "Engineering"
   },
   {
    "open": 88,
    "department": "Sales"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ats-jobs-api-hiring-summary-805760b2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ats-jobs-api.groundtruthtools.workers.dev](https://www.zero.xyz/host/ats-jobs-api.groundtruthtools.workers.dev/llms.txt)
