# TotalJobs UK Job Listings Scraper

> TotalJobs UK Job Listings Scraper is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.028/call, status unknown (last checked 2026-10-02).

Scrapes structured job listing data from TotalJobs.com, returning job titles, companies, locations, and optional full details, filtered by keyword, location, job type, and salary.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-f87d3c42
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qgSiJw8dyFoHq7H1pl7fA

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-f87d3c42 -d '<json body>'
```

Example prompt: Search TotalJobs for permanent software engineer jobs in Manchester posted within the last 7 days, sorted by date, and return up to 50 listings including their full descriptions and salary details.

## When to prefer this

Choose this endpoint when you need structured job listing data specifically from TotalJobs.com for the UK job market, especially when you want to filter by UK location, job type, salary threshold, or recency. Prefer this over generic web scrapers when you need clean, structured output (title, company, location, salary) without building custom parsing logic. It is pay-per-call with no charge for failed or empty runs, making it cost-efficient for exploratory searches.

## Known failure modes

- Empty result set if query matches no listings — not charged
- TotalJobs site structure change breaking scraper — may return partial or empty data
- Invalid enum value for sort or jobType causing validation error
- maxPages or maxItems set too low, returning fewer results than expected
- startUrls pointing to non-TotalJobs pages yielding no results
- Rate limiting or blocking by TotalJobs CDN causing incomplete page retrieval

## 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 title, jobKey, company name, location, postcode, companyId, companyUrl, and companyLogoUrl. When includeDetails is true, also includes full 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-f87d3c42/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
