# SpareRoom Listings Scraper

> SpareRoom Listings Scraper 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-01).

Scrapes structured room and flatmate listings from SpareRoom UK and US, returning details such as title, location, description, neighborhood, and listing ID.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/spareroom?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/spareroom-listings-scraper-c0f5d741
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pMoc3yMcA-AAFZqQVXI31

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-listings-scraper-c0f5d741 -d '<json body>'
```

Example prompt: Pull up to 50 SpareRoom listings in the E14 postcode district in the UK, including full descriptions, amenities, and location coordinates.

## When to prefer this

Use this endpoint when you need structured room or flatmate listing data from SpareRoom (UK or US) without building and maintaining your own scraper. It is especially useful for relocation assistants, rental market analysis tools, or agents helping users find shared accommodation, and it charges only on successful non-empty runs.

## Known failure modes

- Empty result set if SpareRoom has no listings for the given location or URL — call is not charged
- Invalid or non-SpareRoom URLs return an error or empty items array
- Exceeding 100 pages per start URL silently caps at 100 pages
- Country auto-detection may misclassify ambiguous location strings — use the country parameter explicitly to avoid this
- SpareRoom may throttle or block scraping, resulting in partial results

## 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 listings and an array of items, each with fields such as URL, title, ad type, summary, location, listing ID, description, and neighborhood. When includeDetails is true, additional fields like full description, availability, amenities, photos, and GPS coordinates are included.

## 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-listings-scraper-c0f5d741/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)
