# SpareRoom Listing Scraper (x402)

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

Scrapes structured room and flatshare listings from SpareRoom UK or US, returning titles, descriptions, locations, amenities, photos, and coordinates for each result.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/spareroom?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/spareroom-listing-scraper-x402-31573a21
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CtLOPEZvdZLdo21ZC6-AM

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 spareroom-listing-scraper-x402-31573a21 -d '<json body>'
```

Example prompt: Search SpareRoom for rooms to rent in the E14 postcode district in the UK — grab up to 50 listings with full details like descriptions, amenities, photos, and coordinates.

## When to prefer this

Use this endpoint when you need structured SpareRoom listing data for UK or US room rentals, especially when you want to process multiple listings programmatically, analyze rental markets by postcode or city, or build a pipeline that requires amenity, photo, and coordinate data. It is purpose-built for SpareRoom and handles both UK postcode districts and US cities natively, making it far more reliable than a generic web scraper for this specific platform.

## Known failure modes

- SpareRoom blocks or rate-limits the scraper — empty result set returned, no charge
- Invalid or inaccessible start URL — empty items array
- Postcode district not recognized as UK — may default to US interpretation if country is set to auto
- maxPages cap of 100 limits broad searches to at most 1000 listings
- SpareRoom changes its page structure — fields may be null or missing
- Network timeout on detail page visits when includeDetails is true

## How this service works

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

## Output

A JSON object containing a count of results and an array of listing items, each with fields including URL, title, ad type, summary, location, listing ID, description, neighborhood, and (when includeDetails is true) full descriptions, availability dates, amenities, photos, and geographic coordinates. The product field identifies this as 'spareroom' data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "country": {
   "enum": [
    "auto",
    "UK",
    "US"
   ],
   "type": "string",
   "default": "auto",
   "description": "Auto treats UK postcode districts as UK and other bare locations as US. Full URLs always determine the country."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Maximum number of listings from each start URL or location. Set a smaller limit for a quick sample."
  },
  "maxPages": {
   "type": "integer",
   "default": 100,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum search-result pages to visit per start URL. SpareRoom exposes at most 100 pages of ten listings for broad searches."
  },
  "startUrls": {
   "type": "array",
   "description": "Public SpareRoom UK or US search and listing URLs, UK postcode districts such as E14, or US cities such as Los Angeles. Use country to interpret bare locations."
  },
  "maxTotalItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Optional cap across all start URLs. Zero means use only the per-start limit."
  },
  "includeDetails": {
   "type": "boolean",
   "default": true,
   "description": "Visit public listing pages for full descriptions, availability, amenities, photos, and location coordinates. Turning this off returns search-card fields only."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "adType": null,
    "summary": null,
    "location": null,
    "listingId": null,
    "description": null,
    "neighborhood": null
   }
  ],
  "product": "spareroom"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/spareroom-listing-scraper-x402-31573a21/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)
