# TotalJobs UK Job Listings Scraper

> TotalJobs UK Job Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.028/call, status unknown (last checked 2026-10-02).

Scrapes structured job listing data from TotalJobs.com including titles, companies, locations, and salary details based on keyword search or direct URLs

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/totaljobs?utm_source=zero.xyz
- Price: $0.028/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/totaljobs-uk-job-listings-scraper-a819363d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0YuJ0CKTfKN5bts_sR3Pv

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 totaljobs-uk-job-listings-scraper-a819363d -d '<json body>'
```

Example prompt: Search TotalJobs for software engineer jobs in London, permanent roles only, posted within the last 14 days, sorted by date, and pull up to 50 listings with full details including salary and job description.

## When to prefer this

Choose this endpoint when you need structured, machine-readable job listing data from TotalJobs.com specifically — particularly for UK-focused job searches. Prefer it over generic web scrapers when you want pre-parsed fields like company, salary, and location without building your own extraction logic. It is well-suited for recruitment research, job market analysis, or automated job monitoring workflows targeting the UK market.

## Known failure modes

- Empty result set if query matches no live listings — not charged
- TotalJobs site structure changes breaking extraction
- Invalid enum value for sort or jobType returns validation error
- maxPages exceeding 100 rejected by schema
- Radius set without location has no effect
- Rate limiting or blocking by TotalJobs if volume is very high

## How this service works

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

## Output

Returns a JSON object containing a count of results and an array of job items, each with fields for job title, job key, company name, location, post code, company ID, company URL, and company logo URL. When includeDetails is true, also returns full job description, salary, employment type, and location coordinates.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "relevance",
    "date",
    "salaryLow",
    "salaryHigh",
    "distance"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Order shown by the public search page."
  },
  "query": {
   "type": "string",
   "description": "Job title or search phrase. Required when Start URLs is empty."
  },
  "radius": {
   "type": "integer",
   "minimum": 1,
   "description": "Distance from the location; only applies when Location is set."
  },
  "jobType": {
   "enum": [
    "",
    "permanent",
    "contract",
    "part-time",
    "temporary",
    "work-from-home"
   ],
   "type": "string",
   "default": "",
   "description": "Public job category path used to narrow the search."
  },
  "location": {
   "type": "string",
   "description": "UK town, city, or region to add to the search path."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many unique jobs. Set 0 for no item cap."
  },
  "maxPages": {
   "type": "integer",
   "default": 10,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum pages to visit for each search URL. Each page normally has 25 jobs."
  },
  "minSalary": {
   "type": "integer",
   "minimum": 0,
   "description": "Annual salary threshold in GBP."
  },
  "startUrls": {
   "type": "array",
   "description": "Search result or individual job URLs. Overrides the keyword search."
  },
  "postedWithin": {
   "type": "integer",
   "minimum": 1,
   "description": "Show listings posted within this many days."
  },
  "includeDetails": {
   "type": "boolean",
   "default": false,
   "description": "Fetch each job page for the full description, salary, employment type, and location coordinates."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "title": null,
    "jobKey": null,
    "company": null,
    "location": null,
    "postCode": null,
    "companyId": null,
    "companyUrl": null,
    "companyLogoUrl": null
   }
  ],
  "product": "totaljobs"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/totaljobs-uk-job-listings-scraper-a819363d/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)
