# Zoopla — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for properties available for sale or rent, view detailed listing information, check sold house prices, and find local estate agents all in one place. Get access to live marketplace data to help you research properties, compare prices, and connect with agents on the Zoopla platform.

**Category:** Real Estate | **Website:** [zoopla.co.uk/](https://zoopla.co.uk/) | **Docs:** [parse.bot/marketplace/ecf030e9-dcde-49dd-8f65-c47327540c4b/zoopla-co-uk-api](https://parse.bot/marketplace/ecf030e9-dcde-49dd-8f65-c47327540c4b/zoopla-co-uk-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_property_listing_details

Get full details of a specific property listing by its Zoopla listing ID. Tries for-sale first, then to-rent if not found. Returns property metadata including address, type, room counts, agent details, location coordinates, and utility information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | Zoopla listing ID (numeric string, e.g., '73036018'). Obtainable from search_properties_for_sale or search_properties_to_rent results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/get_property_listing_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listing_id":"<string>"}'
```

### search_estate_agents

Search for estate agents in a specific location. Returns a paginated list of agents with contact details, logo, display address, and listing statistics (average asking price, weeks on market, available listings for both sales and lettings).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes | Location slug matching Zoopla URL structure (e.g., 'london', 'manchester'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/search_estate_agents \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>"}'
```

### search_properties_for_sale

Search properties for sale in a specific UK location. Returns paginated results including featured and regular listings with price, address, property type, and listing metadata. Location is a slug matching Zoopla's URL structure (city, town, or postcode area). Pagination via page number; each page returns ~25 listings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes | Location slug matching Zoopla URL structure (e.g., 'london', 'manchester', 'se1', 'oxford'). |
| `max_beds` | integer | No | Maximum number of bedrooms. |
| `max_price` | integer | No | Maximum price in GBP. |
| `min_beds` | integer | No | Minimum number of bedrooms. |
| `min_price` | integer | No | Minimum price in GBP. |
| `page` | integer | No | Page number for pagination. |
| `property_type` | string | No | Property type slug. |
| `radius` | integer | No | Search radius in miles. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/search_properties_for_sale \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","max_beds":"<integer>","max_price":"<integer>","min_beds":"<integer>","min_price":"<integer>","page":"<integer>","property_type":"<string>","radius":"<integer>"}'
```

### search_properties_to_rent

Search properties to rent in a specific UK location. Returns paginated results including featured and regular rental listings with monthly price, address, property type, and listing metadata. Each page returns ~25 listings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes | Location slug matching Zoopla URL structure (e.g., 'london', 'manchester', 'se1', 'oxford'). |
| `max_beds` | integer | No | Maximum number of bedrooms. |
| `max_price` | integer | No | Maximum monthly rent in GBP (pcm). |
| `min_beds` | integer | No | Minimum number of bedrooms. |
| `min_price` | integer | No | Minimum monthly rent in GBP (pcm). |
| `page` | integer | No | Page number for pagination. |
| `property_type` | string | No | Property type slug. |
| `radius` | integer | No | Search radius in miles. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/search_properties_to_rent \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","max_beds":"<integer>","max_price":"<integer>","min_beds":"<integer>","min_price":"<integer>","page":"<integer>","property_type":"<string>","radius":"<integer>"}'
```

### search_sold_house_prices

Search sold house prices in a specific area. Returns paginated results with property sale history including last sale price and date, full address, and property attributes (bedrooms, bathrooms, floor area, tenure). Uses cursor-based pagination internally but exposes page numbers.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes | Location slug matching Zoopla URL structure (e.g., 'london', 'manchester', 'se1'). |
| `max_baths` | integer | No | Maximum number of bathrooms. |
| `max_beds` | integer | No | Maximum number of bedrooms. |
| `min_baths` | integer | No | Minimum number of bathrooms. |
| `min_beds` | integer | No | Minimum number of bedrooms. |
| `page` | integer | No | Page number for pagination. |
| `property_type` | string | No | Property type code for sold prices. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zoopla-co-uk-api-ecf030e9/search_sold_house_prices \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","max_baths":"<integer>","max_beds":"<integer>","min_baths":"<integer>","min_beds":"<integer>","page":"<integer>","property_type":"<string>"}'
```
