# Glassdoor Jobs Search API

> Glassdoor Jobs Search API is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes and returns structured Glassdoor job listings based on keywords, location, filters, and sorting preferences

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/glassdoor-jobs?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/glassdoor-jobs-search-api-1a67cff2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_MevQ4_l0WT5iawPDRgsFQ

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 glassdoor-jobs-search-api-1a67cff2 -d '<json body>'
```

Example prompt: Search Glassdoor for up to 50 software engineer jobs in Austin, TX within 25 miles, posted in the last 14 days, sorted by date, with easy apply only and a minimum employer rating of 3.5 — include full job descriptions.

## When to prefer this

Use this endpoint when you need structured Glassdoor job data at scale without managing your own scraper infrastructure. It is ideal for job board aggregators, recruiting tools, labor market analysts, or job-alert systems that need fresh, filtered Glassdoor listings with full descriptions. Prefer it over generic web scrapers when you want pre-structured JSON output with Glassdoor-specific filters like employer rating, easy apply, and employer size. The pay-per-successful-call pricing means no cost for failed or empty runs.

## Known failure modes

- Empty result set if no Glassdoor jobs match the given filters (not charged)
- Failed run due to Glassdoor anti-scraping measures or downtime (not charged)
- Invalid location string returns no results or wrong geographic match
- Radius or daysOld values outside allowed ranges cause validation errors
- Very high limit values may increase response latency significantly

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched jobs and an array of job items, each containing the job ID, URL, title, employer rating, SEO URL, age in days, easy apply flag, and discovery timestamp. When includeDescription is true, each item also includes the full job description and additional employer and job fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "limit": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Maximum number of unique jobs to save."
  },
  "radius": {
   "enum": [
    "0",
    "5",
    "10",
    "15",
    "25",
    "50",
    "100"
   ],
   "type": "string",
   "default": "25",
   "description": "Distance in miles from the selected location."
  },
  "sortBy": {
   "enum": [
    "relevant_desc",
    "date_desc"
   ],
   "type": "string",
   "default": "relevant_desc",
   "description": "Sort by relevance or posting date."
  },
  "daysOld": {
   "type": "integer",
   "maximum": 365,
   "minimum": 1,
   "description": "Only jobs posted within this many days. Leave empty for any age."
  },
  "keywords": {
   "type": "string",
   "description": "Job title, skill, or search phrase."
  },
  "location": {
   "type": "string",
   "description": "City, state, or country to search. The first matching public location is used."
  },
  "urlParam": {
   "type": "array",
   "description": "Optional supported search filter key and value pairs, such as industryNId. Values override matching standard filters."
  },
  "easyApply": {
   "type": "boolean",
   "default": false,
   "description": "Return jobs marked Easy Apply."
  },
  "minRating": {
   "type": "number",
   "maximum": 5,
   "minimum": 0,
   "description": "Filter by employer rating from 0 to 5."
  },
  "employerSizes": {
   "enum": [
    "",
    "1",
    "2",
    "3",
    "4",
    "5"
   ],
   "type": "string",
   "default": "",
   "description": "Filter by the site employer size category."
  },
  "excludeJobIds": {
   "type": "array",
   "description": "Job IDs already collected in earlier runs."
  },
  "remoteWorkType": {
   "type": "boolean",
   "default": false,
   "description": "Apply the remote work filter."
  },
  "includeDescription": {
   "type": "boolean",
   "default": true,
   "description": "Fetch each job detail to include the full description and extra employer and job fields."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "title": null,
    "rating": null,
    "seoUrl": null,
    "ageInDays": null,
    "easyApply": null,
    "discoveredAt": null
   }
  ],
  "product": "glassdoor-jobs"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/glassdoor-jobs-search-api-1a67cff2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
