# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/zoopla/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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/credits/zoopla/get-property-listing-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/zoopla/search-estate-agents \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/zoopla/search-properties-for-sale \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/zoopla/search-properties-to-rent \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/zoopla/search-sold-house-prices \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.