# Zoopla API guide



## Choose a Zoopla operation



Start with the object your task needs. The groups below use the current catalogue; open an endpoint to check accepted identifiers, filters, price and availability before retrieving.



### Other operations



- [Zoopla agent](https://www.monocrawl.com/docs/endpoints/zoopla/agent) — One agent branch's page: address, telephone, website and social links, memberships, description, photos and position.

- [Zoopla agents](https://www.monocrawl.com/docs/endpoints/zoopla/agents) — The agent branches in an area with each one's market figures: homes available, average asking price and weeks on the market, for sale and to rent.

- [Zoopla postcode area](https://www.monocrawl.com/docs/endpoints/zoopla/area) — The house-prices area for a postcode: its path (for zoopla/estimates and zoopla/agents), name and kind.

- [Zoopla street estimates](https://www.monocrawl.com/docs/endpoints/zoopla/estimates) — Every address along one street with the portal's sale estimate, its attributes and its recorded sales, plus the street's market line (average price paid, properties sold).

- [Zoopla area lookup](https://www.monocrawl.com/docs/endpoints/zoopla/locations) — The areas the portal knows for a name, each with the identifier and label the searches take.

- [Zoopla property](https://www.monocrawl.com/docs/endpoints/zoopla/property) — One listing's page: title, address and UPRN, rooms and floor area, price with its qualifier and price per square foot, tenure, the portal's key facts (service charge, council tax, water…), EPC rating, description and features, photos, floorplans, transport and schools nearby, price history and the agent branch.

- [Zoopla sold prices](https://www.monocrawl.com/docs/endpoints/zoopla/sold-prices) — The Land Registry sales in an area as the portal indexes them: each address with its last sale, its attributes and its UPRN, and the area's average prices by property type.

- [Zoopla street lookup](https://www.monocrawl.com/docs/endpoints/zoopla/streets) — The streets and addresses the house-prices index knows for a name, each with the path zoopla/estimates takes.

- [Zoopla valuation](https://www.monocrawl.com/docs/endpoints/zoopla/valuation) — The portal's valuation of one address, by UPRN or by street address: the current sale and rent estimates with their range and confidence, the estimate's history, the Land Registry sales, live and similar listings nearby, and the schools and stations around it.



### Posts and media



- [Zoopla property history](https://www.monocrawl.com/docs/endpoints/zoopla/property-history) — The recorded sales of one address (date, price, change since the sale before) and the listings the portal has seen for it.



### Search and discovery



- [Zoopla homes to rent](https://www.monocrawl.com/docs/endpoints/zoopla/search-rent) — Homes to rent in an area: address, title, rooms, monthly rent and its label, available-from date, agent, photos and position; the portal's featured homes beside them.

- [Zoopla homes for sale](https://www.monocrawl.com/docs/endpoints/zoopla/search-sale) — Homes for sale in an area: address, title, rooms, price and its label, flag, agent, photos and position; the portal's featured homes beside them.



## Check fields and collection limits



Use the endpoint’s declared parameters and returned continuation. Filters from another platform do not automatically apply here. Preserve source identifiers, URLs and warnings; a successful page does not establish complete history. Published response schemas identify whether they come from a reviewed shaper or observed response shapes.



Agents can use `get_endpoint` for the current contract and `get_docs` with topic `platforms/zoopla` to read this page. The [coverage guide](https://www.monocrawl.com/docs/data-availability) explains nulls and partial results, and the [production guide](https://www.monocrawl.com/docs/production-checklist) covers budgets and recovery.



## Endpoint reference

## zoopla/agent

`GET /v1/zoopla/agent`

One agent branch's page: address, telephone, website and social links, memberships, description, photos and position.

*Zoopla agent*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The branch id from zoopla/agents (or pass url, the branch's page) — e.g. `55447` |
| `url` | no | The branch's page URL instead of an id |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/agent?id=55447" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "about": "example",
  "address": "example",
  "commercial": {},
  "for_sale": {
    "available": 0,
    "average_asking_price": 0,
    "average_weeks_on_market": 0
  },
  "id": "example",
  "images": [],
  "latitude": 0,
  "logo_url": "https://example.com/example",
  "longitude": 0,
  "memberships": [
    {
      "name": "example",
      "url": "https://example.com/example"
    }
  ],
  "name": "example",
  "outcode": "example",
  "phone": "example",
  "platform": "example",
  "postcode": "example",
  "social": {
    "facebook": "example"
  },
  "staff": [],
  "to_rent": {
    "available": 0,
    "average_asking_price": 0,
    "average_weeks_on_market": 0
  },
  "type": "example",
  "url": "https://example.com/example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/agent#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/agent.json)


## zoopla/agents

`GET /v1/zoopla/agents`

The agent branches in an area with each one's market figures: homes available, average asking price and weeks on the market, for sale and to rent.

*Zoopla agents*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | no | A postcode, town or area name; resolved once and remembered (or pass identifier) — e.g. `Oxford` |
| `identifier` | no | An area identifier from zoopla/locations or a path from zoopla/area — e.g. `oxford` |
| `page` | no | Page number (25 a page) — e.g. `1` |
| `radius` | no | Miles around the area: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 or 40 Accepted values: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, 40. Case, spaces, hyphens and underscores are interchangeable. |
| `type` | no | sales, lettings or commercial Accepted values: sales, lettings, commercial, estate-agents, letting-agents, commercial-agents. Case, spaces, hyphens and underscores are interchangeable. |
| `name` | no | Only agents whose name contains this |
| `sort` | no | a_z, shortest_avg_age, highest_avg_price or lowest_avg_price Accepted values: a_z, shortest_avg_age, highest_avg_price, lowest_avg_price. Case, spaces, hyphens and underscores are interchangeable. — e.g. `a_z` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/agents" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "has_more": false,
  "items": [
    {
      "about": "example",
      "address": "example",
      "featured": false,
      "for_sale": {
        "available": 0,
        "average_asking_price": 0,
        "average_weeks_on_market": 0
      },
      "id": "example",
      "logo_url": "https://example.com/example",
      "name": "example",
      "phone": "example",
      "platform": "example",
      "to_rent": {
        "available": 0,
        "average_asking_price": 0,
        "average_weeks_on_market": 0
      },
      "type": "example",
      "url": "https://example.com/example"
    }
  ],
  "location": {
    "identifier": "example",
    "name": "example"
  },
  "page": 0,
  "pages": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/agents#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/agents.json)


## zoopla/area

`GET /v1/zoopla/area`

The house-prices area for a postcode: its path (for zoopla/estimates and zoopla/agents), name and kind.

*Zoopla postcode area*

| Parameter | Required | Description |
| --- | --- | --- |
| `postcode` | yes | A full postcode, or an area name — e.g. `SW2 1AH` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/area?postcode=SW2%201AH" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "kind": "example",
  "name": "example",
  "path": "example",
  "platform": "example",
  "query": "example",
  "short_name": "example",
  "type": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/area#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/area.json)


## zoopla/estimates

`GET /v1/zoopla/estimates`

Every address along one street with the portal's sale estimate, its attributes and its recorded sales, plus the street's market line (average price paid, properties sold).

*Zoopla street estimates*

| Parameter | Required | Description |
| --- | --- | --- |
| `path` | yes | A street path from zoopla/streets or zoopla/area — e.g. `london/oxford-road-se19` |
| `page` | no | Page number — e.g. `1` |
| `limit` | no | Addresses per page, 1 to 50 — e.g. `12` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/estimates?path=london%2Foxford-road-se19" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "has_more": false,
  "items": [
    {
      "address": "example",
      "attributes": {
        "bathrooms": 0,
        "bedrooms": 0,
        "living_rooms": 0,
        "property_type": "example",
        "tenure": "example"
      },
      "historic_listings": [
        {}
      ],
      "last_sale": {
        "date": "2026-09-01T12:00:00Z",
        "price": 0
      },
      "latitude": 0,
      "longitude": 0,
      "platform": "example",
      "sale_estimate": {
        "confidence": "example",
        "value": 0
      },
      "sales": [
        {}
      ],
      "type": "example",
      "uprn": "example"
    }
  ],
  "page": 0,
  "street": {
    "kind": "example",
    "name": "example",
    "path": "example",
    "short_name": "example"
  },
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/estimates#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/estimates.json)


## zoopla/locations

`GET /v1/zoopla/locations`

The areas the portal knows for a name, each with the identifier and label the searches take.

*Zoopla area lookup*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A postcode, town or area name — e.g. `Oxford` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/locations?query=Oxford" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "identifier": "example",
      "name": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/locations#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/locations.json)


## zoopla/property

`GET /v1/zoopla/property`

One listing's page: title, address and UPRN, rooms and floor area, price with its qualifier and price per square foot, tenure, the portal's key facts (service charge, council tax, water…), EPC rating, description and features, photos, floorplans, transport and schools nearby, price history and the agent branch.

*Zoopla property*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | The listing number (or pass url, the listing's page) — e.g. `69200045` |
| `url` | no | The listing's page URL instead of an id |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/property?id=69200045" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "address": "example",
  "agent": {
    "id": "example",
    "logo_url": "https://example.com/example",
    "member_type": "example",
    "name": "example",
    "phone": "example",
    "url": "https://example.com/example"
  },
  "auction": false,
  "bathrooms": 0,
  "bedrooms": 0,
  "brochures": [],
  "category": "example",
  "chain_free": false,
  "condition": "example",
  "currency": "example",
  "description": "example",
  "details": [
    {
      "key": "example",
      "title": "example",
      "value": "example"
    }
  ],
  "epc_rating": "example",
  "epcs": [
    {
      "url": "https://example.com/example"
    }
  ],
  "floor_area": {
    "label": "example",
    "source": "example",
    "units": "example",
    "value": 0
  },
  "floorplans": [
    {
      "url": "https://example.com/example"
    }
  ],
  "highlights": [],
  "id": "example",
  "image_count": 0,
  "key_features": [
    "example"
  ],
  "latitude": 0,
  "living_rooms": 0,
  "longitude": 0,
  "outcode": "example",
  "photos": [
    {
      "caption": "example",
      "url": "https://example.com/example"
    }
  ],
  "platform": "example",
  "points_of_interest": [],
  "postcode": "example",
  "price": 0,
  "price_history": {
    "changes": []
  },
  "price_label": "example",
  "price_per_area": "example",
  "price_qualifier": "example",
  "property_type": "example",
  "published_at": "2026-09-01T12:00:00Z",
  "retirement_home": false,
  "shared_ownership": false,
  "status": "example",
  "street": "example",
  "tags": [
    "example"
  ],
  "tenure": "example",
  "title": "example",
  "town": "example",
  "transaction": "example",
  "transports": [
    {
      "distance_miles": 0,
      "name": "example",
      "type": "example"
    }
  ],
  "type": "example",
  "uprn": "example",
  "url": "https://example.com/example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/property#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/property.json)


## zoopla/property-history

`GET /v1/zoopla/property-history`

The recorded sales of one address (date, price, change since the sale before) and the listings the portal has seen for it.

*Zoopla property history*

| Parameter | Required | Description |
| --- | --- | --- |
| `uprn` | yes | The property's UPRN, from zoopla/property or zoopla/estimates — e.g. `10013983744` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/property-history?uprn=10013983744" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "listings": [],
  "platform": "example",
  "sales": [
    {
      "change": 0,
      "change_pct": 0,
      "date": "2026-09-01T12:00:00Z",
      "price": 0
    }
  ],
  "type": "example",
  "uprn": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/property-history#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/property-history.json)


## zoopla/search-rent

`GET /v1/zoopla/search-rent`

Homes to rent in an area: address, title, rooms, monthly rent and its label, available-from date, agent, photos and position; the portal's featured homes beside them.

*Zoopla homes to rent*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | no | A postcode, town or area name; resolved to the portal's identifier once and remembered (or pass identifier and label) — e.g. `Oxford` |
| `identifier` | no | An area identifier from zoopla/locations — e.g. `oxford` |
| `label` | no | The area's label from zoopla/locations, sent with the identifier — e.g. `Oxford, Oxfordshire` |
| `page` | no | Page number — e.g. `1` |
| `radius` | no | Miles around the area: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 or 40 Accepted values: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, 40. Case, spaces, hyphens and underscores are interchangeable. |
| `min_price` | no | Minimum monthly rent in pounds |
| `max_price` | no | Maximum monthly rent in pounds |
| `min_bedrooms` | no | Minimum bedrooms |
| `max_bedrooms` | no | Maximum bedrooms |
| `min_bathrooms` | no | Minimum bathrooms |
| `max_bathrooms` | no | Maximum bathrooms |
| `property_type` | no | detached, semi_detached, terraced, flats, bungalow; several separated by commas Accepted values (comma-separated): detached, semi_detached, terraced, flats, bungalow. Case, spaces, hyphens and underscores are interchangeable. — e.g. `flats` |
| `sort` | no | newest, highest_price, lowest_price or most_reduced Accepted values: newest, newest_listings, highest_price, lowest_price, most_reduced. Case, spaces, hyphens and underscores are interchangeable. — e.g. `newest` |
| `keywords` | no | Words the listing must mention |
| `must_have` | no | has_garden, has_parking_garage, has_balcony_terrace and the portal's other must-haves; separated by commas |
| `features` | no | The portal's property-feature codes, separated by commas |
| `added` | no | Only homes added in the last 1, 3, 7, 14 or 30 days Accepted values: 1, 3, 7, 14, 30, 24_hours, 3_days, 7_days, 14_days, 30_days. Case, spaces, hyphens and underscores are interchangeable. |
| `include_rented` | no | Include homes already let or let agreed — e.g. `false` |
| `furnished` | no | any, furnished, part_furnished or unfurnished Accepted values: any, furnished, part_furnished, unfurnished. Case, spaces, hyphens and underscores are interchangeable. |
| `available_from` | no | now, 1months, 3months, 6months or 12months Accepted values: now, 1months, 3months, 6months, 12months. Case, spaces, hyphens and underscores are interchangeable. |
| `retirement_homes` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `house_share` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `student` | no | Student accommodation: include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/search-rent" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "channel": "example",
  "count": 0,
  "cursor": null,
  "extended": [],
  "featured": [],
  "has_more": false,
  "items": [
    {
      "address": "example",
      "agent": {
        "id": "example",
        "logo_url": "https://example.com/example",
        "name": "example",
        "phone": "example",
        "url": "https://example.com/example"
      },
      "alternative_price_label": "example",
      "available_from": "example",
      "bathrooms": 0,
      "bedrooms": 0,
      "currency": "example",
      "flag": "example",
      "floor_area": {
        "label": "example",
        "source": "example",
        "units": "example",
        "value": 0
      },
      "floorplan_count": 0,
      "highlights": [],
      "id": "example",
      "image_count": 0,
      "image_url": "https://example.com/example",
      "images": [
        "example"
      ],
      "listed_on": "example",
      "living_rooms": 0,
      "platform": "example",
      "premium": false,
      "price": 0,
      "price_label": "example",
      "property_type": "example",
      "short_price": "example",
      "summary": "example",
      "tags": [
        "example"
      ],
      "title": "example",
      "transports": [],
      "type": "example",
      "under_offer": false,
      "url": "https://example.com/example",
      "video_count": 0
    }
  ],
  "location": {
    "identifier": "example",
    "name": "example"
  },
  "page": 0,
  "pages": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/search-rent#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/search-rent.json)


## zoopla/search-sale

`GET /v1/zoopla/search-sale`

Homes for sale in an area: address, title, rooms, price and its label, flag, agent, photos and position; the portal's featured homes beside them.

*Zoopla homes for sale*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | no | A postcode, town or area name; resolved to the portal's identifier once and remembered (or pass identifier and label) — e.g. `Oxford` |
| `identifier` | no | An area identifier from zoopla/locations — e.g. `oxford` |
| `label` | no | The area's label from zoopla/locations, sent with the identifier — e.g. `Oxford, Oxfordshire` |
| `page` | no | Page number — e.g. `1` |
| `radius` | no | Miles around the area: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 or 40 Accepted values: 0, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, 40. Case, spaces, hyphens and underscores are interchangeable. |
| `min_price` | no | Minimum asking price in pounds |
| `max_price` | no | Maximum asking price in pounds |
| `min_bedrooms` | no | Minimum bedrooms |
| `max_bedrooms` | no | Maximum bedrooms |
| `min_bathrooms` | no | Minimum bathrooms |
| `max_bathrooms` | no | Maximum bathrooms |
| `property_type` | no | detached, semi_detached, terraced, flats, bungalow, farms_land, park_home; several separated by commas Accepted values (comma-separated): detached, semi_detached, terraced, flats, bungalow, farms_land, park_home. Case, spaces, hyphens and underscores are interchangeable. — e.g. `flats,terraced` |
| `sort` | no | newest, highest_price, lowest_price or most_reduced Accepted values: newest, newest_listings, highest_price, lowest_price, most_reduced. Case, spaces, hyphens and underscores are interchangeable. — e.g. `newest` |
| `keywords` | no | Words the listing must mention |
| `must_have` | no | has_garden, has_parking_garage, has_balcony_terrace and the portal's other must-haves; separated by commas |
| `features` | no | The portal's property-feature codes, separated by commas |
| `added` | no | Only homes added in the last 1, 3, 7, 14 or 30 days Accepted values: 1, 3, 7, 14, 30, 24_hours, 3_days, 7_days, 14_days, 30_days. Case, spaces, hyphens and underscores are interchangeable. |
| `include_sold` | no | Include homes under offer or sold subject to contract — e.g. `false` |
| `new_homes` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `retirement_homes` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `auction` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `shared_ownership` | no | include, exclude or only Accepted values: include, exclude, only. Case, spaces, hyphens and underscores are interchangeable. |
| `show_only` | no | chainFree, reducedPriceOnly; separated by commas |
| `ownership` | no | leasehold, freehold, share_of_freehold; separated by commas Accepted values (comma-separated): leasehold, freehold, share_of_freehold. Case, spaces, hyphens and underscores are interchangeable. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/search-sale" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "channel": "example",
  "count": 0,
  "cursor": null,
  "extended": [],
  "featured": [],
  "has_more": false,
  "items": [
    {
      "address": "example",
      "agent": {
        "id": "example",
        "logo_url": "https://example.com/example",
        "name": "example",
        "phone": "example",
        "url": "https://example.com/example"
      },
      "bathrooms": 0,
      "bedrooms": 0,
      "currency": "example",
      "flag": "example",
      "floor_area": {
        "label": "example",
        "source": "example",
        "units": "example",
        "value": 0
      },
      "floorplan_count": 0,
      "highlights": [],
      "id": "example",
      "image_count": 0,
      "image_url": "https://example.com/example",
      "images": [
        "example"
      ],
      "listed_on": "example",
      "living_rooms": 0,
      "platform": "example",
      "premium": false,
      "price": 0,
      "price_drop": false,
      "price_label": "example",
      "price_qualifier": "example",
      "property_type": "example",
      "short_price": "example",
      "summary": "example",
      "tags": [
        "example"
      ],
      "title": "example",
      "transports": [],
      "type": "example",
      "under_offer": false,
      "url": "https://example.com/example",
      "video_count": 0
    }
  ],
  "location": {
    "identifier": "example",
    "name": "example"
  },
  "page": 0,
  "pages": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/search-sale#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/search-sale.json)


## zoopla/sold-prices

`GET /v1/zoopla/sold-prices`

The Land Registry sales in an area as the portal indexes them: each address with its last sale, its attributes and its UPRN, and the area's average prices by property type.

*Zoopla sold prices*

| Parameter | Required | Description |
| --- | --- | --- |
| `location` | yes | A town, area, postcode or outcode, or a path such as london/croydon — e.g. `Oxford` |
| `page` | no | Page number (25 a page) — e.g. `1` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/sold-prices?location=Oxford" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "area": {
    "average_prices": {
      "all": 0,
      "detached": 0,
      "flat": 0,
      "semi_detached": 0,
      "terraced": 0
    },
    "county": "example",
    "name": "example",
    "path": "example",
    "region": "example",
    "short_name": "example",
    "town": "example",
    "url": "https://example.com/example"
  },
  "count": 0,
  "cursor": null,
  "has_more": false,
  "items": [
    {
      "address": "example",
      "attributes": {
        "bathrooms": 0,
        "bedrooms": 0,
        "floor_area_sq_m": 0,
        "living_rooms": 0,
        "property_type": "example",
        "tenure": "example"
      },
      "last_sale": {
        "currency": "example",
        "date": "2026-09-01T12:00:00Z",
        "price": 0
      },
      "latitude": 0,
      "longitude": 0,
      "platform": "example",
      "postcode": "example",
      "type": "example",
      "uprn": "example",
      "url": "https://example.com/example"
    }
  ],
  "page": 0,
  "pages": 0,
  "per_page": 0,
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/sold-prices#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/sold-prices.json)


## zoopla/streets

`GET /v1/zoopla/streets`

The streets and addresses the house-prices index knows for a name, each with the path zoopla/estimates takes.

*Zoopla street lookup*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Part of a street name or address — e.g. `Oxford Road` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/streets?query=Oxford%20Road" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "address": "example",
      "path": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/streets#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/streets.json)


## zoopla/valuation

`GET /v1/zoopla/valuation`

The portal's valuation of one address, by UPRN or by street address: the current sale and rent estimates with their range and confidence, the estimate's history, the Land Registry sales, live and similar listings nearby, and the schools and stations around it.

*Zoopla valuation*

| Parameter | Required | Description |
| --- | --- | --- |
| `uprn` | no | The property's UPRN, from zoopla/property, zoopla/estimates, zoopla/streets or zoopla/sold-prices (or pass address) — e.g. `200001198316` |
| `address` | no | A street address with its postcode instead of a UPRN — e.g. `45 Princes Avenue, South Croydon CR2 9BE` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/zoopla/valuation" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [],
  "address": "example",
  "attributes": {
    "property_type": "example"
  },
  "country": "example",
  "estimate_history": [
    {
      "confidence": "example",
      "date": "2026-09-01T12:00:00Z",
      "high": 0,
      "low": 0,
      "value": 0
    }
  ],
  "historic_listings": [],
  "latitude": 0,
  "live_listings": [],
  "longitude": 0,
  "outcode": "example",
  "platform": "example",
  "points_of_interest": [
    {
      "address": "example",
      "distance_miles": 0,
      "latitude": 0,
      "longitude": 0,
      "name": "example",
      "type": "example"
    }
  ],
  "postcode": "example",
  "rent_estimate": {
    "high": 0,
    "low": 0,
    "value": 0
  },
  "sale_estimate": {
    "confidence": "example",
    "high": 0,
    "low": 0,
    "value": 0
  },
  "sales": [],
  "similar_listings": [
    {
      "address": "example",
      "bathrooms": 0,
      "bedrooms": 0,
      "id": "example",
      "image_url": "https://example.com/example",
      "latitude": 0,
      "living_rooms": 0,
      "longitude": 0,
      "platform": "example",
      "price_label": "example",
      "price_qualifier": "example",
      "title": "example",
      "type": "example",
      "url": "https://example.com/example"
    }
  ],
  "similar_properties": [
    {
      "address": "example",
      "attributes": {
        "bathrooms": 0,
        "bedrooms": 0,
        "living_rooms": 0,
        "property_type": "example",
        "tenure": "example"
      },
      "country": "example",
      "historic_listings": [],
      "last_sale": {
        "date": "2026-09-01T12:00:00Z",
        "price": 0
      },
      "latitude": 0,
      "longitude": 0,
      "outcode": "example",
      "platform": "example",
      "postcode": "example",
      "sales": [
        {}
      ],
      "type": "example",
      "uprn": "example"
    }
  ],
  "type": "example",
  "uprn": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/zoopla/valuation#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/zoopla/valuation.json)

