# Job Compensation Data – Normalized Salary Bands Across ATS Platforms

> Job Compensation Data – Normalized Salary Bands Across ATS Platforms is a paid API for AI agents from assetfactory-jobs-x402.sigrunner.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Fetches and normalizes compensation data (min/max salary, currency, period, annualized) from up to 25 company job boards across 10 ATS platforms, returning per-posting salary bands plus per-company disclosure rates and median bands.

## Facts

- Endpoint: GET https://assetfactory-jobs-x402.sigrunner.workers.dev/jobs/comp?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/job-compensation-data-normalized-salary-bands-across-ats-platforms-b8abcb6f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_sX5rcb_H7ZVmtbgl_6EQ3

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 job-compensation-data-normalized-salary-bands-across-ats-platforms-b8abcb6f
```

Example prompt: Pull the normalized salary bands for Stripe, OpenAI, and Anthropic from their job boards — up to 100 postings per company — and only include roles where compensation is actually disclosed.

## When to prefer this

Choose this endpoint when you need structured, normalized salary data pulled directly from live company ATS job boards across multiple platforms simultaneously — especially when companies use different ATS systems (Ashby, Greenhouse, Lever, etc.) and you need apples-to-apples salary comparison. Prefer this over scraping individual job boards manually or using static salary databases when you want real-time disclosed compensation with per-company disclosure rate analytics. Best for compensation benchmarking, pay transparency audits, and recruiting intelligence workflows.

## Known failure modes

- Unknown company domain or slug returns empty results or no matched ATS platform
- companies parameter missing causes 400 validation error
- Requesting more than 25 companies at once may be rejected or truncated
- disclosedOnly=true with a company that has no pay transparency returns empty jobs array
- Rate limiting or upstream ATS unavailability may cause partial results or timeout
- Invalid or unsupported ATS platform token returns no data for that company

## How this service works

One maintained, normalized jobs data API that scrapes open job postings and listings across 10 applicant-tracking systems (Greenhouse, Lever, Ashby, SmartRecruiters, Workday, Recruitee, Workable, BambooHR, Breezy, Personio) with company-domain auto-detection. Use it to list a company’s open roles, find remote software-engineering / sales / any jobs, detect whether a company is hiring, and pull recruiting, salary and requirements data. Pay per call in USDC on Base via x402 (HTTP 402) — no account, no API key. Adapters are drift-monitored and maintained so the feed does not rot.

## Output

A JSON response containing a list of job postings each with normalized compensation fields (min, max, currency, period, annualized min/max, source type), plus a summary array per company showing total postings scanned, number with disclosed pay, disclosure rate, and median annual salary band. Also includes a generated_at timestamp.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "companies"
     ],
     "properties": {
      "companies": {
       "type": "string",
       "description": "Comma-separated company domains / slugs / \"platform:token\" (up to 25). The ATS + board token are auto-detected across all 10 supported platforms."
      },
      "disclosedOnly": {
       "type": "boolean",
       "default": false,
       "description": "When true, drop postings with no disclosed comp."
      },
      "maxPerCompany": {
       "type": "integer",
       "default": 100,
       "maximum": 200,
       "minimum": 1,
       "description": "Max postings scanned per company (bounds compute)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "jobs": [
   {
    "id": "ashby-abc123",
    "url": "https://jobs.ashbyhq.com/openai/abc123",
    "comp": {
     "max": 385000,
     "min": 245000,
     "period": "year",
     "source": "structured",
     "currency": "USD",
     "annualized": {
      "max": 385000,
      "min": 245000
     }
    },
    "title": "Research Engineer",
    "company": "openai",
    "location": "San Francisco",
    "source_platform": "ashby"
   }
  ],
  "count": 1,
  "summary": [
   {
    "company": "openai",
    "currency": "USD",
    "postings": 1,
    "disclosed": 1,
    "disclosure_rate": 1,
    "median_annual_max": 385000,
    "median_annual_min": 245000
   }
  ],
  "generated_at": "2026-10-29T00:00:00.000Z",
  "disclosed_count": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/job-compensation-data-normalized-salary-bands-across-ats-platforms-b8abcb6f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from assetfactory-jobs-x402.sigrunner.workers.dev](https://www.zero.xyz/host/assetfactory-jobs-x402.sigrunner.workers.dev/llms.txt)
