diff --git a/CLAUDE.md b/CLAUDE.md
index e4a91af..5600b9d 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -102,13 +102,13 @@ Rust + Axum. Loads parquet into memory at startup.
- `GET /api/pois?bounds=&categories=` — POIs by bounds (max 5000)
- `GET /api/poi-categories` — Available POI category names
-Serves `frontend/dist/` as static fallback in production.
+Serves `frontend/dist/` as static fallback in production **only** when `--dist` is explicitly provided. When `--dist` is set, the server panics at startup if `index.html` is unreadable. When omitted (dev mode), static serving and OG injection are disabled.
**Data representation (unified model):**
- All features (numeric and enum): row-major flat `Vec`, NaN = null
- Enum features: stored as f32 indices (0.0, 1.0, 2.0...) with `enum_values: FxHashMap>` mapping feature index → string values
- String fields (address, postcode): interned/packed for memory efficiency
-- The server accepts the parquet path as a CLI argument (defaults to `data_sources/processed/wide.parquet`)
+- All CLI args are required (no hidden defaults). Optional services use `Option`: `r5_url` (travel time disabled when None), `pocketbase_admin_email`/`password` (collection auto-creation skipped when None). Required config like `ollama_model` and `public_url` must be explicitly provided via env or CLI.
### Frontend (`frontend/`)
@@ -127,7 +127,7 @@ React 18 + TypeScript. deck.gl `H3HexagonLayer` over MapLibre GL. TailwindCSS. N
- `useUrlSync` — URL state synchronization
**Key patterns:**
-- URL encodes view/filters/POI categories/active tab as query params for shareable links. Only the current format is supported — no legacy parameter parsing (old `v=`, `f=`, or tab abbreviations are not handled).
+- URL encodes view/filters/POI categories/active tab as query params for shareable links. Only the current format is supported — no legacy parameter parsing (old `v=`, `f=`, or tab abbreviations are not handled). `tmode` is always serialized when travel time is active (no implicit default); parsing throws if `tmode` is missing when `dest` is present.
- AbortControllers cancel in-flight requests on new queries (150ms debounce)
- Zoom → H3 resolution defined in `consts.ts` `ZOOM_TO_RESOLUTION_THRESHOLDS`: `<7.5→5, <9.5→6, <10.5→8, <12→9, ≥12→10`
- `POSTCODE_ZOOM_THRESHOLD = 15`: below 15 shows H3 hexagons, at/above 15 shows postcode polygons
@@ -271,7 +271,12 @@ Every UI element must use the correct token from this table. Do not invent new p
## Coding Preferences
-- **No backwards compatibility, no silent fallbacks**: Never add fallback codepaths for old data formats, legacy URL parameters, or alternate field names. Never silently swallow errors — always error loudly (return an error, panic, or at minimum log). If something is wrong, the code should fail visibly. One canonical name per field, one format per API, one way to do things.
+- **No backwards compatibility, no silent fallbacks**: Never add fallback codepaths for old data formats, legacy URL parameters, or alternate field names. Never silently swallow errors — always error loudly (return an error, panic, or at minimum log). If something is wrong, the code should fail visibly. One canonical name per field, one format per API, one way to do things. Specific patterns:
+ - Use `Option` for truly optional config, never `default_value = ""` with `.is_empty()` checks
+ - Use `expect()` not `unwrap_or(0.0)` when a value is logically guaranteed to be present
+ - Return error responses on upstream failures, never silently drop results
+ - Don't add `#[serde(default)]` on `Option` fields — serde already defaults them to `None`
+ - Required query params should be non-Option types so serde rejects missing params with 400 automatically
- **Unified data models over special-casing**: Prefer storing different data types uniformly (e.g., enums as f32 indices alongside numeric features) rather than maintaining separate code paths
- **Terse tests**: Test what matters in as few tests as possible — don't overcomplicate with excessive setup or edge cases that don't add value
- **Extract and organize**: Group related utilities into proper modules (e.g., `utils/`, `parsing/`) rather than leaving helpers scattered
@@ -316,6 +321,7 @@ Follow these conventions in all Rust code:
- **Fuzzy join**: Groups by postcode, uses `thefuzz.token_sort_ratio` with numeric token compatibility, greedy assignment from highest score
- **Filter parsing is strict**: `parse_filters()` returns `Result` — malformed entries, unknown feature names, and unparseable numbers all return 400 Bad Request. No silent skipping of invalid filters.
- **Data loading is strict**: `extract_string_col` and `lookup_enum_value` take a single column name (no fallback names). H3 precomputation panics on invalid coordinates. Required parquet columns must exist at startup.
+- **Travel time is strict**: `mode` param is required (400) when `destination` is set — no silent default to "car". R5 failures return 502 Bad Gateway, not silent omission. `r5_url` is `Option` — returns 503 if travel time requested without R5 configured.
- **Filter bounds format**: `south,west,north,east` (not standard bbox order)
- **Server-side AABB filtering**: Both `/api/hexagons` and `/api/postcodes` filter results by bounding-box intersection with query bounds. Hexagons use `h3_cell_bounds()` (h3o returns degrees, not radians). Postcodes compute polygon AABB from vertices. See `bounds_intersect()` in `parsing/bounds.rs`.
- **GridIndex returns slightly more than requested**: The 0.01° grid cells mean properties up to ~1km outside the viewport may be returned. The AABB filter in the route handlers catches these extras.
diff --git a/Dockerfile b/Dockerfile
index bea6458..3300642 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,7 @@ RUN cargo build --release
# Stage 3: Runtime
FROM debian:bookworm-slim
-RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=server /app/server-rs/target/release/property-map-server ./
COPY --from=frontend /app/frontend/dist ./frontend/dist/
@@ -27,5 +27,7 @@ COPY property-data/uk.pmtiles ./data/
COPY manual-data/postcode_boundaries ./data/postcode_boundaries/
EXPOSE 8001
+HEALTHCHECK --interval=30s --timeout=5s --start-period=120s --retries=3 \
+ CMD curl -f http://localhost:8001/health || exit 1
ENTRYPOINT ["./property-map-server"]
-CMD ["--data", "/app/data/wide.parquet", "--pois", "/app/data/filtered_uk_pois.parquet", "--places", "/app/data/places.parquet", "--tiles", "/app/data/uk.pmtiles", "--postcodes", "/app/data/postcode_boundaries"]
+CMD ["--data", "/app/data/wide.parquet", "--pois", "/app/data/filtered_uk_pois.parquet", "--places", "/app/data/places.parquet", "--tiles", "/app/data/uk.pmtiles", "--postcodes", "/app/data/postcode_boundaries", "--dist", "/app/frontend/dist"]
diff --git a/Makefile.data b/Makefile.data
index 395b184..54d8a9c 100644
--- a/Makefile.data
+++ b/Makefile.data
@@ -24,6 +24,8 @@ POI_PROXIMITY := $(DATA_DIR)/poi_proximity.parquet
EPC_PP := $(DATA_DIR)/epc_pp.parquet
WIDE := $(DATA_DIR)/wide.parquet
PRICE_INDEX := $(DATA_DIR)/price_index.parquet
+RENO_PREMIUM := $(DATA_DIR)/renovation_premium.parquet
+HEDONIC_MODEL := $(DATA_DIR)/hedonic_model.json
PRICES_STAMP := $(DATA_DIR)/.prices_done
EPC := $(MANUAL_DATA)/certificates.csv
JT_BANK := $(MANUAL_DATA)/journey_times_bank.parquet
@@ -263,6 +265,13 @@ $(WIDE): $(EPC_PP) $(ARCGIS) $(IOD) $(POI_PROXIMITY) $(JT_BANK) $(JT_FITZROVIA)
$(PRICE_INDEX): $(WIDE)
uv run python -m pipeline.transform.price_index --input $(WIDE) --output $@
-$(PRICES_STAMP): $(WIDE) $(PRICE_INDEX)
- uv run python -m pipeline.transform.price_estimate --input $(WIDE) --index $(PRICE_INDEX)
+$(RENO_PREMIUM): $(WIDE) $(PRICE_INDEX)
+ uv run python -m pipeline.transform.renovation_premium --input $(WIDE) --index $(PRICE_INDEX) --output $@
+
+$(HEDONIC_MODEL): $(WIDE)
+ uv run python -m pipeline.transform.hedonic_quality --input $(WIDE) --output $@
+
+$(PRICES_STAMP): $(WIDE) $(PRICE_INDEX) $(RENO_PREMIUM) $(HEDONIC_MODEL)
+ uv run python -m pipeline.transform.price_estimate --input $(WIDE) --index $(PRICE_INDEX) \
+ --renovation-premium $(RENO_PREMIUM) --hedonic-model $(HEDONIC_MODEL)
@touch $@
diff --git a/README.md b/README.md
index 0a9f908..55de2a9 100644
--- a/README.md
+++ b/README.md
@@ -34,9 +34,6 @@ rm data/d29f0314840ef7dcbb5cde66e383fe08059dab5a.zip
https://xploria.co.uk/data-sources/
-epc oopt out
-
-
We all care about different things in our homes and living environments. Some of us are weary of noise and would like to avoid living next to a loud airfield as much as possible. And some of us are avid plane spotters.
@@ -77,17 +74,9 @@ make -f Makefile.data tiles
Add licensing to the app. By default, anonymous users can use the map but only in central london. if they try zooming out, the server refuses to provide data and the users will be prompted to buy a lifetime license to continue (or zoom back in). Just before buying a license, they have to register by providing their email address and password, then they need to complete the stripe check out workflow. Implement the full pocketbase/server/frontend integration. For admins, give an option to generate an invite link, opening which prompts you to register and gives you a free license forever. Have a cool animation with party poppers on the successful acquiring of a license. For non-admin users, allow inviting friends for 30% off the price. Also add a support page that shows my email address, and add a FAQ on the same page too.
-
-- the area stastics are missing for postcodes, they only work for hexagons
- add blue/green rollout
-
-
-Stop wrapping everything in cards. Be bold and stop being lazy around text formatting.
-
-
-
-
uv run python scripts/remove_bg.py house-og.png 200 house.png
diff --git a/Taskfile.yml b/Taskfile.yml
index 1c3df20..6ba08a9 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -19,7 +19,7 @@ tasks:
download:places:
desc: Extract place names from OSM PBF
cmds:
- - uv run python -m pipeline.download.places --output ./property_data/places.parquet {{.CLI_ARGS}}
+ - uv run python -m pipeline.download.places --output ./property-data/places.parquet {{.CLI_ARGS}}
test:
desc: Run all tests (Python and Rust)
diff --git a/docker-compose.yml b/docker-compose.yml
index 7e415e4..574271e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,3 +1,7 @@
+x-credentials:
+ pb-email: &pb-email admin@propertymap.local
+ pb-password: &pb-password propertymap-dev-2024
+
services:
server:
image: rust:1.84
@@ -21,11 +25,14 @@ services:
- ./property-data:/app/data:ro
environment:
POCKETBASE_URL: http://pocketbase:8090
- POCKETBASE_ADMIN_EMAIL: ${POCKETBASE_ADMIN_EMAIL:-}
- POCKETBASE_ADMIN_PASSWORD: ${POCKETBASE_ADMIN_PASSWORD:-}
+ POCKETBASE_ADMIN_EMAIL: *pb-email
+ POCKETBASE_ADMIN_PASSWORD: *pb-password
SCREENSHOT_URL: http://screenshot:8002
OLLAMA_URL: http://host.docker.internal:11434
+ OLLAMA_MODEL: gpt-oss:20b
+ PUBLIC_URL: https://perfectpostcodes.schmelczer.dev
R5_URL: http://r5:8003
+ GOOGLE_MAPS_API_KEY: "AIzaSyBgBn9LjrxHCjb9j1LZbLYpEdCJj-NkHPY"
depends_on:
pocketbase:
condition: service_healthy
@@ -83,6 +90,9 @@ services:
- pb-data:/pb/pb_data
networks:
- dev-network
+ environment:
+ PB_ADMIN_EMAIL: *pb-email
+ PB_ADMIN_PASSWORD: *pb-password
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8090/api/health"]
interval: 10s
@@ -90,6 +100,47 @@ services:
retries: 3
start_period: 5s
+ gluetun:
+ image: qmcgaw/gluetun:v3.40.4
+ volumes:
+ - gluetun-cache-v2:/gluetun
+ - gluetun-auth:/gluetun/auth:ro
+ environment:
+ # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
+ VPN_SERVICE_PROVIDER: mullvad
+ VPN_TYPE: wireguard
+ WIREGUARD_PRIVATE_KEY: "8FFKmtTvDsZlShnKl/opDDwCwb9v2ox4+Kkl3wX+9Gw="
+ WIREGUARD_ADDRESSES: "10.66.109.86/32"
+ OWNED_ONLY: "yes"
+ UPDATER_PERIOD: 24h
+ SERVER_COUNTRIES: Serbia,Slovakia,Croatia,Austria,Denmark,Finland
+ TZ: $TIME_ZONE
+ restart: unless-stopped
+ ports:
+ - "1234:1234"
+ healthcheck:
+ test: "wget -q https://www.google.com || exit 1"
+ interval: 1m
+ timeout: 15s
+ retries: 2
+ cap_add:
+ - NET_ADMIN
+ devices:
+ - /dev/net/tun:/dev/net/tun
+
+
+ finder:
+ build: ./finder
+ init: true
+ network_mode: service:gluetun
+ volumes:
+ - ./finder:/app
+ - ./property-data/arcgis_data.parquet:/data/arcgis_data.parquet:ro
+ depends_on:
+ gluetun:
+ condition: service_healthy
+ restart: unless-stopped
+
r5:
init: true
build: ./r5-java
@@ -119,6 +170,8 @@ volumes:
frontend-node-modules:
screenshot-cache:
r5-network:
+ gluetun-cache-v2:
+ gluetun-auth:
networks:
dev-network:
diff --git a/finder/Dockerfile b/finder/Dockerfile
new file mode 100644
index 0000000..2951e6f
--- /dev/null
+++ b/finder/Dockerfile
@@ -0,0 +1,11 @@
+FROM python:3.12-slim
+
+COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
+
+WORKDIR /app
+COPY pyproject.toml ./
+RUN uv pip install --system -r pyproject.toml
+
+COPY main.py ./
+
+CMD ["python3", "main.py"]
diff --git a/finder/main.py b/finder/main.py
new file mode 100644
index 0000000..e1530f5
--- /dev/null
+++ b/finder/main.py
@@ -0,0 +1,710 @@
+import logging
+import math
+import os
+import random
+import re
+import threading
+import time
+from collections import defaultdict
+from dataclasses import dataclass, field
+from pathlib import Path
+
+import httpx
+import polars as pl
+from flask import Flask, jsonify, send_from_directory
+
+# ---------------------------------------------------------------------------
+# Logging
+# ---------------------------------------------------------------------------
+
+LOG_DIR = Path("/app/data")
+LOG_DIR.mkdir(parents=True, exist_ok=True)
+
+logging.basicConfig(
+ level=logging.DEBUG,
+ format="%(asctime)s [%(levelname)s] %(message)s",
+ handlers=[
+ logging.StreamHandler(),
+ logging.FileHandler(LOG_DIR / "rightmove.log"),
+ ],
+)
+log = logging.getLogger("rightmove")
+log.setLevel(logging.DEBUG)
+logging.getLogger("httpx").setLevel(logging.WARNING)
+logging.getLogger("httpcore").setLevel(logging.WARNING)
+
+# ---------------------------------------------------------------------------
+# Constants
+# ---------------------------------------------------------------------------
+
+ARCGIS_PATH = os.environ.get("ARCGIS_PATH", "/data/arcgis_data.parquet")
+DATA_DIR = Path("/app/data")
+PAGE_SIZE = 24
+MAX_PAGES_PER_OUTCODE = 42 # 24*42 = 1008, safety cap per outcode
+DELAY_BETWEEN_PAGES = 1.0
+DELAY_BETWEEN_OUTCODES = 2.0
+MAX_RETRIES = 3
+RETRY_BASE_DELAY = 2.0
+GRID_CELL_SIZE = 0.01 # degrees for postcode spatial index
+SEED = 42
+
+TYPEAHEAD_URL = "https://los.rightmove.co.uk/typeahead"
+SEARCH_URL = "https://www.rightmove.co.uk/api/property-search/listing/search"
+RIGHTMOVE_BASE = "https://www.rightmove.co.uk"
+
+PROPERTY_TYPE_MAP = {
+ "Detached": "Detached",
+ "Semi-Detached": "Semi-Detached",
+ "Terraced": "Terraced",
+ "End of Terrace": "Terraced",
+ "Mid Terrace": "Terraced",
+ "Flat": "Flat",
+ "Maisonette": "Flat",
+ "Studio": "Flat",
+ "Apartment": "Flat",
+ "Penthouse": "Flat",
+ "Ground Flat": "Flat",
+ "Detached Bungalow": "Detached",
+ "Semi-Detached Bungalow": "Semi-Detached",
+ "Town House": "Terraced",
+ "Link Detached": "Detached",
+ "Link Detached House": "Detached",
+ "Bungalow": "Other",
+ "Cottage": "Other",
+ "Park Home": "Other",
+ "Land": "Other",
+ "Farm / Barn": "Other",
+ "House": "Detached",
+ "Not Specified": "Other",
+ "Chalet": "Other",
+ "Barn Conversion": "Other",
+ "Coach House": "Other",
+ "Character Property": "Other",
+ "Cluster House": "Other",
+ "Retirement Property": "Flat",
+ "Plot": "Other",
+ "Garages": "Other",
+ "Mews": "Terraced",
+}
+
+CHANNELS = [
+ {"channel": "BUY", "transactionType": "BUY", "sortType": "2"},
+ {"channel": "RENT", "transactionType": "LETTING", "sortType": "6"},
+]
+
+# ---------------------------------------------------------------------------
+# Postcode spatial index
+# ---------------------------------------------------------------------------
+
+
+class PostcodeSpatialIndex:
+ """Grid-based spatial index over arcgis postcodes for nearest-lookup."""
+
+ def __init__(self, lats: list[float], lngs: list[float], postcodes: list[str]):
+ self.grid: dict[tuple[int, int], list[tuple[float, float, str]]] = defaultdict(list)
+ for lat, lng, pcd in zip(lats, lngs, postcodes):
+ gx = int(math.floor(lng / GRID_CELL_SIZE))
+ gy = int(math.floor(lat / GRID_CELL_SIZE))
+ self.grid[(gx, gy)].append((lat, lng, pcd))
+ log.info("Postcode spatial index: %d cells, %d postcodes", len(self.grid), len(lats))
+
+ def nearest(self, lat: float, lng: float) -> str | None:
+ gx = int(math.floor(lng / GRID_CELL_SIZE))
+ gy = int(math.floor(lat / GRID_CELL_SIZE))
+ best_dist = float("inf")
+ best_pcd = None
+ for dx in range(-1, 2):
+ for dy in range(-1, 2):
+ for plat, plng, pcd in self.grid.get((gx + dx, gy + dy), []):
+ d = (plat - lat) ** 2 + (plng - lng) ** 2
+ if d < best_dist:
+ best_dist = d
+ best_pcd = pcd
+ return best_pcd
+
+
+# ---------------------------------------------------------------------------
+# Scrape status
+# ---------------------------------------------------------------------------
+
+
+@dataclass
+class ScrapeStatus:
+ state: str = "idle" # idle | running | done | error
+ channel: str = ""
+ outcode: str = ""
+ outcodes_done: int = 0
+ outcodes_total: int = 0
+ properties_buy: int = 0
+ properties_rent: int = 0
+ errors: list[str] = field(default_factory=list)
+ started_at: float = 0.0
+ finished_at: float = 0.0
+
+
+status = ScrapeStatus()
+status_lock = threading.Lock()
+debug_data: dict = {"last_response": None, "outcode_cache": {}}
+
+# ---------------------------------------------------------------------------
+# HTTP helpers
+# ---------------------------------------------------------------------------
+
+USER_AGENT = (
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
+ "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
+)
+
+# Gluetun control API — runs on port 8000 inside the gluetun container.
+# Since finder uses network_mode: service:gluetun, localhost IS gluetun.
+GLUETUN_API = "http://127.0.0.1:8000"
+_ip_rotate_lock = threading.Lock()
+
+
+def rotate_ip() -> bool:
+ """Ask gluetun to reconnect to a different VPN server, getting a new IP.
+ Returns True if the IP changed successfully."""
+ with _ip_rotate_lock:
+ log.info("Rotating VPN IP via gluetun...")
+ try:
+ # Get current IP
+ with httpx.Client(timeout=10) as ctl:
+ old_ip_resp = ctl.get(f"{GLUETUN_API}/v1/publicip/ip")
+ old_ip = old_ip_resp.json().get("public_ip", "unknown") if old_ip_resp.status_code == 200 else "unknown"
+ log.info("Current IP: %s", old_ip)
+
+ # Trigger server change — PUT with empty JSON body picks a random server
+ resp = ctl.put(f"{GLUETUN_API}/v1/vpn/status", json={"status": "stopped"})
+ if resp.status_code != 200:
+ log.error("Failed to stop VPN: %d %s", resp.status_code, resp.text)
+ return False
+ time.sleep(2)
+
+ resp = ctl.put(f"{GLUETUN_API}/v1/vpn/status", json={"status": "running"})
+ if resp.status_code != 200:
+ log.error("Failed to start VPN: %d %s", resp.status_code, resp.text)
+ return False
+
+ # Wait for reconnection
+ for _ in range(30):
+ time.sleep(2)
+ try:
+ with httpx.Client(timeout=10) as ctl:
+ new_ip_resp = ctl.get(f"{GLUETUN_API}/v1/publicip/ip")
+ if new_ip_resp.status_code == 200:
+ new_ip = new_ip_resp.json().get("public_ip", "")
+ if new_ip and new_ip != old_ip:
+ log.info("IP rotated: %s → %s", old_ip, new_ip)
+ return True
+ except Exception:
+ pass # VPN still reconnecting
+
+ log.warning("IP rotation timed out (may still be same IP)")
+ return False
+
+ except Exception as e:
+ log.error("IP rotation failed: %s", e)
+ return False
+
+
+def make_client() -> httpx.Client:
+ return httpx.Client(
+ timeout=30,
+ headers={"User-Agent": USER_AGENT, "Accept": "application/json"},
+ follow_redirects=True,
+ )
+
+
+def fetch_with_retry(
+ client: httpx.Client, url: str, params: dict | None = None, on_403: bool = True
+) -> dict | None:
+ """GET JSON with retries on 429/5xx/connection errors. Returns None on permanent failure.
+ On 403, triggers IP rotation and retries once."""
+ for attempt in range(MAX_RETRIES):
+ try:
+ resp = client.get(url, params=params)
+ if resp.status_code == 200:
+ return resp.json()
+ if resp.status_code == 403 and on_403:
+ log.warning("HTTP 403 — IP likely blocked, rotating...")
+ if rotate_ip():
+ # Retry once with new IP (but don't recurse on 403 again)
+ return fetch_with_retry(client, url, params, on_403=False)
+ log.error("IP rotation failed, giving up on %s", url)
+ return None
+ if resp.status_code in (429, 500, 502, 503, 504):
+ delay = RETRY_BASE_DELAY * (2**attempt) + random.uniform(0, 1)
+ log.warning("HTTP %d from %s, retry %d/%d in %.1fs", resp.status_code, url, attempt + 1, MAX_RETRIES, delay)
+ time.sleep(delay)
+ continue
+ log.error("HTTP %d from %s (non-retryable)", resp.status_code, url)
+ return None
+ except (httpx.ConnectError, httpx.ReadTimeout, httpx.WriteTimeout, httpx.PoolTimeout) as e:
+ delay = RETRY_BASE_DELAY * (2**attempt) + random.uniform(0, 1)
+ log.warning("%s from %s, retry %d/%d in %.1fs", type(e).__name__, url, attempt + 1, MAX_RETRIES, delay)
+ time.sleep(delay)
+ log.error("All %d retries exhausted for %s", MAX_RETRIES, url)
+ return None
+
+
+# ---------------------------------------------------------------------------
+# Rightmove API
+# ---------------------------------------------------------------------------
+
+
+def resolve_outcode_id(client: httpx.Client, outcode: str) -> str | None:
+ """Look up Rightmove's internal ID for an outcode via typeahead API."""
+ if outcode in debug_data["outcode_cache"]:
+ return debug_data["outcode_cache"][outcode]
+
+ data = fetch_with_retry(client, TYPEAHEAD_URL, {"query": outcode, "limit": "10", "exclude": "STREET"})
+ if not data:
+ return None
+
+ for match in data.get("matches", []):
+ if match.get("type") == "OUTCODE" and match.get("displayName") == outcode:
+ rid = str(match["id"])
+ debug_data["outcode_cache"][outcode] = rid
+ return rid
+
+ log.debug("Outcode %s not found in typeahead results", outcode)
+ return None
+
+
+def search_outcode(
+ client: httpx.Client,
+ outcode_id: str,
+ outcode: str,
+ channel_cfg: dict,
+ pc_index: PostcodeSpatialIndex,
+) -> list[dict]:
+ """Paginate through search results for one outcode+channel. Returns transformed properties."""
+ properties = []
+ index = 0
+
+ for page in range(MAX_PAGES_PER_OUTCODE):
+ params = {
+ "useLocationIdentifier": "true",
+ "locationIdentifier": f"OUTCODE^{outcode_id}",
+ "index": str(index),
+ "sortType": channel_cfg["sortType"],
+ "channel": channel_cfg["channel"],
+ "transactionType": channel_cfg["transactionType"],
+ }
+
+ data = fetch_with_retry(client, SEARCH_URL, params)
+ if not data:
+ log.warning("Failed to fetch page %d for %s/%s", page, outcode, channel_cfg["channel"])
+ break
+
+ debug_data["last_response"] = data
+
+ raw_props = data.get("properties", [])
+ if not raw_props:
+ break
+
+ for prop in raw_props:
+ transformed = transform_property(prop, outcode, pc_index)
+ if transformed:
+ properties.append(transformed)
+
+ # Check if there are more pages
+ result_count_str = data.get("resultCount", "0")
+ result_count = int(result_count_str.replace(",", ""))
+ index += PAGE_SIZE
+
+ if index >= result_count:
+ break
+
+ if page < MAX_PAGES_PER_OUTCODE - 1:
+ time.sleep(DELAY_BETWEEN_PAGES)
+
+ return properties
+
+
+# ---------------------------------------------------------------------------
+# Property transformation
+# ---------------------------------------------------------------------------
+
+
+def parse_display_size(display_size: str | None) -> float | None:
+ """Parse displaySize like '499 sq. ft.' or '4,124 sq. ft.' to sqm."""
+ if not display_size:
+ return None
+ # Try sq. ft. first
+ m = re.search(r"([\d,]+(?:\.\d+)?)\s*sq\.?\s*ft", display_size, re.IGNORECASE)
+ if m:
+ sqft = float(m.group(1).replace(",", ""))
+ return round(sqft * 0.092903, 1)
+ # Try sq. m.
+ m = re.search(r"([\d,]+(?:\.\d+)?)\s*sq\.?\s*m", display_size, re.IGNORECASE)
+ if m:
+ return round(float(m.group(1).replace(",", "")), 1)
+ return None
+
+
+def map_property_type(sub_type: str | None) -> str:
+ """Map propertySubType to canonical type."""
+ if not sub_type:
+ return "Other"
+ canonical = PROPERTY_TYPE_MAP.get(sub_type)
+ if canonical:
+ return canonical
+ log.warning("Unknown propertySubType: %r — mapping to Other", sub_type)
+ return "Other"
+
+
+def extract_tenure(tenure_obj: dict | None) -> str | None:
+ """Extract tenure string from tenure object."""
+ if not tenure_obj:
+ return None
+ tt = tenure_obj.get("tenureType", "")
+ if tt == "FREEHOLD":
+ return "Freehold"
+ if tt == "LEASEHOLD":
+ return "Leasehold"
+ return None
+
+
+def fix_coords(lat: float, lng: float) -> tuple[float, float]:
+ """Swap lat/lng if they look reversed. England: lat ~49–56, lng ~-7–2."""
+ if 49 <= lat <= 56 and -7 <= lng <= 2:
+ return lat, lng
+ if 49 <= lng <= 56 and -7 <= lat <= 2:
+ log.debug("Swapping reversed coords: lat=%.4f lng=%.4f → lat=%.4f lng=%.4f", lat, lng, lng, lat)
+ return lng, lat
+ log.warning("Coords outside England bounds even after swap attempt: lat=%.4f lng=%.4f", lat, lng)
+ return lat, lng
+
+
+def normalize_price(amount: int, frequency: str) -> int:
+ """Normalize price to monthly for rentals (weekly × 52/12, yearly ÷ 12)."""
+ if frequency == "weekly":
+ return round(amount * 52 / 12)
+ if frequency == "yearly":
+ return round(amount / 12)
+ return amount
+
+
+def transform_property(prop: dict, outcode: str, pc_index: PostcodeSpatialIndex) -> dict | None:
+ """Transform a raw Rightmove property dict into our output schema."""
+ loc = prop.get("location")
+ if not loc:
+ return None
+ raw_lat = loc.get("latitude")
+ raw_lng = loc.get("longitude")
+ if raw_lat is None or raw_lng is None:
+ return None
+
+ lat, lng = fix_coords(raw_lat, raw_lng)
+
+ price_obj = prop.get("price", {})
+ amount = price_obj.get("amount")
+ if amount is None:
+ return None
+ frequency = price_obj.get("frequency", "")
+ price = normalize_price(int(amount), frequency)
+
+ display_prices = price_obj.get("displayPrices", [])
+ price_qualifier = display_prices[0].get("displayPriceQualifier", "") if display_prices else ""
+
+ sub_type = prop.get("propertySubType", "")
+ bedrooms = prop.get("bedrooms", 0) or 0
+ bathrooms = prop.get("bathrooms", 0) or 0
+
+ key_features = [kf.get("description", "") for kf in prop.get("keyFeatures", []) if kf.get("description")]
+
+ listing_update = prop.get("listingUpdate", {})
+ update_date = listing_update.get("listingUpdateDate", "")
+
+ postcode = pc_index.nearest(lat, lng)
+
+ return {
+ "id": prop.get("id"),
+ "bedrooms": bedrooms,
+ "bathrooms": bathrooms,
+ "total_rooms": bedrooms + bathrooms,
+ "longitude": lng,
+ "latitude": lat,
+ "postcode": postcode,
+ "address": prop.get("displayAddress", ""),
+ "tenure": extract_tenure(prop.get("tenure")),
+ "property_type": map_property_type(sub_type),
+ "property_sub_type": sub_type or "Unknown",
+ "price": price,
+ "price_frequency": frequency,
+ "price_qualifier": price_qualifier,
+ "floorspace_sqm": parse_display_size(prop.get("displaySize")),
+ "url": RIGHTMOVE_BASE + prop.get("propertyUrl", ""),
+ "features": key_features,
+ "first_visible_date": prop.get("firstVisibleDate", ""),
+ "update_date": update_date,
+ "outcode": outcode,
+ "house_share": sub_type == "House Share",
+ }
+
+
+# ---------------------------------------------------------------------------
+# Parquet writing
+# ---------------------------------------------------------------------------
+
+
+def write_parquet(properties: list[dict], path: Path) -> None:
+ """Write properties list to parquet using Polars."""
+ if not properties:
+ log.warning("No properties to write to %s", path)
+ return
+
+ df = pl.DataFrame(
+ {
+ "id": [p["id"] for p in properties],
+ "bedrooms": [p["bedrooms"] for p in properties],
+ "bathrooms": [p["bathrooms"] for p in properties],
+ "total_rooms": [p["total_rooms"] for p in properties],
+ "longitude": [p["longitude"] for p in properties],
+ "latitude": [p["latitude"] for p in properties],
+ "postcode": [p["postcode"] for p in properties],
+ "address": [p["address"] for p in properties],
+ "tenure": [p["tenure"] for p in properties],
+ "property_type": [p["property_type"] for p in properties],
+ "property_sub_type": [p["property_sub_type"] for p in properties],
+ "price": [p["price"] for p in properties],
+ "price_frequency": [p["price_frequency"] for p in properties],
+ "price_qualifier": [p["price_qualifier"] for p in properties],
+ "floorspace_sqm": [p["floorspace_sqm"] for p in properties],
+ "url": [p["url"] for p in properties],
+ "features": [p["features"] for p in properties],
+ "first_visible_date": [p["first_visible_date"] for p in properties],
+ "update_date": [p["update_date"] for p in properties],
+ "outcode": [p["outcode"] for p in properties],
+ "house_share": [p["house_share"] for p in properties],
+ },
+ schema={
+ "id": pl.Int64,
+ "bedrooms": pl.Int32,
+ "bathrooms": pl.Int32,
+ "total_rooms": pl.Int32,
+ "longitude": pl.Float64,
+ "latitude": pl.Float64,
+ "postcode": pl.Utf8,
+ "address": pl.Utf8,
+ "tenure": pl.Utf8,
+ "property_type": pl.Utf8,
+ "property_sub_type": pl.Utf8,
+ "price": pl.Int64,
+ "price_frequency": pl.Utf8,
+ "price_qualifier": pl.Utf8,
+ "floorspace_sqm": pl.Float64,
+ "url": pl.Utf8,
+ "features": pl.List(pl.Utf8),
+ "first_visible_date": pl.Utf8,
+ "update_date": pl.Utf8,
+ "outcode": pl.Utf8,
+ "house_share": pl.Boolean,
+ },
+ )
+
+ df.write_parquet(path)
+ log.info("Wrote %d properties to %s", len(df), path)
+
+
+# ---------------------------------------------------------------------------
+# Scrape orchestration
+# ---------------------------------------------------------------------------
+
+
+def load_outcodes() -> list[str]:
+ """Load England-only outcodes from arcgis parquet."""
+ log.info("Loading outcodes from %s", ARCGIS_PATH)
+ df = pl.read_parquet(ARCGIS_PATH, columns=["pcd", "ctry", "lat", "long"])
+ england = df.filter(pl.col("ctry") == "E92000001")
+ log.info("England postcodes: %d", len(england))
+
+ outcodes = (
+ england.select(pl.col("pcd").str.extract(r"^([A-Z]{1,2}\d[A-Z0-9]?)", 1).alias("outcode"))
+ .drop_nulls()
+ .get_column("outcode")
+ .unique()
+ .sort()
+ .to_list()
+ )
+ log.info("Unique England outcodes: %d", len(outcodes))
+ return outcodes
+
+
+def build_postcode_index() -> PostcodeSpatialIndex:
+ """Build spatial index from arcgis England postcodes."""
+ log.info("Building postcode spatial index from %s", ARCGIS_PATH)
+ df = pl.read_parquet(ARCGIS_PATH, columns=["pcd", "ctry", "lat", "long"])
+ england = df.filter(pl.col("ctry") == "E92000001").drop_nulls(subset=["lat", "long"])
+ return PostcodeSpatialIndex(
+ england.get_column("lat").to_list(),
+ england.get_column("long").to_list(),
+ england.get_column("pcd").to_list(),
+ )
+
+
+def run_scrape(outcodes: list[str], pc_index: PostcodeSpatialIndex) -> None:
+ """Main scrape loop — runs in background thread."""
+ global status
+ with status_lock:
+ status.state = "running"
+ status.started_at = time.time()
+ status.errors = []
+ status.properties_buy = 0
+ status.properties_rent = 0
+
+ # Shuffle for geographic diversity
+ shuffled = list(outcodes)
+ random.seed(SEED)
+ random.shuffle(shuffled)
+
+ client = make_client()
+
+ try:
+ for channel_cfg in CHANNELS:
+ channel_name = channel_cfg["channel"]
+ file_suffix = "buy" if channel_name == "BUY" else "rent"
+ all_properties: dict[int, dict] = {} # dedup by id
+
+ with status_lock:
+ status.channel = channel_name
+ status.outcodes_done = 0
+ status.outcodes_total = len(shuffled)
+
+ log.info("=== Starting %s channel (%d outcodes) ===", channel_name, len(shuffled))
+
+ for i, outcode in enumerate(shuffled):
+ with status_lock:
+ status.outcode = outcode
+ status.outcodes_done = i
+
+ log.debug("Outcode %s (%d/%d) — %d properties so far",
+ outcode, i + 1, len(shuffled), len(all_properties))
+
+ try:
+ outcode_id = resolve_outcode_id(client, outcode)
+ if not outcode_id:
+ log.debug("No Rightmove ID for outcode %s, skipping", outcode)
+ continue
+
+ props = search_outcode(client, outcode_id, outcode, channel_cfg, pc_index)
+ for p in props:
+ pid = p["id"]
+ if pid not in all_properties:
+ all_properties[pid] = p
+
+ with status_lock:
+ if channel_name == "BUY":
+ status.properties_buy = len(all_properties)
+ else:
+ status.properties_rent = len(all_properties)
+
+ log.info("Outcode %s: got %d properties (total: %d)", outcode, len(props), len(all_properties))
+
+ except Exception as e:
+ msg = f"Error scraping {outcode}/{channel_name}: {e}"
+ log.error(msg)
+ with status_lock:
+ status.errors.append(msg)
+
+ if i < len(shuffled) - 1:
+ time.sleep(DELAY_BETWEEN_OUTCODES)
+
+ # Write parquet
+ deduped = list(all_properties.values())
+ output_path = DATA_DIR / f"rightmove_{file_suffix}.parquet"
+ write_parquet(deduped, output_path)
+
+ with status_lock:
+ if channel_name == "BUY":
+ status.properties_buy = len(deduped)
+ else:
+ status.properties_rent = len(deduped)
+ status.outcodes_done = len(shuffled)
+
+ log.info("=== %s channel complete: %d unique properties ===", channel_name, len(deduped))
+
+ with status_lock:
+ status.state = "done"
+ status.finished_at = time.time()
+ elapsed = status.finished_at - status.started_at
+ log.info("Scrape complete in %.0fs — buy: %d, rent: %d",
+ elapsed, status.properties_buy, status.properties_rent)
+
+ except Exception as e:
+ log.exception("Fatal scrape error")
+ with status_lock:
+ status.state = "error"
+ status.errors.append(f"Fatal: {e}")
+ status.finished_at = time.time()
+ finally:
+ client.close()
+
+
+# ---------------------------------------------------------------------------
+# Startup: load data
+# ---------------------------------------------------------------------------
+
+log.info("Loading arcgis data...")
+OUTCODES = load_outcodes()
+PC_INDEX = build_postcode_index()
+log.info("Ready — %d outcodes, postcode index built", len(OUTCODES))
+
+# ---------------------------------------------------------------------------
+# Flask app
+# ---------------------------------------------------------------------------
+
+app = Flask(__name__)
+
+
+@app.route("/run", methods=["POST"])
+def trigger_run():
+ with status_lock:
+ if status.state == "running":
+ return jsonify({"error": "Scrape already running"}), 409
+ status.state = "running"
+
+ thread = threading.Thread(target=run_scrape, args=(OUTCODES, PC_INDEX), daemon=True)
+ thread.start()
+ return jsonify({"message": "Scrape started"}), 200
+
+
+@app.route("/status")
+def get_status():
+ with status_lock:
+ elapsed = 0.0
+ if status.started_at:
+ end = status.finished_at if status.finished_at else time.time()
+ elapsed = end - status.started_at
+ return jsonify({
+ "state": status.state,
+ "channel": status.channel,
+ "outcode": status.outcode,
+ "outcodes_done": status.outcodes_done,
+ "outcodes_total": status.outcodes_total,
+ "properties_buy": status.properties_buy,
+ "properties_rent": status.properties_rent,
+ "errors": status.errors[-20:], # last 20 errors
+ "elapsed_seconds": round(elapsed, 1),
+ })
+
+
+@app.route("/debug")
+def get_debug():
+ return jsonify({
+ "last_response": debug_data["last_response"],
+ "outcode_cache_size": len(debug_data["outcode_cache"]),
+ "outcode_cache_sample": dict(list(debug_data["outcode_cache"].items())[:20]),
+ })
+
+
+@app.route("/data/")
+def serve_data(filename):
+ if not filename.endswith(".parquet"):
+ return jsonify({"error": "Only parquet files served"}), 400
+ return send_from_directory(DATA_DIR, filename)
+
+
+if __name__ == "__main__":
+ app.run(host="0.0.0.0", port=1234, debug=False)
diff --git a/finder/onthemarket/explain.md b/finder/onthemarket/explain.md
new file mode 100644
index 0000000..e17d253
--- /dev/null
+++ b/finder/onthemarket/explain.md
@@ -0,0 +1,6 @@
+
+Hit the following url with the outcode as the location-id and the page. So for E13, page 2 it's:
+
+https://www.onthemarket.com/async/search/properties-v2/?search-type=for-sale&location-id=e13&page=2&view=map-list
+
+and the response is in [[response.json]]
diff --git a/finder/onthemarket/response.json b/finder/onthemarket/response.json
new file mode 100644
index 0000000..19574a3
--- /dev/null
+++ b/finder/onthemarket/response.json
@@ -0,0 +1,4256 @@
+{
+ "more-map-pins?": false,
+ "header-data": {
+ "data-layer": "{\"g-location-type\":\"postal-district\",\"g-location-id\":\"2030000731\",\"page-type\":\"listings-section\",\"property-prices\":[\"325,000\",\"425,000\",\"300,000\",\"340,000\",\"395,000\",\"425,000\",\"630,000\",\"445,000\",\"400,000\",\"300,000\",\"680,000\",\"420,000\",\"475,000\",\"485,000\",\"485,000\",\"235,000\",\"650,000\",\"375,000\",\"1,650,000\",\"325,000\",\"350,000\",\"680,000\",\"415,000\",\"85,000\",\"525,000\",\"450,000\",\"450,000\",\"400,000\"],\"no-of-properties\":188,\"location-name\":\"E13\",\"property-type\":\"homes\",\"typeahead\":true,\"g-hierarchy-level\":7,\"channel\":\"sale\",\"meta-robots\":\"not-provided\",\"page\":2,\"exclusive-first\":true,\"property-ids\":[\"18506209\",\"18643268\",\"18529997\",\"18635310\",\"18635283\",\"18633673\",\"18631276\",\"18621738\",\"18616685\",\"18012740\",\"18575327\",\"18575880\",\"18576264\",\"18581502\",\"18581880\",\"18583648\",\"18583700\",\"18609175\",\"18137982\",\"18599443\",\"18375801\",\"18226699\",\"18446122\",\"18573143\",\"16388817\",\"18563981\",\"18563601\",\"18561590\"],\"ranking-type\":\"recommended\",\"under-offer\":false,\"non-standard-property-count\":2,\"http-status\":\"200\",\"location-id\":\"e13\",\"search-type\":\"for-sale\",\"frame-size\":30,\"breadcrumbs\":[\"uk\",\"london\",\"east-london\"],\"direction\":\"desc\",\"view\":\"map-list\",\"sort-field\":\"recommended\"}",
+ "render-data-layer?": true
+ },
+ "properties": [
+ {
+ "features": [
+ "Tenure: Freehold",
+ "A 2 bedroom house",
+ "Located on the doorstep to amenities and transport links",
+ "Reception room with adjoining fitted kitchen"
+ ],
+ "address": "Botha Road, Plaistow, London, E13",
+ "humanised-property-type": "House",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18506209/1594307368/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18506209/1594307368/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18506209/1588678442/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18506209/1588678442/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18506209/1594307368/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18506209/1594307368/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18506209/1592784758/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18506209/1592784758/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18506209/1592784758/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18506209/1592784758/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18506209/",
+ "main-label": "Spotlight Property",
+ "agent": {
+ "id": 62266,
+ "logo-url": "https://media.onthemarket.com/agents/companies/11518/210730080515906/logo-190x100.png",
+ "name": "Foxtons - Stratford",
+ "telephone": "020 8033 6221",
+ "contact-url": "/agents/contact/18506209/?form-name=details-contact",
+ "details-url": "/agents/branch/foxtons-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "2 bedroom house for sale",
+ "short-price": "£325k",
+ "bedrooms": 2,
+ "id": "18506209",
+ "days-since-added-reduced": "Added > 14 days",
+ "spotlight?": true,
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18506209/1594307368/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18506209/1594307368/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.031062,
+ "lat": 51.518615
+ },
+ "price": "£325,000"
+ },
+ {
+ "features": [
+ "Tenure: Share of freehold (141 years remaining)",
+ "Two Bedroom Garden Flat",
+ "Share Of Freehold",
+ "No Service Charge and Zero Ground Rent",
+ "Chain-free"
+ ],
+ "address": "Neville Road, London, E7",
+ "premium?": true,
+ "humanised-property-type": "Flat",
+ "price-qualifier": null,
+ "premium-text": "Featured",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18643268/",
+ "main-label": "Featured Property",
+ "agent": {
+ "id": 4893,
+ "logo-url": "https://media.onthemarket.com/agents/companies/557/200123092130344/logo-190x100.png",
+ "name": "Keatons - Stratford",
+ "telephone": "020 8534 7788",
+ "contact-url": "/agents/contact/18643268/?form-name=details-contact",
+ "details-url": "/agents/branch/keatons-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "2 bedroom flat for sale",
+ "short-price": "£425k",
+ "bedrooms": 2,
+ "id": "18643268",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18643268/1592306113/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18643268/1592306113/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.02462,
+ "lat": 51.53762
+ },
+ "price": "£425,000",
+ "data-link-position": 1
+ },
+ {
+ "features": [
+ "Tenure: Leasehold",
+ "Excellent three bedroom flat arranged over two floors"
+ ],
+ "reduced?": true,
+ "address": "Terrace Road, Plaistow, London, E13",
+ "humanised-property-type": "Flat",
+ "price-qualifier": "Offers in excess of",
+ "data-label-id": "reduced",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18529997/1593782841/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18529997/1593782841/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18529997/1593782841/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18529997/1593782841/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18529997/1592326217/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18529997/1592326217/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18529997/1592326217/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18529997/1592326217/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18529997/1592326217/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18529997/1592326217/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18529997/",
+ "main-label": "Reduced",
+ "agent": {
+ "id": 62266,
+ "logo-url": "https://media.onthemarket.com/agents/companies/11518/210730080515906/logo-190x100.png",
+ "name": "Foxtons - Stratford",
+ "telephone": "020 8033 6221",
+ "contact-url": "/agents/contact/18529997/?form-name=details-contact",
+ "details-url": "/agents/branch/foxtons-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "3 bedroom flat for sale",
+ "short-price": "£300k",
+ "bedrooms": 3,
+ "id": "18529997",
+ "days-since-added-reduced": "Reduced < 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18529997/1593782841/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18529997/1593782841/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.023215,
+ "lat": 51.532796
+ },
+ "price": "£300,000",
+ "data-link-position": 2
+ },
+ {
+ "description": "Why not consider a new build home?",
+ "ad?": true,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/agent-products/in-market-ads-fillers/9f2d1855-2fb2-4a17-95ec-99333a3a07e0-480x320.webp"
+ }
+ ],
+ "sub-text": "Find new build properties near you now.",
+ "agent": {},
+ "link-url": "https://www.onthemarket.com/new-homes/",
+ "title": "Energy-efficient new living",
+ "ad-filler?": true,
+ "id": 3,
+ "logo-text": "Search new homes",
+ "cover-image": {
+ "default": "https://media.onthemarket.com/agent-products/in-market-ads-fillers/9f2d1855-2fb2-4a17-95ec-99333a3a07e0-480x320.webp"
+ }
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (999 years remaining)",
+ "Three Newly Built High-Specification Airspace Apartments",
+ "New build"
+ ],
+ "address": "Joseph House, Plaistow, London",
+ "humanised-property-type": "Penthouse",
+ "price-qualifier": "Guide price",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18635310/",
+ "agent": {
+ "id": 58388,
+ "logo-url": "https://media.onthemarket.com/agents/companies/1261/230411161736497/logo-190x100.jpg",
+ "name": "Butler & Stag - Land & New Homes",
+ "telephone": "020 8022 9388",
+ "contact-url": "/agents/contact/18635310/?form-name=details-contact",
+ "details-url": "/agents/branch/butler-and-stag-land-and-new-homes/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "1 bedroom penthouse for sale",
+ "short-price": "£340k",
+ "bedrooms": 1,
+ "id": "18635310",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18635310/1592090409/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18635310/1592090409/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.019802,
+ "lat": 51.525581
+ },
+ "price": "£340,000",
+ "data-link-position": 4
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (999 years remaining)",
+ "Three Newly Built High-Specification Airspace Apartments",
+ "New build"
+ ],
+ "address": "Joseph House, Plaistow, London",
+ "humanised-property-type": "Penthouse",
+ "price-qualifier": "Guide price",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18635283/1592089958/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635283/1592089958/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635283/1592089958/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635283/1592089958/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635283/1592089958/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635283/1592089958/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635283/1592589483/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635283/1592589483/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18635283/1592589483/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18635283/1592589483/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18635283/",
+ "agent": {
+ "id": 58388,
+ "logo-url": "https://media.onthemarket.com/agents/companies/1261/230411161736497/logo-190x100.jpg",
+ "name": "Butler & Stag - Land & New Homes",
+ "telephone": "020 8022 9388",
+ "contact-url": "/agents/contact/18635283/?form-name=details-contact",
+ "details-url": "/agents/branch/butler-and-stag-land-and-new-homes/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "2 bedroom penthouse for sale",
+ "short-price": "£395k",
+ "bedrooms": 2,
+ "id": "18635283",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18635283/1592089958/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18635283/1592089958/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.019867,
+ "lat": 51.525575
+ },
+ "price": "£395,000",
+ "data-link-position": 5
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Chain-free",
+ "753 sq ft floor area",
+ "Nearest station 0.6mi.",
+ "Nearest school 0.1mi."
+ ],
+ "address": "Olive Road, London E13",
+ "humanised-property-type": "End of terrace house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-0-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-1-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-2-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-3-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-4-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18633673/",
+ "main-label": "Only With Us",
+ "agent": {
+ "id": 47574,
+ "logo-url": "https://media.onthemarket.com/agents/companies/7216/180706145604899/logo-190x100.png",
+ "name": "Unique Property Services - Ilford",
+ "telephone": "020 8033 9984",
+ "contact-url": "/agents/contact/18633673/?form-name=details-contact",
+ "details-url": "/agents/branch/unique-property-services-ilford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "2 bedroom end of terrace house for sale",
+ "short-price": "£425k",
+ "bedrooms": 2,
+ "id": "18633673",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 1,
+ "exclusive?": true,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18633673/1591990246/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18633673/1591990246/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.037648,
+ "lat": 51.526792
+ },
+ "price": "£425,000",
+ "data-link-position": 6
+ },
+ {
+ "features": ["Tenure: Freehold", "A wonderful 3 bedroom period house"],
+ "address": "SELSDON ROAD, Upton Park, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18631276/1593516451/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18631276/1593516451/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18631276/1592074263/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18631276/1592074263/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18631276/1593516451/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18631276/1593516451/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18631276/1591909025/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18631276/1591909025/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18631276/1591909025/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18631276/1591909025/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18631276/",
+ "agent": {
+ "id": 62266,
+ "logo-url": "https://media.onthemarket.com/agents/companies/11518/210730080515906/logo-190x100.png",
+ "name": "Foxtons - Stratford",
+ "telephone": "020 8033 6221",
+ "contact-url": "/agents/contact/18631276/?form-name=details-contact",
+ "details-url": "/agents/branch/foxtons-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "property-title": "3 bedroom terraced house for sale",
+ "short-price": "£630k",
+ "bedrooms": 3,
+ "id": "18631276",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 2,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18631276/1593516451/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18631276/1593516451/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.036386,
+ "lat": 51.531031
+ },
+ "price": "£630,000",
+ "data-link-position": 7
+ },
+ {
+ "features": ["Tenure: Freehold", "Terrace house"],
+ "address": "Kingsland Road, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18621738/1591592660/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18621738/1591592660/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18621738/1592847577/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18621738/1592847577/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18621738/1592847814/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18621738/1592847814/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18621738/1591592660/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18621738/1591592660/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18621738/1591592660/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18621738/1591592660/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18621738/",
+ "agent": {
+ "id": 36882,
+ "logo-url": "https://media.onthemarket.com/agents/branches/36882/150609125846628/logo-190x100.jpg",
+ "name": "Victor Michael - Stratford",
+ "telephone": "020 8022 6689",
+ "contact-url": "/agents/contact/18621738/?form-name=details-contact",
+ "details-url": "/agents/branch/victor-michael-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom terraced house for sale",
+ "short-price": "£445k",
+ "bedrooms": 2,
+ "id": "18621738",
+ "days-since-added-reduced": "Added < 14 days",
+ "bathrooms": 2,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18621738/1591592660/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18621738/1591592660/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0342417,
+ "lat": 51.5250457
+ },
+ "price": "£445,000",
+ "data-link-position": 8
+ },
+ {
+ "features": ["Freehold house", "Garden"],
+ "address": "Holborn Road , London , E13 8PA",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18616685/",
+ "agent": {
+ "id": 45190,
+ "logo-url": "https://media.onthemarket.com/agents/companies/5192/210708090558106/logo-190x100.jpg",
+ "name": "Henry Wiltshire International - Royal Docks",
+ "telephone": "020 8115 3003",
+ "contact-url": "/agents/contact/18616685/?form-name=details-contact",
+ "details-url": "/agents/branch/henry-wiltshire-international-royal-docks/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom terraced house for sale",
+ "short-price": "£400k",
+ "bedrooms": 3,
+ "id": "18616685",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18616685/1591468872/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18616685/1591468872/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.028181975707411766,
+ "lat": 51.51941680908203
+ },
+ "price": "£400,000",
+ "data-link-position": 9
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (173 years remaining)",
+ "Three bedrooms",
+ "Close to Underground Station",
+ "Sought after location"
+ ],
+ "reduced?": true,
+ "address": "Terrace Road Upton Park, London",
+ "premium?": true,
+ "humanised-property-type": "Apartment",
+ "price-qualifier": "Guide price",
+ "data-label-id": "reduced",
+ "premium-text": "Featured",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18012740/1572679025/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18012740/1572679025/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18012740/1572679025/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18012740/1572679025/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18012740/1571286273/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18012740/1571286273/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18012740/1571286273/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18012740/1571286273/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18012740/1571286273/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18012740/1571286273/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18012740/",
+ "main-label": "Reduced",
+ "agent": {
+ "id": 5398,
+ "logo-url": "https://media.onthemarket.com/agents/branches/5398/240501111603265/logo-190x100.jpg",
+ "name": "haart Estate Agents - Plaistow",
+ "telephone": "020 8022 7311",
+ "contact-url": "/agents/contact/18012740/?form-name=details-contact",
+ "details-url": "/agents/branch/haart-estate-agents-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom apartment for sale",
+ "short-price": "£300k",
+ "bedrooms": 3,
+ "id": "18012740",
+ "days-since-added-reduced": "Reduced > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18012740/1572679025/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18012740/1572679025/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0244696,
+ "lat": 51.5332437
+ },
+ "price": "£300,000",
+ "data-link-position": 10
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Seven Bedroom Mid Terrace Property",
+ "Study"
+ ],
+ "address": "Kent Street, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18575327/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18575327/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "7 bedroom terraced house for sale",
+ "short-price": "£680k",
+ "bedrooms": 7,
+ "id": "18575327",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18575327/1590368597/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18575327/1590368597/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.030998,
+ "lat": 51.524775
+ },
+ "price": "£680,000",
+ "data-link-position": 11
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Two Double Bedroom Victorian Mid Terrace House",
+ "Chain-free"
+ ],
+ "address": "Humberstone Road, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18575880/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18575880/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom terraced house for sale",
+ "short-price": "£420k",
+ "bedrooms": 2,
+ "id": "18575880",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18575880/1590369963/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18575880/1590369963/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.036498,
+ "lat": 51.52396
+ },
+ "price": "£420,000",
+ "data-link-position": 12
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Three Bedroom Victorian Mid Terrace House",
+ "Chain-free",
+ "Study"
+ ],
+ "address": "Fentons Avenue, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18576264/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18576264/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom terraced house for sale",
+ "short-price": "£475k",
+ "bedrooms": 3,
+ "id": "18576264",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18576264/1590371065/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18576264/1590371065/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.025116,
+ "lat": 51.528321
+ },
+ "price": "£475,000",
+ "data-link-position": 13
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (991 years remaining)",
+ "Secure Underground Electric Parking Bay"
+ ],
+ "address": "19 Castle Street, London, E13",
+ "humanised-property-type": "Apartment",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18581502/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18581502/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom apartment for sale",
+ "short-price": "£485k",
+ "bedrooms": 2,
+ "id": "18581502",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18581502/1593094917/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18581502/1593094917/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.039627,
+ "lat": 51.531387
+ },
+ "price": "£485,000",
+ "data-link-position": 14
+ },
+ {
+ "description": "Get an online home valuation in minutes",
+ "ad?": true,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/agent-products/in-market-ads-fillers/49a6d065-a33d-4178-99af-a8e3ef8bc1d2-480x320.webp"
+ }
+ ],
+ "sub-text": "Free and instant estimate of your home’s current value.",
+ "agent": {},
+ "link-url": "https://www.onthemarket.com/instant-valuation/",
+ "title": "What is my home worth?",
+ "ad-filler?": true,
+ "lazy-load-image?": true,
+ "id": 1,
+ "logo-text": "Instant online valuation",
+ "cover-image": {
+ "default": "https://media.onthemarket.com/agent-products/in-market-ads-fillers/49a6d065-a33d-4178-99af-a8e3ef8bc1d2-480x320.webp"
+ }
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (115 years remaining)",
+ "Buyer’S Fees Apply",
+ "Chain-free"
+ ],
+ "address": "3 Queens Road West, London, E13",
+ "humanised-property-type": "Apartment",
+ "price-qualifier": "Offers in excess of",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18581880/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18581880/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom apartment for sale",
+ "short-price": "£485k",
+ "bedrooms": 3,
+ "id": "18581880",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18581880/1590422527/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18581880/1590422527/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.024529,
+ "lat": 51.532657
+ },
+ "price": "£485,000",
+ "data-link-position": 16
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (91 years remaining)",
+ "One Bedroom Tenth Floor Apartment"
+ ],
+ "address": "High Street, London, E13",
+ "humanised-property-type": "Apartment",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18583648/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18583648/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "1 bedroom apartment for sale",
+ "short-price": "£235k",
+ "bedrooms": 1,
+ "id": "18583648",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18583648/1590471306/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18583648/1590471306/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.024304,
+ "lat": 51.529855
+ },
+ "price": "£235,000",
+ "data-link-position": 17
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Four Bedroom Victorian Mid Terrace House"
+ ],
+ "address": "Chesterton Terrace, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18583700/",
+ "agent": {
+ "id": 72640,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14568/251203165912368/logo-190x100.png",
+ "name": "Purplebricks - Covering East London",
+ "telephone": "020 4645 4583",
+ "contact-url": "/agents/contact/18583700/?form-name=details-contact",
+ "details-url": "/agents/branch/purplebricks-covering-east-london/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "4 bedroom terraced house for sale",
+ "short-price": "£650k",
+ "bedrooms": 4,
+ "id": "18583700",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 2,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18583700/1590471449/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18583700/1590471449/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.021296,
+ "lat": 51.528351
+ },
+ "price": "£650,000",
+ "data-link-position": 18
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "End of terrace",
+ "Chain free",
+ "Three Bedrooms",
+ "Chain-free",
+ "Study"
+ ],
+ "address": "Holborn Road Plaistow, London",
+ "premium?": true,
+ "humanised-property-type": "End of terrace house",
+ "price-qualifier": "Guide price",
+ "premium-text": "Featured",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18609175/",
+ "main-label": "Featured Property",
+ "agent": {
+ "id": 5398,
+ "logo-url": "https://media.onthemarket.com/agents/branches/5398/240501111603265/logo-190x100.jpg",
+ "name": "haart Estate Agents - Plaistow",
+ "telephone": "020 8022 7311",
+ "contact-url": "/agents/contact/18609175/?form-name=details-contact",
+ "details-url": "/agents/branch/haart-estate-agents-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom end of terrace house for sale",
+ "short-price": "£375k",
+ "bedrooms": 3,
+ "id": "18609175",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18609175/1591249358/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18609175/1591249358/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0281049,
+ "lat": 51.5191824
+ },
+ "price": "£375,000",
+ "data-link-position": 19
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Mixed Use Investment Opportunity",
+ "Chain-free"
+ ],
+ "address": "Barking Road, , Plaistow",
+ "humanised-property-type": "Mixed use",
+ "price-qualifier": "Offers in excess of",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18137982/1594040703/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18137982/1594040703/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18137982/1594040703/epc-0-480x320.png",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18137982/1594040703/epc-0-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18137982/",
+ "agent": {
+ "id": 45313,
+ "logo-url": "https://media.onthemarket.com/agents/companies/5546/180423105453152/logo-190x100.jpg",
+ "name": "Lifestyle Property Agents - Ilford",
+ "telephone": "020 4645 3786",
+ "contact-url": "/agents/contact/18137982/?form-name=details-contact",
+ "details-url": "/agents/branch/lifestyle-property-agents-ilford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "Mixed use for sale",
+ "short-price": "£1.65m",
+ "id": "18137982",
+ "days-since-added-reduced": "Added > 14 days",
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18137982/1594040703/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18137982/1594040703/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.028727,
+ "lat": 51.5255784
+ },
+ "price": "£1,650,000",
+ "data-link-position": 20
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (95 years remaining)",
+ "2 spacious bedrooms",
+ "Chain-free",
+ "Study"
+ ],
+ "address": "London Road, Plaistow, London, E13 0DD",
+ "humanised-property-type": "Flat",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18599443/",
+ "agent": {
+ "id": 44167,
+ "logo-url": "https://media.onthemarket.com/agents/companies/495/161111082254267/logo-190x100.jpg",
+ "name": "Hunters - Plaistow",
+ "telephone": "020 3641 4102",
+ "contact-url": "/agents/contact/18599443/?form-name=details-contact",
+ "details-url": "/agents/branch/hunters-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom flat for sale",
+ "short-price": "£325k",
+ "bedrooms": 2,
+ "id": "18599443",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18599443/1591035952/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18599443/1591035952/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.019292,
+ "lat": 51.528713
+ },
+ "price": "£325,000",
+ "data-link-position": 21
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Two double Bedrooms",
+ "Through Lounge",
+ "Ground floor bathroom/wc",
+ "Chain-free"
+ ],
+ "address": "Garfield Road Plaistow, London",
+ "premium?": true,
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": "Offers in excess of",
+ "premium-text": "Featured",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18375801/1583892440/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18375801/1583892440/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18375801/1585223112/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18375801/1585223112/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18375801/1583892440/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18375801/1583892440/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18375801/1583892440/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18375801/1583892440/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18375801/1583892440/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18375801/1583892440/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18375801/",
+ "main-label": "Featured Property",
+ "agent": {
+ "id": 5398,
+ "logo-url": "https://media.onthemarket.com/agents/branches/5398/240501111603265/logo-190x100.jpg",
+ "name": "haart Estate Agents - Plaistow",
+ "telephone": "020 8022 7311",
+ "contact-url": "/agents/contact/18375801/?form-name=details-contact",
+ "details-url": "/agents/branch/haart-estate-agents-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom terraced house for sale",
+ "short-price": "£350k",
+ "bedrooms": 2,
+ "id": "18375801",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18375801/1583892440/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18375801/1583892440/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0132212,
+ "lat": 51.520297
+ },
+ "price": "£350,000",
+ "data-link-position": 22
+ },
+ {
+ "features": ["Tenure: Freehold", "Cash buyers only", "Cash buyers only"],
+ "address": "Barking Road, London, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": "Offers in region of",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18226699/1590693098/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18226699/1590693098/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18226699/1590692053/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18226699/1590692053/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18226699/1590692053/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18226699/1590692053/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18226699/1590692053/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18226699/1590692053/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18226699/1590692053/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18226699/1590692053/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18226699/",
+ "agent": {
+ "id": 48758,
+ "logo-url": "https://media.onthemarket.com/agents/companies/7974/180918113722761/logo-190x100.jpg",
+ "name": "Highcastle Estates - Stratford",
+ "telephone": "020 8033 5543",
+ "contact-url": "/agents/contact/18226699/?form-name=details-contact",
+ "details-url": "/agents/branch/highcastle-estates-stratford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "7 bedroom terraced house for sale",
+ "short-price": "£680k",
+ "bedrooms": 7,
+ "id": "18226699",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 4,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18226699/1590693098/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18226699/1590693098/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0172397,
+ "lat": 51.5200586
+ },
+ "price": "£680,000",
+ "data-link-position": 23
+ },
+ {
+ "features": ["Tenure: Freehold", "Garden"],
+ "address": "Humberstone Rd, E13",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18446122/1586841165/image-0-480x320.jpg",
+ "portrait?": true,
+ "webp": "https://media.onthemarket.com/properties/18446122/1586841165/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18446122/1590581338/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18446122/1590581338/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18446122/1590581338/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18446122/1590581338/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18446122/1590581338/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18446122/1590581338/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18446122/1590581338/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18446122/1590581338/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18446122/",
+ "agent": {
+ "id": 44935,
+ "logo-url": "https://media.onthemarket.com/agents/companies/5275/180405154536270/logo-190x100.png",
+ "name": "Michael Steven - Plaistow",
+ "telephone": "020 8115 2196",
+ "contact-url": "/agents/contact/18446122/?form-name=details-contact",
+ "details-url": "/agents/branch/michael-steven-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom terraced house for sale",
+ "short-price": "£415k",
+ "bedrooms": 2,
+ "id": "18446122",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18446122/1586841165/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18446122/1586841165/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0340731,
+ "lat": 51.5244963
+ },
+ "price": "£415,000",
+ "data-link-position": 24
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (990 years remaining)",
+ "Exciting Brand New Development: Modern homes thoughtfully designed for stylish, contemporary living"
+ ],
+ "address": "Castle Street, London E6",
+ "humanised-property-type": "Flat",
+ "price-qualifier": "Shared ownership",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18573143/1590353318/image-0-480x320.png",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18573143/1590353318/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18573143/1590353318/image-1-480x320.png",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18573143/1590353318/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18573143/1590353318/image-2-480x320.png",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18573143/1590353318/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18573143/1590353318/image-3-480x320.png",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18573143/1590353318/image-3-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18573143/",
+ "agent": {
+ "id": 71467,
+ "logo-url": "https://media.onthemarket.com/agents/companies/14345/250704121556166/logo-190x100.png",
+ "name": "Imagine Living - Ealing",
+ "telephone": "020 8115 2118",
+ "contact-url": "/agents/contact/18573143/?form-name=details-contact",
+ "details-url": "/agents/branch/imagine-living-ealing/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "1 bedroom flat for sale",
+ "short-price": "£85k",
+ "bedrooms": 1,
+ "id": "18573143",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18573143/1590353318/image-0-480x320.png",
+ "webp": "https://media.onthemarket.com/properties/18573143/1590353318/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.038306,
+ "lat": 51.530872
+ },
+ "price": "£85,000",
+ "data-link-position": 25
+ },
+ {
+ "features": [
+ "Tenure: Freehold",
+ "Charming 3-bedroom terrace house offered in good condition with no onward chain.",
+ "Chain-free"
+ ],
+ "address": "Credon Road, London",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/16388817/",
+ "agent": {
+ "id": 49512,
+ "logo-url": "https://media.onthemarket.com/agents/companies/7344/240130115142097/logo-190x100.jpg",
+ "name": "Portico - Ilford",
+ "telephone": "020 3641 1691",
+ "contact-url": "/agents/contact/16388817/?form-name=details-contact",
+ "details-url": "/agents/branch/portico-ilford/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom terraced house for sale",
+ "short-price": "£525k",
+ "bedrooms": 3,
+ "id": "16388817",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 2,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/16388817/1590290097/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/16388817/1590290097/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.032853,
+ "lat": 51.531776
+ },
+ "price": "£525,000",
+ "data-link-position": 26
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (990 years remaining)",
+ "Secure online auction sale",
+ "Auction",
+ "Chain-free"
+ ],
+ "address": "20 Thunderer Street, London, E13 9GT",
+ "humanised-property-type": "Apartment",
+ "price-qualifier": "Guide price",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18563981/",
+ "agent": {
+ "id": 48792,
+ "logo-url": "https://media.onthemarket.com/agents/branches/48792/180925141246823/logo-190x100.jpeg",
+ "name": "Pattinson - London Auction",
+ "telephone": "020 8033 5852",
+ "contact-url": "/agents/contact/18563981/?form-name=details-contact",
+ "details-url": "/agents/branch/pattinson-london-auction/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom apartment for sale",
+ "short-price": "£450k",
+ "bedrooms": 3,
+ "id": "18563981",
+ "days-since-added-reduced": "Added > 14 days",
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18563981/1589980593/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18563981/1589980593/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0372,
+ "lat": 51.5318
+ },
+ "price": "£450,000",
+ "data-link-position": 27
+ },
+ {
+ "features": [
+ "Tenure: Leasehold (992 years remaining)",
+ "Secure online auction sale",
+ "Auction",
+ "Chain-free"
+ ],
+ "address": "Thunderer Street, Upton Park E13",
+ "humanised-property-type": "Flat",
+ "price-qualifier": "Offers in excess of",
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977702/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977702/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977561/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977561/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977702/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977702/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977702/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977702/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977702/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977702/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18563601/",
+ "agent": {
+ "id": 45524,
+ "logo-url": "https://media.onthemarket.com/agents/branches/45524/250523162435473/logo-190x100.jpg",
+ "name": "OC Homes - Leyton",
+ "telephone": "020 8033 4613",
+ "contact-url": "/agents/contact/18563601/?form-name=details-contact",
+ "details-url": "/agents/branch/oc-homes-leyton/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "3 bedroom flat for sale",
+ "short-price": "£450k",
+ "bedrooms": 3,
+ "id": "18563601",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 2,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18563601/1589977702/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18563601/1589977702/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.038566,
+ "lat": 51.531837
+ },
+ "price": "£450,000",
+ "data-link-position": 28
+ },
+ {
+ "features": ["Tenure: Freehold", "Garden", "Chain-free"],
+ "address": "Haig Road West, Plaistow, E13 9LH",
+ "humanised-property-type": "Terraced house",
+ "price-qualifier": null,
+ "images": [
+ {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-0-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-0-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-1-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-1-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-2-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-2-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-3-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-3-480x320.webp"
+ },
+ {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-4-480x320.jpg",
+ "portrait?": false,
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-4-480x320.webp"
+ }
+ ],
+ "details-url": "/details/18561590/",
+ "agent": {
+ "id": 44935,
+ "logo-url": "https://media.onthemarket.com/agents/companies/5275/180405154536270/logo-190x100.png",
+ "name": "Michael Steven - Plaistow",
+ "telephone": "020 8115 2196",
+ "contact-url": "/agents/contact/18561590/?form-name=details-contact",
+ "details-url": "/agents/branch/michael-steven-plaistow/",
+ "rank": 2,
+ "enhanced?": false
+ },
+ "lazy-load-image?": true,
+ "property-title": "2 bedroom terraced house for sale",
+ "short-price": "£400k",
+ "bedrooms": 2,
+ "id": "18561590",
+ "days-since-added-reduced": "Added > 14 days",
+ "bathrooms": 1,
+ "cover-image": {
+ "default": "https://media.onthemarket.com/properties/18561590/1589956322/image-0-480x320.jpg",
+ "webp": "https://media.onthemarket.com/properties/18561590/1589956322/image-0-480x320.webp"
+ },
+ "location": {
+ "lon": 0.0332765,
+ "lat": 51.5266773
+ },
+ "price": "£400,000",
+ "data-link-position": 29
+ }
+ ],
+ "seo-links": [
+ {
+ "rel": "canonical",
+ "url": "https://www.onthemarket.com/async/search/properties-v2/?page=2"
+ },
+ {
+ "url": "/for-sale/property/e13/?page=3&view=map-list",
+ "rel": "next"
+ },
+ {
+ "url": "/for-sale/property/e13/?view=map-list",
+ "rel": "prev"
+ }
+ ],
+ "within-links": [
+ {
+ "text": "Plaistow",
+ "url": "/for-sale/property/plaistow/"
+ },
+ {
+ "text": "Upton Park",
+ "url": "/for-sale/property/upton-park/"
+ },
+ {
+ "text": "Plaistow East",
+ "url": "/for-sale/property/plaistow-east/"
+ },
+ {
+ "text": "Plaistow Central",
+ "url": "/for-sale/property/plaistow-central/"
+ },
+ {
+ "text": "Canning Town North",
+ "url": "/for-sale/property/canning-town-north/"
+ },
+ {
+ "text": "Plaistow",
+ "url": "/for-sale/property/plaistow-london/"
+ },
+ {
+ "text": "Plaistow South",
+ "url": "/for-sale/property/plaistow-south/"
+ },
+ {
+ "text": "Upton Gardens",
+ "url": "/for-sale/property/upton-gardens/"
+ }
+ ],
+ "location-type": "postal-district",
+ "map-pins": [
+ {
+ "page": 7,
+ "id": "14179235",
+ "location": {
+ "lon": 0.038908,
+ "lat": 51.532408
+ },
+ "price": "£345k"
+ },
+ {
+ "page": 3,
+ "id": "18230731",
+ "location": {
+ "lon": 0.03459,
+ "lat": 51.52676
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 2,
+ "id": "18529997",
+ "location": {
+ "lon": 0.023215,
+ "lat": 51.532796
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 6,
+ "id": "17488896",
+ "location": {
+ "lon": 0.026028,
+ "lat": 51.529305
+ },
+ "price": "£800k"
+ },
+ {
+ "page": 5,
+ "id": "18088698",
+ "location": {
+ "lon": 0.029474,
+ "lat": 51.519542
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 3,
+ "id": "18464332",
+ "location": {
+ "lon": 0.0285234,
+ "lat": 51.5354793
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 6,
+ "id": "17748072",
+ "location": {
+ "lon": 0.0295246365582269,
+ "lat": 51.5346840641791
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 6,
+ "id": "17772055",
+ "location": {
+ "lon": 0.0211484,
+ "lat": 51.5206708
+ },
+ "price": "£410k"
+ },
+ {
+ "page": 2,
+ "id": "18573143",
+ "location": {
+ "lon": 0.038306,
+ "lat": 51.530872
+ },
+ "price": "£85k"
+ },
+ {
+ "page": 3,
+ "id": "18461318",
+ "location": {
+ "lon": 0.015173,
+ "lat": 51.52544
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 5,
+ "id": "18009353",
+ "location": {
+ "lon": 0.01956,
+ "lat": 51.533255
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 4,
+ "id": "18381793",
+ "location": {
+ "lon": 0.0204865,
+ "lat": 51.5225531
+ },
+ "price": "£330k"
+ },
+ {
+ "page": 4,
+ "id": "18108340",
+ "location": {
+ "lon": 0.036912,
+ "lat": 51.529358
+ },
+ "price": "£580k"
+ },
+ {
+ "page": 1,
+ "id": "18662263",
+ "location": {
+ "lon": 0.03944,
+ "lat": 51.531725
+ },
+ "price": "£525k"
+ },
+ {
+ "page": 7,
+ "id": "17564017",
+ "location": {
+ "lon": 0.031941,
+ "lat": 51.527447
+ },
+ "price": "£180k"
+ },
+ {
+ "page": 3,
+ "id": "18550448",
+ "location": {
+ "lon": 0.0329881,
+ "lat": 51.5336
+ },
+ "price": "£250k"
+ },
+ {
+ "page": 5,
+ "id": "18018924",
+ "location": {
+ "lon": 0.0261211,
+ "lat": 51.523352
+ },
+ "price": "£700k"
+ },
+ {
+ "page": 5,
+ "id": "18073431",
+ "location": {
+ "lon": 0.028566,
+ "lat": 51.530094
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 5,
+ "id": "17947680",
+ "location": {
+ "lon": 0.02024,
+ "lat": 51.520295
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 2,
+ "id": "18635283",
+ "location": {
+ "lon": 0.019867,
+ "lat": 51.525575
+ },
+ "price": "£395k"
+ },
+ {
+ "page": 6,
+ "id": "17762619",
+ "location": {
+ "lon": 0.0319812,
+ "lat": 51.5278754
+ },
+ "price": "£750k"
+ },
+ {
+ "page": 5,
+ "id": "17824232",
+ "location": {
+ "lon": 0.032765,
+ "lat": 51.533242
+ },
+ "price": "£480k"
+ },
+ {
+ "page": 1,
+ "id": "18708440",
+ "location": {
+ "lon": 0.0271352363,
+ "lat": 51.525418312
+ },
+ "price": "£640k"
+ },
+ {
+ "page": 2,
+ "id": "18137982",
+ "location": {
+ "lon": 0.028727,
+ "lat": 51.5255784
+ },
+ "price": "£1.65m"
+ },
+ {
+ "page": 1,
+ "id": "18654764",
+ "location": {
+ "lon": 0.018121,
+ "lat": 51.5223326
+ },
+ "price": "£290k"
+ },
+ {
+ "page": 3,
+ "id": "18486836",
+ "location": {
+ "lon": 0.028838,
+ "lat": 51.524678
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 6,
+ "id": "16202939",
+ "location": {
+ "lon": 0.031968,
+ "lat": 51.521184
+ },
+ "price": "£269k"
+ },
+ {
+ "page": 2,
+ "id": "18375801",
+ "location": {
+ "lon": 0.0132212,
+ "lat": 51.520297
+ },
+ "price": "£350k"
+ },
+ {
+ "page": 4,
+ "id": "18117706",
+ "location": {
+ "lon": 0.018454,
+ "lat": 51.520146
+ },
+ "price": "£120k"
+ },
+ {
+ "page": 2,
+ "id": "18581502",
+ "location": {
+ "lon": 0.039627,
+ "lat": 51.531387
+ },
+ "price": "£485k"
+ },
+ {
+ "page": 4,
+ "id": "14249604",
+ "location": {
+ "lon": 0.020669,
+ "lat": 51.5314293
+ },
+ "price": "£340k"
+ },
+ {
+ "page": 5,
+ "id": "17890384",
+ "location": {
+ "lon": 0.028846,
+ "lat": 51.53022
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 5,
+ "id": "18027194",
+ "location": {
+ "lon": 0.01729,
+ "lat": 51.5212
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 6,
+ "id": "17211064",
+ "location": {
+ "lon": 0.02888,
+ "lat": 51.53438
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 6,
+ "id": "17211065",
+ "location": {
+ "lon": 0.038571,
+ "lat": 51.532345
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 6,
+ "id": "17063992",
+ "location": {
+ "lon": 0.024166,
+ "lat": 51.530323
+ },
+ "price": "£240k"
+ },
+ {
+ "page": 2,
+ "id": "18631276",
+ "location": {
+ "lon": 0.036386,
+ "lat": 51.531031
+ },
+ "price": "£630k"
+ },
+ {
+ "page": 4,
+ "id": "14911522",
+ "location": {
+ "lon": 0.0145870366,
+ "lat": 51.5291959577
+ },
+ "price": "£250k"
+ },
+ {
+ "location": {
+ "lon": 0.032825,
+ "lat": 51.530138
+ },
+ "property-group": [
+ {
+ "page": 4,
+ "id": "18381660",
+ "price": "£163k"
+ },
+ {
+ "page": 4,
+ "id": "18381661",
+ "price": "£325k"
+ }
+ ]
+ },
+ {
+ "page": 5,
+ "id": "17781883",
+ "location": {
+ "lon": 0.027422,
+ "lat": 51.533704
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 3,
+ "id": "18541460",
+ "location": {
+ "lon": 0.0375945,
+ "lat": 51.5275051
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 6,
+ "id": "17280883",
+ "location": {
+ "lon": 0.03861,
+ "lat": 51.53175
+ },
+ "price": "£350k"
+ },
+ {
+ "page": 3,
+ "id": "18445815",
+ "location": {
+ "lon": 0.013786554336548,
+ "lat": 51.521100975863
+ },
+ "price": "£575k"
+ },
+ {
+ "page": 7,
+ "id": "12754042",
+ "location": {
+ "lon": 0.036278,
+ "lat": 51.5353229
+ },
+ "price": "£495k"
+ },
+ {
+ "page": 5,
+ "id": "17956355",
+ "location": {
+ "lon": 0.0328455,
+ "lat": 51.5318239
+ },
+ "price": "£480k"
+ },
+ {
+ "page": 4,
+ "id": "18195018",
+ "location": {
+ "lon": 0.016158,
+ "lat": 51.520278
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 3,
+ "id": "18554873",
+ "location": {
+ "lon": 0.024328,
+ "lat": 51.537408
+ },
+ "price": "£900k"
+ },
+ {
+ "page": 4,
+ "id": "18103491",
+ "location": {
+ "lon": 0.029051,
+ "lat": 51.520168
+ },
+ "price": "£250k"
+ },
+ {
+ "page": 6,
+ "id": "17526991",
+ "location": {
+ "lon": 0.03698,
+ "lat": 51.524142
+ },
+ "price": "£415k"
+ },
+ {
+ "page": 6,
+ "id": "17360119",
+ "location": {
+ "lon": 0.017796,
+ "lat": 51.530543
+ },
+ "price": "£225k"
+ },
+ {
+ "page": 2,
+ "id": "18643268",
+ "location": {
+ "lon": 0.02462,
+ "lat": 51.53762
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 7,
+ "id": "14232391",
+ "location": {
+ "lon": 0.0239899,
+ "lat": 51.5331225
+ },
+ "price": "£210k"
+ },
+ {
+ "location": {
+ "lon": 0.038946,
+ "lat": 51.531643
+ },
+ "property-group": [
+ {
+ "page": 1,
+ "id": "18592528",
+ "price": "£450k"
+ },
+ {
+ "page": 1,
+ "id": "18169740",
+ "price": "£450k"
+ }
+ ]
+ },
+ {
+ "page": 6,
+ "id": "16846694",
+ "location": {
+ "lon": 0.03867,
+ "lat": 51.532489
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 4,
+ "id": "18392942",
+ "location": {
+ "lon": 0.031086,
+ "lat": 51.53828
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 3,
+ "id": "18541657",
+ "location": {
+ "lon": 0.020192,
+ "lat": 51.521378
+ },
+ "price": "£165k"
+ },
+ {
+ "page": 4,
+ "id": "18127599",
+ "location": {
+ "lon": 0.020534,
+ "lat": 51.520236
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 1,
+ "id": "18692599",
+ "location": {
+ "lon": 0.037721,
+ "lat": 51.532294
+ },
+ "price": "£435k"
+ },
+ {
+ "page": 5,
+ "id": "18088699",
+ "location": {
+ "lon": 0.017222,
+ "lat": 51.529762
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 7,
+ "id": "18503738",
+ "location": {
+ "lon": 0.02460140362381935,
+ "lat": 51.53507614135742
+ },
+ "price": "£850k"
+ },
+ {
+ "page": 2,
+ "id": "18599443",
+ "location": {
+ "lon": 0.019292,
+ "lat": 51.528713
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 7,
+ "id": "10310062",
+ "location": {
+ "lon": 0.0312911,
+ "lat": 51.5333256
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 2,
+ "id": "18581880",
+ "location": {
+ "lon": 0.024529,
+ "lat": 51.532657
+ },
+ "price": "£485k"
+ },
+ {
+ "page": 6,
+ "id": "16958654",
+ "location": {
+ "lon": 0.0290047517696,
+ "lat": 51.517884406772
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 3,
+ "id": "18500879",
+ "location": {
+ "lon": 0.0261815704481272,
+ "lat": 51.5208311521393
+ },
+ "price": "£3.8m"
+ },
+ {
+ "page": 7,
+ "id": "15745584",
+ "location": {
+ "lon": 0.033414,
+ "lat": 51.527137
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 2,
+ "id": "18583700",
+ "location": {
+ "lon": 0.021296,
+ "lat": 51.528351
+ },
+ "price": "£650k"
+ },
+ {
+ "page": 7,
+ "id": "18605261",
+ "location": {
+ "lon": 0.038605,
+ "lat": 51.532072
+ },
+ "price": "£500k"
+ },
+ {
+ "page": 4,
+ "id": "18212338",
+ "location": {
+ "lon": 0.022777,
+ "lat": 51.526814
+ },
+ "price": "£575k"
+ },
+ {
+ "page": 4,
+ "id": "18259433",
+ "location": {
+ "lon": 0.020505,
+ "lat": 51.532814
+ },
+ "price": "£240k"
+ },
+ {
+ "page": 3,
+ "id": "18465896",
+ "location": {
+ "lon": 0.018106,
+ "lat": 51.526279
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 2,
+ "id": "18446122",
+ "location": {
+ "lon": 0.0340731,
+ "lat": 51.5244963
+ },
+ "price": "£415k"
+ },
+ {
+ "page": 3,
+ "id": "17501989",
+ "location": {
+ "lon": 0.020751,
+ "lat": 51.531021
+ },
+ "price": "£240k"
+ },
+ {
+ "page": 1,
+ "id": "18558844",
+ "location": {
+ "lon": 0.032268734664,
+ "lat": 51.532760095565
+ },
+ "price": "£200k"
+ },
+ {
+ "page": 6,
+ "id": "16422330",
+ "location": {
+ "lon": 0.039802,
+ "lat": 51.532433
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 2,
+ "id": "18576264",
+ "location": {
+ "lon": 0.025116,
+ "lat": 51.528321
+ },
+ "price": "£475k"
+ },
+ {
+ "page": 2,
+ "id": "16388817",
+ "location": {
+ "lon": 0.032853,
+ "lat": 51.531776
+ },
+ "price": "£525k"
+ },
+ {
+ "page": 5,
+ "id": "17937264",
+ "location": {
+ "lon": 0.01382,
+ "lat": 51.520377
+ },
+ "price": "£375k"
+ },
+ {
+ "page": 5,
+ "id": "17988420",
+ "location": {
+ "lon": 0.034571,
+ "lat": 51.525648
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 1,
+ "id": "18155968",
+ "location": {
+ "lon": 0.038919,
+ "lat": 51.531642
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 1,
+ "id": "18663261",
+ "location": {
+ "lon": 0.029208,
+ "lat": 51.520374
+ },
+ "price": "£525k"
+ },
+ {
+ "page": 2,
+ "id": "18609175",
+ "location": {
+ "lon": 0.0281049,
+ "lat": 51.5191824
+ },
+ "price": "£375k"
+ },
+ {
+ "page": 1,
+ "id": "18662065",
+ "location": {
+ "lon": 0.021061,
+ "lat": 51.527015
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 5,
+ "id": "17810728",
+ "location": {
+ "lon": 0.026324,
+ "lat": 51.53141
+ },
+ "price": "£293k"
+ },
+ {
+ "page": 2,
+ "id": "18616685",
+ "location": {
+ "lon": 0.028181975707411766,
+ "lat": 51.51941680908203
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 7,
+ "id": "17250207",
+ "location": {
+ "lon": 0.039155,
+ "lat": 51.526954
+ },
+ "price": "£750k"
+ },
+ {
+ "page": 7,
+ "id": "17679831",
+ "location": {
+ "lon": 0.029886,
+ "lat": 51.538395
+ },
+ "price": "£650k"
+ },
+ {
+ "page": 4,
+ "id": "18111262",
+ "location": {
+ "lon": 0.033103,
+ "lat": 51.532878
+ },
+ "price": "£725k"
+ },
+ {
+ "page": 1,
+ "id": "16071405",
+ "location": {
+ "lon": 0.038528,
+ "lat": 51.532622
+ },
+ "price": "£340k"
+ },
+ {
+ "page": 6,
+ "id": "16883566",
+ "location": {
+ "lon": 0.036606,
+ "lat": 51.527664
+ },
+ "price": "£260k"
+ },
+ {
+ "location": {
+ "lon": 0.02629,
+ "lat": 51.52211
+ },
+ "property-group": [
+ {
+ "page": 1,
+ "id": "17977065",
+ "price": "£645k"
+ },
+ {
+ "page": 1,
+ "id": "17977066",
+ "price": "£426k"
+ }
+ ]
+ },
+ {
+ "page": 2,
+ "id": "18583648",
+ "location": {
+ "lon": 0.024304,
+ "lat": 51.529855
+ },
+ "price": "£235k"
+ },
+ {
+ "page": 3,
+ "id": "18451596",
+ "location": {
+ "lon": 0.0379799,
+ "lat": 51.5274611
+ },
+ "price": "£385k"
+ },
+ {
+ "page": 4,
+ "id": "18222617",
+ "location": {
+ "lon": 0.029251,
+ "lat": 51.51844
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 5,
+ "id": "15117606",
+ "location": {
+ "lon": 0.028221,
+ "lat": 51.518061
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 5,
+ "id": "14372072",
+ "location": {
+ "lon": 0.038659,
+ "lat": 51.531922
+ },
+ "price": "£295k"
+ },
+ {
+ "page": 3,
+ "id": "18466825",
+ "location": {
+ "lon": 0.028883,
+ "lat": 51.533237
+ },
+ "price": "£270k"
+ },
+ {
+ "page": 3,
+ "id": "18450196",
+ "location": {
+ "lon": 0.0184906178936295,
+ "lat": 51.5250446222415
+ },
+ "price": "£320k"
+ },
+ {
+ "page": 7,
+ "id": "17370447",
+ "location": {
+ "lon": 0.022591,
+ "lat": 51.537719
+ },
+ "price": "£585k"
+ },
+ {
+ "location": {
+ "lon": 0.038772,
+ "lat": 51.531943
+ },
+ "property-group": [
+ {
+ "page": 6,
+ "id": "16285889",
+ "price": "£510k"
+ },
+ {
+ "page": 6,
+ "id": "14709153",
+ "price": "£450k"
+ },
+ {
+ "page": 7,
+ "id": "14848663",
+ "price": "£350k"
+ }
+ ]
+ },
+ {
+ "page": 3,
+ "id": "18243126",
+ "location": {
+ "lon": 0.035071,
+ "lat": 51.525568
+ },
+ "price": "£435k"
+ },
+ {
+ "location": {
+ "lon": 0.018692,
+ "lat": 51.531252
+ },
+ "property-group": [
+ {
+ "page": 3,
+ "id": "18414269",
+ "price": "£500k"
+ },
+ {
+ "page": 3,
+ "id": "18412555",
+ "price": "£400k"
+ }
+ ]
+ },
+ {
+ "page": 3,
+ "id": "18462921",
+ "location": {
+ "lon": 0.023076,
+ "lat": 51.536297
+ },
+ "price": "£365k"
+ },
+ {
+ "page": 7,
+ "id": "12755653",
+ "location": {
+ "lon": 0.03767,
+ "lat": 51.5318
+ },
+ "price": "£620k"
+ },
+ {
+ "page": 6,
+ "id": "16933918",
+ "location": {
+ "lon": 0.0241524,
+ "lat": 51.5368906
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 7,
+ "id": "12844820",
+ "location": {
+ "lon": 0.0176614,
+ "lat": 51.5202776
+ },
+ "price": "£45k"
+ },
+ {
+ "page": 3,
+ "id": "18515725",
+ "location": {
+ "lon": 0.016318,
+ "lat": 51.534152
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 4,
+ "id": "18218233",
+ "location": {
+ "lon": 0.0332279651249534,
+ "lat": 51.5310108530693
+ },
+ "price": "£525k"
+ },
+ {
+ "page": 4,
+ "id": "18404125",
+ "location": {
+ "lon": 0.039362,
+ "lat": 51.531668
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 1,
+ "id": "18733280",
+ "location": {
+ "lon": 0.025019,
+ "lat": 51.528746
+ },
+ "price": "£480k"
+ },
+ {
+ "page": 3,
+ "id": "18486085",
+ "location": {
+ "lon": 0.033687,
+ "lat": 51.5244
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 6,
+ "id": "17105944",
+ "location": {
+ "lon": 0.03781,
+ "lat": 51.53244
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 2,
+ "id": "18226699",
+ "location": {
+ "lon": 0.0172397,
+ "lat": 51.5200586
+ },
+ "price": "£680k"
+ },
+ {
+ "page": 3,
+ "id": "18475980",
+ "location": {
+ "lon": 0.0169237,
+ "lat": 51.5290089
+ },
+ "price": "£575k"
+ },
+ {
+ "page": 1,
+ "id": "18649147",
+ "location": {
+ "lon": 0.028135,
+ "lat": 51.517623
+ },
+ "price": "£500k"
+ },
+ {
+ "page": 6,
+ "id": "16442971",
+ "location": {
+ "lon": 0.03956,
+ "lat": 51.531326
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 6,
+ "id": "13569520",
+ "location": {
+ "lon": 0.0355953846231527,
+ "lat": 51.5173848081445
+ },
+ "price": "£350k"
+ },
+ {
+ "page": 4,
+ "id": "18256699",
+ "location": {
+ "lon": 0.032658,
+ "lat": 51.527039
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 2,
+ "id": "18561590",
+ "location": {
+ "lon": 0.0332765,
+ "lat": 51.5266773
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 2,
+ "id": "18012740",
+ "location": {
+ "lon": 0.0244696,
+ "lat": 51.5332437
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 5,
+ "id": "18038293",
+ "location": {
+ "lon": 0.0300915,
+ "lat": 51.5384067
+ },
+ "price": "£700k"
+ },
+ {
+ "page": 1,
+ "id": "18537647",
+ "location": {
+ "lon": 0.0187337,
+ "lat": 51.5313548
+ },
+ "price": "£360k"
+ },
+ {
+ "page": 1,
+ "id": "18658229",
+ "location": {
+ "lon": 0.0205261,
+ "lat": 51.5310973
+ },
+ "price": "£240k"
+ },
+ {
+ "page": 4,
+ "id": "18405789",
+ "location": {
+ "lon": 0.024348,
+ "lat": 51.536793
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 2,
+ "id": "18575327",
+ "location": {
+ "lon": 0.030998,
+ "lat": 51.524775
+ },
+ "price": "£680k"
+ },
+ {
+ "page": 5,
+ "id": "18035541",
+ "location": {
+ "lon": 0.020267,
+ "lat": 51.521416
+ },
+ "price": "£170k"
+ },
+ {
+ "page": 3,
+ "id": "18506209",
+ "location": {
+ "lon": 0.031062,
+ "lat": 51.518615
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 1,
+ "id": "18236901",
+ "location": {
+ "lon": 0.030554,
+ "lat": 51.536041
+ },
+ "price": "£650k"
+ },
+ {
+ "page": 4,
+ "id": "18253343",
+ "location": {
+ "lon": 0.03228,
+ "lat": 51.529789
+ },
+ "price": "£390k"
+ },
+ {
+ "page": 7,
+ "id": "18591492",
+ "location": {
+ "lon": 0.020406,
+ "lat": 51.521587
+ },
+ "price": "£130k"
+ },
+ {
+ "page": 5,
+ "id": "17803477",
+ "location": {
+ "lon": 0.036484,
+ "lat": 51.530436
+ },
+ "price": "£375k"
+ },
+ {
+ "page": 7,
+ "id": "14008129",
+ "location": {
+ "lon": 0.028864,
+ "lat": 51.52734
+ },
+ "price": "£350k"
+ },
+ {
+ "page": 1,
+ "id": "18699105",
+ "location": {
+ "lon": 0.027117001,
+ "lat": 51.525398
+ },
+ "price": "£575k"
+ },
+ {
+ "page": 5,
+ "id": "18039289",
+ "location": {
+ "lon": 0.039055,
+ "lat": 51.528593
+ },
+ "price": "£490k"
+ },
+ {
+ "page": 7,
+ "id": "16158416",
+ "location": {
+ "lon": 0.028145,
+ "lat": 51.530029
+ },
+ "price": "£285k"
+ },
+ {
+ "page": 1,
+ "id": "18392943",
+ "location": {
+ "lon": 0.021095,
+ "lat": 51.524641
+ },
+ "price": "£475k"
+ },
+ {
+ "page": 6,
+ "id": "13814650",
+ "location": {
+ "lon": 0.024833,
+ "lat": 51.534575
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 1,
+ "id": "18735997",
+ "location": {
+ "lon": 0.032126,
+ "lat": 51.527057
+ },
+ "price": "£265k"
+ },
+ {
+ "page": 1,
+ "id": "18694006",
+ "location": {
+ "lon": 0.0361233,
+ "lat": 51.5281208
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 5,
+ "id": "17895988",
+ "location": {
+ "lon": 0.038428,
+ "lat": 51.533249
+ },
+ "price": "£295k"
+ },
+ {
+ "page": 3,
+ "id": "18010145",
+ "location": {
+ "lon": 0.0376715,
+ "lat": 51.531804
+ },
+ "price": "£460k"
+ },
+ {
+ "location": {
+ "lon": 0.03651,
+ "lat": 51.52917
+ },
+ "property-group": [
+ {
+ "page": 5,
+ "id": "17971613",
+ "price": "£575k"
+ },
+ {
+ "page": 5,
+ "id": "17971614",
+ "price": "£380k"
+ }
+ ]
+ },
+ {
+ "page": 5,
+ "id": "17901897",
+ "location": {
+ "lon": 0.015409,
+ "lat": 51.530408
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 4,
+ "id": "18383131",
+ "location": {
+ "lon": 0.027542,
+ "lat": 51.527748
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 4,
+ "id": "18243286",
+ "location": {
+ "lon": 0.035486,
+ "lat": 51.52843
+ },
+ "price": "£475k"
+ },
+ {
+ "page": 1,
+ "id": "18653332",
+ "location": {
+ "lon": 0.02016,
+ "lat": 51.528209
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 5,
+ "id": "18088702",
+ "location": {
+ "lon": 0.038236,
+ "lat": 51.53212
+ },
+ "price": "£335k"
+ },
+ {
+ "page": 1,
+ "id": "17775873",
+ "location": {
+ "lon": 0.036442,
+ "lat": 51.527188
+ },
+ "price": "£575k"
+ },
+ {
+ "page": 2,
+ "id": "18621738",
+ "location": {
+ "lon": 0.0342417,
+ "lat": 51.5250457
+ },
+ "price": "£445k"
+ },
+ {
+ "location": {
+ "lon": 0.031593,
+ "lat": 51.526706
+ },
+ "property-group": [
+ {
+ "page": 1,
+ "id": "18644379",
+ "price": "£300k"
+ },
+ {
+ "page": 7,
+ "id": "15084982",
+ "price": "£225k"
+ }
+ ]
+ },
+ {
+ "page": 5,
+ "id": "18080279",
+ "location": {
+ "lon": 0.038985,
+ "lat": 51.533162
+ },
+ "price": "£310k"
+ },
+ {
+ "page": 2,
+ "id": "18563981",
+ "location": {
+ "lon": 0.0372,
+ "lat": 51.5318
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 6,
+ "id": "17695677",
+ "location": {
+ "lon": 0.0241511,
+ "lat": 51.5372145
+ },
+ "price": "£550k"
+ },
+ {
+ "page": 2,
+ "id": "18633673",
+ "location": {
+ "lon": 0.037648,
+ "lat": 51.526792
+ },
+ "price": "£425k"
+ },
+ {
+ "page": 4,
+ "id": "18168232",
+ "location": {
+ "lon": 0.027631,
+ "lat": 51.528656
+ },
+ "price": "£475k"
+ },
+ {
+ "page": 4,
+ "id": "18404734",
+ "location": {
+ "lon": 0.0296948650158,
+ "lat": 51.524928441844
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 1,
+ "id": "18658448",
+ "location": {
+ "lon": 0.023305,
+ "lat": 51.534431
+ },
+ "price": "£600k"
+ },
+ {
+ "page": 6,
+ "id": "17548535",
+ "location": {
+ "lon": 0.02398,
+ "lat": 51.521759
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 4,
+ "id": "18148111",
+ "location": {
+ "lon": 0.037597,
+ "lat": 51.531809
+ },
+ "price": "£320k"
+ },
+ {
+ "page": 1,
+ "id": "18666939",
+ "location": {
+ "lon": 0.028048,
+ "lat": 51.518096
+ },
+ "price": "£280k"
+ },
+ {
+ "page": 7,
+ "id": "18674365",
+ "location": {
+ "lon": 0.039361,
+ "lat": 51.531669
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 3,
+ "id": "16452954",
+ "location": {
+ "lon": 0.030143,
+ "lat": 51.526283
+ },
+ "price": "£250k"
+ },
+ {
+ "page": 6,
+ "id": "17459393",
+ "location": {
+ "lon": 0.038355,
+ "lat": 51.53004
+ },
+ "price": "£1.1m"
+ },
+ {
+ "page": 5,
+ "id": "17919684",
+ "location": {
+ "lon": 0.031355,
+ "lat": 51.534598
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 2,
+ "id": "18635310",
+ "location": {
+ "lon": 0.019802,
+ "lat": 51.525581
+ },
+ "price": "£340k"
+ },
+ {
+ "page": 7,
+ "id": "18417536",
+ "location": {
+ "lon": 0.014242367493806363,
+ "lat": 51.524764768608016
+ },
+ "price": "£300k"
+ },
+ {
+ "page": 4,
+ "id": "18406162",
+ "location": {
+ "lon": 0.03111,
+ "lat": 51.517839
+ },
+ "price": "£450k"
+ },
+ {
+ "page": 3,
+ "id": "18542540",
+ "location": {
+ "lon": 0.030923,
+ "lat": 51.518877
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 2,
+ "id": "18575880",
+ "location": {
+ "lon": 0.036498,
+ "lat": 51.52396
+ },
+ "price": "£420k"
+ },
+ {
+ "page": 4,
+ "id": "18099438",
+ "location": {
+ "lon": 0.02016,
+ "lat": 51.528214
+ },
+ "price": "£350k"
+ },
+ {
+ "page": 2,
+ "id": "18563601",
+ "location": {
+ "lon": 0.038566,
+ "lat": 51.531837
+ },
+ "price": "£450k"
+ },
+ {
+ "location": {
+ "lon": 0.039475,
+ "lat": 51.532
+ },
+ "property-group": [
+ {
+ "page": 7,
+ "id": "11652726",
+ "price": "£365k"
+ },
+ {
+ "page": 7,
+ "id": "11652734",
+ "price": "£373k"
+ },
+ {
+ "page": 7,
+ "id": "11652746",
+ "price": "£529k"
+ },
+ {
+ "page": 7,
+ "id": "11652756",
+ "price": "£484k"
+ },
+ {
+ "page": 7,
+ "id": "11652759",
+ "price": "£599k"
+ },
+ {
+ "page": 7,
+ "id": "11483703",
+ "price": "£524k"
+ }
+ ]
+ },
+ {
+ "page": 3,
+ "id": "18494528",
+ "location": {
+ "lon": 0.022366,
+ "lat": 51.519958
+ },
+ "price": "£325k"
+ },
+ {
+ "page": 6,
+ "id": "17545249",
+ "location": {
+ "lon": 0.033833,
+ "lat": 51.535329
+ },
+ "price": "£400k"
+ },
+ {
+ "page": 6,
+ "id": "17670420",
+ "location": {
+ "lon": 0.038629,
+ "lat": 51.532489
+ },
+ "price": "£425k"
+ }
+ ],
+ "view-controls": {
+ "view-types": [
+ {
+ "url": "/for-sale/property/e13/?page=2",
+ "selected": false,
+ "mobile-to-show": true,
+ "value": "list",
+ "label": "List"
+ },
+ {
+ "url": "/for-sale/property/e13/?view=map",
+ "selected": false,
+ "mobile-to-show": true,
+ "value": "map",
+ "label": "Map"
+ },
+ {
+ "url": "/for-sale/property/e13/?page=2&view=map-only",
+ "selected": false,
+ "mobile-to-show": true,
+ "value": "map-only",
+ "label": "Map"
+ },
+ {
+ "url": "/for-sale/property/e13/?page=2&view=map-list",
+ "selected": true,
+ "mobile-to-show": true,
+ "value": "map-list",
+ "label": "Map"
+ }
+ ],
+ "view-is-default": false,
+ "sorting": [
+ {
+ "url": "/for-sale/property/e13/?view=map-list",
+ "selected": true,
+ "label": "Recommended"
+ },
+ {
+ "url": "/for-sale/property/e13/?sort-field=price&view=map-list",
+ "selected": false,
+ "label": "Highest price"
+ },
+ {
+ "url": "/for-sale/property/e13/?direction=asc&sort-field=price&view=map-list",
+ "selected": false,
+ "label": "Lowest price"
+ },
+ {
+ "url": "/for-sale/property/e13/?sort-field=update_date&view=map-list",
+ "selected": false,
+ "label": "Recent"
+ }
+ ],
+ "page-size": [],
+ "current-view": "map-list"
+ },
+ "metric-name": "resource-time-taken.property-search",
+ "nearby-links": [
+ {
+ "text": "E14",
+ "url": "/for-sale/property/e14/"
+ },
+ {
+ "text": "E6",
+ "url": "/for-sale/property/e6/"
+ },
+ {
+ "text": "E15",
+ "url": "/for-sale/property/e15/"
+ },
+ {
+ "text": "South London",
+ "url": "/for-sale/property/south-london/"
+ },
+ {
+ "text": "Surrey Quays",
+ "url": "/for-sale/property/surrey-quays/"
+ },
+ {
+ "text": "East Ham",
+ "url": "/for-sale/property/east-ham/"
+ },
+ {
+ "text": "Docklands",
+ "url": "/for-sale/property/docklands/"
+ },
+ {
+ "text": "West Greenwich",
+ "url": "/for-sale/property/west-greenwich/"
+ },
+ {
+ "text": "Stratford",
+ "url": "/for-sale/property/stratford/"
+ },
+ {
+ "text": "Forest Gate",
+ "url": "/for-sale/property/forest-gate/"
+ }
+ ],
+ "saved-search-params": {
+ "exclusive-first": true,
+ "under-offer": false,
+ "location-id": "e13",
+ "search-type": "for-sale"
+ },
+ "pagination-controls": {
+ "first-link": null,
+ "trailing-gap": true,
+ "total": "188",
+ "next": {
+ "next-link": "/for-sale/property/e13/?page=3&view=map-list"
+ },
+ "from": "31",
+ "page-links": [
+ {
+ "url": "/for-sale/property/e13/?view=map-list",
+ "page": 1,
+ "selected": false
+ },
+ {
+ "url": "/for-sale/property/e13/?page=2&view=map-list",
+ "page": 2,
+ "selected": true
+ },
+ {
+ "url": "/for-sale/property/e13/?page=3&view=map-list",
+ "page": 3,
+ "selected": false
+ }
+ ],
+ "prev": {
+ "prev-link": "/for-sale/property/e13/?view=map-list"
+ },
+ "last-link": {
+ "url": "/for-sale/property/e13/?page=7&view=map-list",
+ "page": 7
+ },
+ "leading-gap": false,
+ "to": "60"
+ },
+ "form-data": {
+ "price-ranges": [
+ {
+ "from": 10000,
+ "percent": 0
+ },
+ {
+ "from": 20000,
+ "percent": 0
+ },
+ {
+ "from": 30000,
+ "percent": 0
+ },
+ {
+ "from": 40000,
+ "percent": 4
+ },
+ {
+ "from": 50000,
+ "percent": 0
+ },
+ {
+ "from": 60000,
+ "percent": 0
+ },
+ {
+ "from": 70000,
+ "percent": 0
+ },
+ {
+ "from": 80000,
+ "percent": 4
+ },
+ {
+ "from": 90000,
+ "percent": 0
+ },
+ {
+ "from": 100000,
+ "percent": 0
+ },
+ {
+ "from": 110000,
+ "percent": 0
+ },
+ {
+ "from": 120000,
+ "percent": 4
+ },
+ {
+ "from": 130000,
+ "percent": 4
+ },
+ {
+ "from": 140000,
+ "percent": 0
+ },
+ {
+ "from": 150000,
+ "percent": 0
+ },
+ {
+ "from": 160000,
+ "percent": 9
+ },
+ {
+ "from": 170000,
+ "percent": 4
+ },
+ {
+ "from": 180000,
+ "percent": 4
+ },
+ {
+ "from": 190000,
+ "percent": 0
+ },
+ {
+ "from": 200000,
+ "percent": 4
+ },
+ {
+ "from": 210000,
+ "percent": 4
+ },
+ {
+ "from": 220000,
+ "percent": 9
+ },
+ {
+ "from": 230000,
+ "percent": 4
+ },
+ {
+ "from": 240000,
+ "percent": 19
+ },
+ {
+ "from": 250000,
+ "percent": 38
+ },
+ {
+ "from": 275000,
+ "percent": 28
+ },
+ {
+ "from": 300000,
+ "percent": 57
+ },
+ {
+ "from": 325000,
+ "percent": 100
+ },
+ {
+ "from": 350000,
+ "percent": 52
+ },
+ {
+ "from": 375000,
+ "percent": 28
+ },
+ {
+ "from": 400000,
+ "percent": 80
+ },
+ {
+ "from": 425000,
+ "percent": 57
+ },
+ {
+ "from": 450000,
+ "percent": 85
+ },
+ {
+ "from": 475000,
+ "percent": 57
+ },
+ {
+ "from": 500000,
+ "percent": 47
+ },
+ {
+ "from": 550000,
+ "percent": 47
+ },
+ {
+ "from": 600000,
+ "percent": 57
+ },
+ {
+ "from": 650000,
+ "percent": 23
+ },
+ {
+ "from": 700000,
+ "percent": 14
+ },
+ {
+ "from": 750000,
+ "percent": 9
+ },
+ {
+ "from": 800000,
+ "percent": 4
+ },
+ {
+ "from": 850000,
+ "percent": 4
+ },
+ {
+ "from": 900000,
+ "percent": 4
+ },
+ {
+ "from": 950000,
+ "percent": 0
+ },
+ {
+ "from": 1000000,
+ "percent": 0
+ },
+ {
+ "from": 1100000,
+ "percent": 4
+ },
+ {
+ "from": 1200000,
+ "percent": 0
+ },
+ {
+ "from": 1300000,
+ "percent": 0
+ },
+ {
+ "from": 1400000,
+ "percent": 0
+ },
+ {
+ "from": 1500000,
+ "percent": 0
+ },
+ {
+ "from": 1600000,
+ "percent": 4
+ },
+ {
+ "from": 1700000,
+ "percent": 0
+ },
+ {
+ "from": 1800000,
+ "percent": 0
+ },
+ {
+ "from": 1900000,
+ "percent": 0
+ },
+ {
+ "from": 2000000,
+ "percent": 0
+ },
+ {
+ "from": 2100000,
+ "percent": 0
+ },
+ {
+ "from": 2200000,
+ "percent": 0
+ },
+ {
+ "from": 2300000,
+ "percent": 0
+ },
+ {
+ "from": 2400000,
+ "percent": 0
+ },
+ {
+ "from": 2500000,
+ "percent": 0
+ },
+ {
+ "from": 2750000,
+ "percent": 0
+ },
+ {
+ "from": 3000000,
+ "percent": 0
+ },
+ {
+ "from": 3250000,
+ "percent": 0
+ },
+ {
+ "from": 3500000,
+ "percent": 0
+ },
+ {
+ "from": 3750000,
+ "percent": 4
+ },
+ {
+ "from": 4000000,
+ "percent": 0
+ },
+ {
+ "from": 4250000,
+ "percent": 0
+ },
+ {
+ "from": 4500000,
+ "percent": 0
+ },
+ {
+ "from": 4750000,
+ "percent": 0
+ },
+ {
+ "from": 5000000,
+ "percent": 0
+ },
+ {
+ "from": 5500000,
+ "percent": 0
+ },
+ {
+ "from": 6000000,
+ "percent": 0
+ },
+ {
+ "from": 6500000,
+ "percent": 0
+ },
+ {
+ "from": 7000000,
+ "percent": 0
+ },
+ {
+ "from": 7500000,
+ "percent": 0
+ },
+ {
+ "from": 8000000,
+ "percent": 0
+ },
+ {
+ "from": 8500000,
+ "percent": 0
+ },
+ {
+ "from": 9000000,
+ "percent": 0
+ },
+ {
+ "from": 9500000,
+ "percent": 0
+ },
+ {
+ "from": 10000000,
+ "percent": 0
+ },
+ {
+ "from": 12500000,
+ "percent": 0
+ },
+ {
+ "from": 15000000,
+ "percent": 0
+ }
+ ],
+ "location-name": "E13",
+ "location-id": "e13"
+ },
+ "brand": {
+ "id": 1,
+ "name": "otm"
+ },
+ "robots": "noindex, follow",
+ "page-titles": {
+ "page-title": "Houses for sale in E13 | Page 2 | OnTheMarket",
+ "h1-title": "Property & houses for sale in E13",
+ "sitemap-title": "Property & houses for sale in E13",
+ "meta-title": "Find the latest properties available for sale in E13 with the UK's most user-friendly property portal. Search houses & flats to buy from leading estate agents."
+ },
+ "current-query": {
+ "location-type": "postal-district",
+ "location-name": "E13",
+ "page": 2,
+ "exclusive-first": true,
+ "under-offer": false,
+ "location-id": "e13",
+ "search-type": "for-sale",
+ "frame-size": 30,
+ "direction": "desc",
+ "view": "map-list",
+ "sort-field": "recommended"
+ },
+ "geo-location": {
+ "results-center": {
+ "lat": 51.527214271,
+ "lon": 0.026834043
+ },
+ "results-bounds": {
+ "southWest": {
+ "lat": 51.515893138131666,
+ "lon": 0.008637043566345596
+ },
+ "northEast": {
+ "lat": 51.53853540386833,
+ "lon": 0.0450310424336544
+ }
+ },
+ "location-id": "e13",
+ "location-name": "E13",
+ "location-type": "postal-district",
+ "polygons": [
+ [
+ [
+ {
+ "lon": 0.009713356,
+ "lat": 51.524208989
+ },
+ {
+ "lon": 0.009134646,
+ "lat": 51.524632
+ },
+ {
+ "lon": 0.009329017,
+ "lat": 51.526795981
+ },
+ {
+ "lon": 0.013325523,
+ "lat": 51.528751641
+ },
+ {
+ "lon": 0.011568791,
+ "lat": 51.530212629
+ },
+ {
+ "lon": 0.015788935,
+ "lat": 51.531641708
+ },
+ {
+ "lon": 0.013892959,
+ "lat": 51.53272147
+ },
+ {
+ "lon": 0.014732587,
+ "lat": 51.534006298
+ },
+ {
+ "lon": 0.017295745,
+ "lat": 51.535187692
+ },
+ {
+ "lon": 0.018673738,
+ "lat": 51.534341638
+ },
+ {
+ "lon": 0.020497556,
+ "lat": 51.535174364
+ },
+ {
+ "lon": 0.022325339,
+ "lat": 51.537883428
+ },
+ {
+ "lon": 0.033002362,
+ "lat": 51.538596096
+ },
+ {
+ "lon": 0.035969036,
+ "lat": 51.53745307
+ },
+ {
+ "lon": 0.036599605,
+ "lat": 51.53468156
+ },
+ {
+ "lon": 0.039348045,
+ "lat": 51.533061401
+ },
+ {
+ "lon": 0.039863958,
+ "lat": 51.532291345
+ },
+ {
+ "lon": 0.040036548,
+ "lat": 51.531521276
+ },
+ {
+ "lon": 0.038569504,
+ "lat": 51.529854273
+ },
+ {
+ "lon": 0.039813798,
+ "lat": 51.52848456
+ },
+ {
+ "lon": 0.040292531,
+ "lat": 51.520983225
+ },
+ {
+ "lon": 0.041801948,
+ "lat": 51.519536474
+ },
+ {
+ "lon": 0.034196563,
+ "lat": 51.516701413
+ },
+ {
+ "lon": 0.02336799,
+ "lat": 51.517108917
+ },
+ {
+ "lon": 0.02284265,
+ "lat": 51.519654329
+ },
+ {
+ "lon": 0.012115698,
+ "lat": 51.519176818
+ },
+ {
+ "lon": 0.012318388,
+ "lat": 51.521178582
+ },
+ {
+ "lon": 0.015225676,
+ "lat": 51.521696438
+ },
+ {
+ "lon": 0.015332502,
+ "lat": 51.52365596
+ },
+ {
+ "lon": 0.014252999,
+ "lat": 51.524508029
+ },
+ {
+ "lon": 0.009713356,
+ "lat": 51.524208989
+ }
+ ]
+ ]
+ ],
+ "polygon-bounds": {
+ "southWest": {
+ "lat": 51.516701413,
+ "lon": 0.009134646
+ },
+ "northEast": {
+ "lat": 51.538596096,
+ "lon": 0.041801948
+ }
+ },
+ "type": "multipolygon"
+ },
+ "url": "/for-sale/property/e13/?page=2&view=map-list",
+ "spotlight?": true,
+ "saved-search-permitted?": true,
+ "total-results": 188,
+ "suggested-properties": [],
+ "breadcrumbs": {
+ "locations": [
+ {
+ "id": "uk",
+ "url": "/for-sale/property/uk/",
+ "text": "UK"
+ },
+ {
+ "id": "london",
+ "url": "/for-sale/property/london/",
+ "text": "London"
+ },
+ {
+ "id": "east-london",
+ "url": "/for-sale/property/east-london/",
+ "text": "East London"
+ },
+ {
+ "id": "e13",
+ "url": "/for-sale/property/e13/",
+ "text": "E13"
+ }
+ ]
+ },
+ "show-suggested-message?": false
+}
diff --git a/finder/pyproject.toml b/finder/pyproject.toml
new file mode 100644
index 0000000..59facd5
--- /dev/null
+++ b/finder/pyproject.toml
@@ -0,0 +1,9 @@
+[project]
+name = "finder"
+version = "0.1.0"
+requires-python = ">=3.12"
+dependencies = [
+ "flask",
+ "httpx",
+ "polars",
+]
diff --git a/finder/rightmove/buy.json b/finder/rightmove/buy.json
new file mode 100644
index 0000000..1cb4acc
--- /dev/null
+++ b/finder/rightmove/buy.json
@@ -0,0 +1,10918 @@
+{
+ "countryCode": "gb",
+ "countryId": -1,
+ "dfpModel": {
+ "sidebarSlots": [
+ {
+ "id": "searchSidebar-mpuSlot-2",
+ "adUnitPath": "/5029762/Rightmove_Property_Web/Property_Results_Sidebar/MPU2",
+ "sizes": [[300, 250]],
+ "mappings": []
+ },
+ {
+ "id": "searchSidebar-mpuSlot-1",
+ "adUnitPath": "/5029762/Rightmove_Property_Web/Property_Results_Sidebar/MPU1",
+ "sizes": [[300, 250]],
+ "mappings": []
+ }
+ ],
+ "targeting": [{ "key": "CT", "value": "property-for-sale" }]
+ },
+ "formattedExchangeRateDate": "",
+ "location": {
+ "id": 746,
+ "displayName": "E11",
+ "shortDisplayName": "E11",
+ "locationType": "OUTCODE",
+ "listingCurrency": "GBP",
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [0.00006, 51.56708],
+ [-0.00049, 51.56598],
+ [-0.00058, 51.566],
+ [-0.00148, 51.56499],
+ [-0.00182, 51.56509],
+ [-0.00168, 51.56526],
+ [-0.00192, 51.56538],
+ [-0.00203, 51.5656],
+ [-0.00242, 51.56549],
+ [-0.00256, 51.56535],
+ [-0.00147, 51.56476],
+ [-0.00219, 51.56447],
+ [-0.00426, 51.56281],
+ [-0.00309, 51.56204],
+ [-0.00304, 51.56164],
+ [-0.00194, 51.56098],
+ [-0.00189, 51.56037],
+ [-0.00253, 51.55993],
+ [-0.0038, 51.55872],
+ [-0.00474, 51.55908],
+ [-0.00557, 51.55855],
+ [-0.0042, 51.5577],
+ [-0.00593, 51.55659],
+ [-0.00549, 51.55594],
+ [-0.00531, 51.55529],
+ [-0.00501, 51.55536],
+ [-0.00482, 51.5551],
+ [-0.00491, 51.55508],
+ [-0.0049, 51.55475],
+ [-0.00499, 51.5547],
+ [-0.00496, 51.55457],
+ [-0.00478, 51.55444],
+ [-0.00512, 51.55423],
+ [-0.00519, 51.55402],
+ [-0.00478, 51.55407],
+ [-0.00468, 51.55383],
+ [-0.00483, 51.55358],
+ [-0.00465, 51.55323],
+ [-0.00443, 51.55322],
+ [-0.00127, 51.55391],
+ [-0.00107, 51.55407],
+ [-0.00084, 51.55414],
+ [-0.0007, 51.55416],
+ [-0.00029, 51.55381],
+ [-0.00032, 51.55353],
+ [0.00188, 51.55378],
+ [0.00184, 51.55413],
+ [0.00213, 51.55386],
+ [0.00333, 51.55331],
+ [0.00462, 51.55338],
+ [0.00507, 51.55301],
+ [0.00497, 51.55246],
+ [0.0055, 51.55208],
+ [0.00554, 51.55224],
+ [0.00609, 51.55263],
+ [0.00625, 51.5526],
+ [0.00706, 51.55245],
+ [0.00776, 51.55266],
+ [0.00828, 51.55317],
+ [0.00899, 51.5534],
+ [0.00943, 51.55376],
+ [0.00999, 51.5545],
+ [0.01202, 51.55494],
+ [0.01271, 51.55548],
+ [0.01374, 51.55593],
+ [0.01715, 51.55718],
+ [0.01832, 51.55747],
+ [0.01863, 51.55766],
+ [0.02012, 51.55636],
+ [0.02054, 51.5561],
+ [0.02138, 51.55618],
+ [0.02253, 51.55606],
+ [0.02262, 51.55659],
+ [0.02311, 51.55677],
+ [0.02333, 51.55671],
+ [0.02358, 51.55649],
+ [0.02361, 51.55578],
+ [0.02385, 51.55543],
+ [0.0253, 51.55544],
+ [0.02531, 51.55707],
+ [0.02533, 51.55978],
+ [0.02562, 51.56149],
+ [0.02499, 51.56415],
+ [0.02521, 51.56412],
+ [0.02712, 51.56292],
+ [0.02765, 51.56266],
+ [0.02811, 51.56262],
+ [0.03175, 51.56291],
+ [0.03174, 51.5631],
+ [0.03207, 51.56343],
+ [0.03206, 51.56444],
+ [0.03235, 51.56472],
+ [0.03236, 51.56509],
+ [0.03216, 51.56545],
+ [0.0321, 51.56586],
+ [0.03212, 51.56633],
+ [0.03268, 51.56791],
+ [0.03417, 51.56774],
+ [0.0352, 51.56788],
+ [0.03697, 51.56781],
+ [0.03741, 51.56801],
+ [0.03885, 51.56721],
+ [0.04653, 51.56625],
+ [0.05018, 51.56626],
+ [0.05025, 51.56653],
+ [0.04709, 51.57032],
+ [0.04454, 51.57185],
+ [0.04469, 51.57194],
+ [0.04221, 51.57354],
+ [0.04159, 51.57403],
+ [0.04027, 51.57443],
+ [0.04008, 51.57462],
+ [0.04005, 51.5749],
+ [0.04086, 51.57657],
+ [0.04222, 51.57731],
+ [0.04338, 51.57852],
+ [0.04161, 51.58142],
+ [0.04095, 51.58281],
+ [0.04091, 51.58326],
+ [0.04112, 51.58397],
+ [0.04103, 51.58548],
+ [0.03826, 51.58467],
+ [0.03762, 51.58484],
+ [0.03727, 51.58477],
+ [0.03683, 51.58492],
+ [0.03656, 51.58515],
+ [0.03604, 51.58538],
+ [0.03592, 51.58554],
+ [0.03541, 51.58551],
+ [0.03508, 51.58575],
+ [0.03476, 51.58586],
+ [0.03438, 51.58565],
+ [0.03372, 51.58545],
+ [0.03392, 51.58506],
+ [0.03053, 51.58408],
+ [0.0305, 51.58414],
+ [0.03024, 51.58409],
+ [0.03008, 51.58441],
+ [0.03053, 51.58455],
+ [0.0302, 51.58497],
+ [0.0297, 51.58499],
+ [0.02986, 51.58531],
+ [0.02857, 51.58556],
+ [0.02769, 51.58586],
+ [0.02732, 51.58536],
+ [0.02649, 51.58558],
+ [0.02627, 51.58539],
+ [0.02591, 51.58545],
+ [0.02547, 51.58531],
+ [0.02637, 51.58679],
+ [0.02672, 51.58818],
+ [0.02669, 51.58865],
+ [0.02656, 51.58873],
+ [0.02565, 51.58698],
+ [0.02515, 51.58643],
+ [0.02448, 51.58632],
+ [0.02364, 51.58638],
+ [0.0236, 51.58576],
+ [0.02276, 51.58579],
+ [0.02269, 51.58505],
+ [0.02239, 51.58455],
+ [0.02161, 51.58414],
+ [0.02198, 51.5838],
+ [0.02106, 51.58348],
+ [0.0184, 51.58367],
+ [0.01657, 51.5839],
+ [0.01552, 51.58328],
+ [0.01415, 51.58331],
+ [0.01342, 51.58368],
+ [0.01303, 51.58629],
+ [0.01287, 51.5862],
+ [0.01237, 51.58616],
+ [0.01177, 51.58582],
+ [0.01136, 51.58552],
+ [0.01097, 51.58534],
+ [0.01109, 51.58519],
+ [0.01103, 51.58512],
+ [0.00967, 51.58472],
+ [0.0101, 51.58333],
+ [0.00688, 51.58343],
+ [0.00594, 51.58368],
+ [0.00138, 51.58169],
+ [0.00124, 51.58158],
+ [0.00116, 51.58125],
+ [0.00124, 51.58109],
+ [0.00151, 51.58096],
+ [0.00204, 51.58098],
+ [0.00241, 51.58111],
+ [0.00241, 51.58057],
+ [0.00302, 51.58019],
+ [-0.0004, 51.57806],
+ [0.00391, 51.57487],
+ [0.00361, 51.57497],
+ [0.00226, 51.57426],
+ [-0.00038, 51.57312],
+ [-0.0003, 51.57303],
+ [-0.00086, 51.57275],
+ [-0.00115, 51.57239],
+ [-0.00204, 51.57188],
+ [-0.00227, 51.57186],
+ [-0.00323, 51.57142],
+ [-0.00335, 51.57095],
+ [-0.00473, 51.5704],
+ [-0.00455, 51.57021],
+ [-0.00432, 51.57013],
+ [-0.00347, 51.57046],
+ [-0.00351, 51.57033],
+ [-0.00548, 51.56901],
+ [-0.00668, 51.56909],
+ [-0.00716, 51.56929],
+ [-0.00831, 51.56837],
+ [-0.00756, 51.56751],
+ [-0.00603, 51.56809],
+ [-0.00624, 51.56816],
+ [-0.00603, 51.56837],
+ [-0.00617, 51.56847],
+ [-0.00529, 51.56874],
+ [-0.00025, 51.56702],
+ [0.00006, 51.56708]
+ ]
+ ]
+ },
+ "encodedGeometry": {
+ "encodedPolygon": "guvyHKzElBCPhErDSbAa@[Wn@k@TTjAZ\\tByEx@nCjI|KxCiFnAIbC{ExBIvA~BpF|FgAzDhBdDhDqG|ExI`CwA`Cc@M}@r@e@BR`AAHNXCXc@h@bAh@LIqAn@Sp@\\dAe@@i@iCwR_@g@Mm@C[dAqAv@Dq@wLeAFt@y@lBoFMaGhAyAlBTjAkB_@GmAmBD_@\\aDi@kCeBeBm@oCgAuAsCqBwAuKkBiCyAmEyFgTy@kFe@}@bGiHr@sAOgDVeFiBQc@aBJk@j@q@lCEdAo@AaHeIA}OCuIy@sO|BDk@nF}Jr@iBF{Ay@wUe@BaAcAiE@w@w@iACgAf@qAL}AE{HoB`@iH[mELaJg@wA~C_H~D_o@AyUu@MuVvRqH|NQ]_InNaBzBoAfGe@f@w@BmIaDsCoGqFgFcQ`JuGbCyAFmCi@mHP`DhPa@~BLfA]tAm@t@m@fB_@VDfBo@~@U~@h@jAf@bClAg@bEdTKDHr@_A^[yAsA`ACbB_A_@q@`G{@nDbBhAk@dDd@j@KfAZvAgHsDuGeA}ADOX|ItDlBbBTdCKfDzBFEfDrCLbBz@pAzCbAiA~@vDe@rOm@lJzBpEEpGiApCiOlAP^FbBbAvBz@pAb@lA\\WLJnAnGtGuASbSq@zDlKn[TZ`AN^OXu@CiBYgAjB?jA{BhLjT|R}YSz@lCnGbFlOPQv@pBfAx@dBpDBl@vA~D|AVlBrGd@c@Nm@aAiDXFfGhKOnFg@~AvDdFjDuCsBqHMh@i@i@SZu@oDvIo^K}@"
+ }
+ },
+ "noResultsModel": { "suggestionPods": [], "intelligentSuggestion": null },
+ "pagination": {
+ "total": 12,
+ "options": [
+ { "value": "0", "description": "1" },
+ { "value": "24", "description": "2" },
+ { "value": "48", "description": "3" },
+ { "value": "72", "description": "4" },
+ { "value": "96", "description": "5" },
+ { "value": "120", "description": "6" },
+ { "value": "144", "description": "7" },
+ { "value": "168", "description": "8" },
+ { "value": "192", "description": "9" },
+ { "value": "216", "description": "10" },
+ { "value": "240", "description": "11" },
+ { "value": "264", "description": "12" }
+ ],
+ "first": "0",
+ "last": "264",
+ "next": "24",
+ "page": "1"
+ },
+ "properties": [
+ {
+ "id": 170765942,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 27,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Set on the first floor, this newly refurbished flat brings together fresh finishes and a thoughtfully arranged layout, centred around an open-plan living room that feels immediately welcoming. The double bedroom offers a peaceful retreat, while its chain-free status adds ease for those looking to...",
+ "displayAddress": "Elsham Road, Leytonstone",
+ "countryCode": "GB",
+ "location": { "latitude": 51.556064, "longitude": 0.007337 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31_max_476x317.jpeg",
+ "url": "property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e66c5e1b/170765942/3e66c5e1b628e7aa0fa99f090738b1d5_max_476x317.jpeg",
+ "url": "property-photo/3e66c5e1b/170765942/3e66c5e1b628e7aa0fa99f090738b1d5.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45c4dd371/170765942/45c4dd3714a51a622da58cda3210ae5c_max_476x317.jpeg",
+ "url": "property-photo/45c4dd371/170765942/45c4dd3714a51a622da58cda3210ae5c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5dc1636a8/170765942/5dc1636a8196a1ce7c790fd822c315e1_max_476x317.jpeg",
+ "url": "property-photo/5dc1636a8/170765942/5dc1636a8196a1ce7c790fd822c315e1.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d67d86940/170765942/d67d86940aee6ade70f1c2af14a3719d_max_476x317.jpeg",
+ "url": "property-photo/d67d86940/170765942/d67d86940aee6ade70f1c2af14a3719d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62555627a/170765942/62555627a9f9eb27d6f25b55a4c6437f_max_476x317.jpeg",
+ "url": "property-photo/62555627a/170765942/62555627a9f9eb27d6f25b55a4c6437f.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f424a11c5/170765942/f424a11c55209355bb16ceb6fe81b1d3_max_476x317.jpeg",
+ "url": "property-photo/f424a11c5/170765942/f424a11c55209355bb16ceb6fe81b1d3.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70f483a02/170765942/70f483a027e317b7ac029350ac5bd61c_max_476x317.jpeg",
+ "url": "property-photo/70f483a02/170765942/70f483a027e317b7ac029350ac5bd61c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a74bef5c/170765942/5a74bef5c77b965e06296aa106681ca7_max_476x317.jpeg",
+ "url": "property-photo/5a74bef5c/170765942/5a74bef5c77b965e06296aa106681ca7.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4508f8160/170765942/4508f81601daa88575dc51fe10157604_max_476x317.jpeg",
+ "url": "property-photo/4508f8160/170765942/4508f81601daa88575dc51fe10157604.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dae99d030/170765942/dae99d030a0f807014e1f1f077dfe83b_max_476x317.jpeg",
+ "url": "property-photo/dae99d030/170765942/dae99d030a0f807014e1f1f077dfe83b.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/830c1f9c1/170765942/830c1f9c1b50327cdd5a332f348d510a_max_476x317.jpeg",
+ "url": "property-photo/830c1f9c1/170765942/830c1f9c1b50327cdd5a332f348d510a.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/34904e2a0/170765942/34904e2a039a7e6bfca056ceae2b0484_max_476x317.jpeg",
+ "url": "property-photo/34904e2a0/170765942/34904e2a039a7e6bfca056ceae2b0484.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2530eff79/170765942/2530eff79482c36155e19e3939acb6af_max_476x317.jpeg",
+ "url": "property-photo/2530eff79/170765942/2530eff79482c36155e19e3939acb6af.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7d92337a/170765942/d7d92337a56e321178bcf0241b446be3_max_476x317.jpeg",
+ "url": "property-photo/d7d92337a/170765942/d7d92337a56e321178bcf0241b446be3.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ca9d82d86/170765942/ca9d82d86ed211180e534c9aade6a882_max_476x317.jpeg",
+ "url": "property-photo/ca9d82d86/170765942/ca9d82d86ed211180e534c9aade6a882.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/623750858/170765942/62375085876bef5665d8b157092977ed_max_476x317.jpeg",
+ "url": "property-photo/623750858/170765942/62375085876bef5665d8b157092977ed.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/660d7c1f6/170765942/660d7c1f6c367aa317b017372a2f7a88_max_476x317.jpeg",
+ "url": "property-photo/660d7c1f6/170765942/660d7c1f6c367aa317b017372a2f7a88.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9c1528b7f/170765942/9c1528b7f9b4cfa7d1aa6e6a68b2491c_max_476x317.jpeg",
+ "url": "property-photo/9c1528b7f/170765942/9c1528b7f9b4cfa7d1aa6e6a68b2491c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b084585f/170765942/6b084585f9f18f2209becee71844dd34_max_476x317.jpeg",
+ "url": "property-photo/6b084585f/170765942/6b084585f9f18f2209becee71844dd34.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc15df182/170765942/bc15df182391ac474208e858c32adc3d_max_476x317.jpeg",
+ "url": "property-photo/bc15df182/170765942/bc15df182391ac474208e858c32adc3d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3019b33f7/170765942/3019b33f7514827f5fc7b25198554a84_max_476x317.jpeg",
+ "url": "property-photo/3019b33f7/170765942/3019b33f7514827f5fc7b25198554a84.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/af29a0b51/170765942/af29a0b51c112db97fdc4e852a1bd831_max_476x317.jpeg",
+ "url": "property-photo/af29a0b51/170765942/af29a0b51c112db97fdc4e852a1bd831.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9b4f68aed/170765942/9b4f68aed1ad4691571f7774fa5b4a3c_max_476x317.jpeg",
+ "url": "property-photo/9b4f68aed/170765942/9b4f68aed1ad4691571f7774fa5b4a3c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/624c48274/170765942/624c48274671a4c7433211bc8ab91d6d_max_476x317.jpeg",
+ "url": "property-photo/624c48274/170765942/624c48274671a4c7433211bc8ab91d6d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1124ffc8/170765942/f1124ffc87d522cebcfa2e017ea7d3e9_max_476x317.jpeg",
+ "url": "property-photo/f1124ffc8/170765942/f1124ffc87d522cebcfa2e017ea7d3e9.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a074d3931/170765942/a074d3931a8d3389d4ff2976914dc6d3_max_476x317.png",
+ "url": "property-photo/a074d3931/170765942/a074d3931a8d3389d4ff2976914dc6d3.png",
+ "caption": "Elsham Road, E11"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": { "tenureType": "LEASEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-09T12:33:56Z"
+ },
+ "price": {
+ "amount": 350000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£350,000", "displayPriceQualifier": "Guide Price" }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": true,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 171122,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_49357_0001.png",
+ "contactTelephone": "020 3907 3713",
+ "branchDisplayName": "The Stow Brothers, Wanstead & Leytonstone",
+ "branchName": "Wanstead & Leytonstone",
+ "brandTradingName": "The Stow Brothers",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Stow-Brothers/Wanstead-and-Leytonstone-171122.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-19T10:05:05Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_49357_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Premium Listing",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "499 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/170765942#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=170765942",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-01-02T12:59:05Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-09T12:33:58Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "First Floor Flat",
+ "htmlDescription": "First Floor Flat"
+ },
+ {
+ "order": 2,
+ "description": "Chain Free",
+ "htmlDescription": "Chain Free"
+ },
+ {
+ "order": 3,
+ "description": "Newly Refurbished",
+ "htmlDescription": "Newly Refurbished"
+ },
+ {
+ "order": 4,
+ "description": "Close to Wanstead Flats",
+ "htmlDescription": "Close to Wanstead Flats"
+ },
+ {
+ "order": 5,
+ "description": "Open Plan Living Room",
+ "htmlDescription": "Open Plan Living Room"
+ },
+ {
+ "order": 6,
+ "description": "One Double Bedroom",
+ "htmlDescription": "One Double Bedroom"
+ },
+ {
+ "order": 7,
+ "description": "Close to Leytonstone High Road",
+ "htmlDescription": "Close to Leytonstone High Road"
+ },
+ {
+ "order": 8,
+ "description": "new 148 year lease",
+ "htmlDescription": "new 148 year lease"
+ },
+ {
+ "order": 9,
+ "description": "Planning submitted for loft conversion",
+ "htmlDescription": "Planning submitted for loft conversion"
+ },
+ {
+ "order": 10,
+ "description": "Loft space and licence for alteration included in sale.",
+ "htmlDescription": "Loft space and licence for alteration included in sale."
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31_max_476x317.jpeg",
+ "url": "property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e66c5e1b/170765942/3e66c5e1b628e7aa0fa99f090738b1d5_max_476x317.jpeg",
+ "url": "property-photo/3e66c5e1b/170765942/3e66c5e1b628e7aa0fa99f090738b1d5.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45c4dd371/170765942/45c4dd3714a51a622da58cda3210ae5c_max_476x317.jpeg",
+ "url": "property-photo/45c4dd371/170765942/45c4dd3714a51a622da58cda3210ae5c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5dc1636a8/170765942/5dc1636a8196a1ce7c790fd822c315e1_max_476x317.jpeg",
+ "url": "property-photo/5dc1636a8/170765942/5dc1636a8196a1ce7c790fd822c315e1.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d67d86940/170765942/d67d86940aee6ade70f1c2af14a3719d_max_476x317.jpeg",
+ "url": "property-photo/d67d86940/170765942/d67d86940aee6ade70f1c2af14a3719d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62555627a/170765942/62555627a9f9eb27d6f25b55a4c6437f_max_476x317.jpeg",
+ "url": "property-photo/62555627a/170765942/62555627a9f9eb27d6f25b55a4c6437f.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f424a11c5/170765942/f424a11c55209355bb16ceb6fe81b1d3_max_476x317.jpeg",
+ "url": "property-photo/f424a11c5/170765942/f424a11c55209355bb16ceb6fe81b1d3.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70f483a02/170765942/70f483a027e317b7ac029350ac5bd61c_max_476x317.jpeg",
+ "url": "property-photo/70f483a02/170765942/70f483a027e317b7ac029350ac5bd61c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a74bef5c/170765942/5a74bef5c77b965e06296aa106681ca7_max_476x317.jpeg",
+ "url": "property-photo/5a74bef5c/170765942/5a74bef5c77b965e06296aa106681ca7.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4508f8160/170765942/4508f81601daa88575dc51fe10157604_max_476x317.jpeg",
+ "url": "property-photo/4508f8160/170765942/4508f81601daa88575dc51fe10157604.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dae99d030/170765942/dae99d030a0f807014e1f1f077dfe83b_max_476x317.jpeg",
+ "url": "property-photo/dae99d030/170765942/dae99d030a0f807014e1f1f077dfe83b.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/830c1f9c1/170765942/830c1f9c1b50327cdd5a332f348d510a_max_476x317.jpeg",
+ "url": "property-photo/830c1f9c1/170765942/830c1f9c1b50327cdd5a332f348d510a.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/34904e2a0/170765942/34904e2a039a7e6bfca056ceae2b0484_max_476x317.jpeg",
+ "url": "property-photo/34904e2a0/170765942/34904e2a039a7e6bfca056ceae2b0484.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2530eff79/170765942/2530eff79482c36155e19e3939acb6af_max_476x317.jpeg",
+ "url": "property-photo/2530eff79/170765942/2530eff79482c36155e19e3939acb6af.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7d92337a/170765942/d7d92337a56e321178bcf0241b446be3_max_476x317.jpeg",
+ "url": "property-photo/d7d92337a/170765942/d7d92337a56e321178bcf0241b446be3.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ca9d82d86/170765942/ca9d82d86ed211180e534c9aade6a882_max_476x317.jpeg",
+ "url": "property-photo/ca9d82d86/170765942/ca9d82d86ed211180e534c9aade6a882.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/623750858/170765942/62375085876bef5665d8b157092977ed_max_476x317.jpeg",
+ "url": "property-photo/623750858/170765942/62375085876bef5665d8b157092977ed.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/660d7c1f6/170765942/660d7c1f6c367aa317b017372a2f7a88_max_476x317.jpeg",
+ "url": "property-photo/660d7c1f6/170765942/660d7c1f6c367aa317b017372a2f7a88.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9c1528b7f/170765942/9c1528b7f9b4cfa7d1aa6e6a68b2491c_max_476x317.jpeg",
+ "url": "property-photo/9c1528b7f/170765942/9c1528b7f9b4cfa7d1aa6e6a68b2491c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b084585f/170765942/6b084585f9f18f2209becee71844dd34_max_476x317.jpeg",
+ "url": "property-photo/6b084585f/170765942/6b084585f9f18f2209becee71844dd34.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc15df182/170765942/bc15df182391ac474208e858c32adc3d_max_476x317.jpeg",
+ "url": "property-photo/bc15df182/170765942/bc15df182391ac474208e858c32adc3d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3019b33f7/170765942/3019b33f7514827f5fc7b25198554a84_max_476x317.jpeg",
+ "url": "property-photo/3019b33f7/170765942/3019b33f7514827f5fc7b25198554a84.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/af29a0b51/170765942/af29a0b51c112db97fdc4e852a1bd831_max_476x317.jpeg",
+ "url": "property-photo/af29a0b51/170765942/af29a0b51c112db97fdc4e852a1bd831.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9b4f68aed/170765942/9b4f68aed1ad4691571f7774fa5b4a3c_max_476x317.jpeg",
+ "url": "property-photo/9b4f68aed/170765942/9b4f68aed1ad4691571f7774fa5b4a3c.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/624c48274/170765942/624c48274671a4c7433211bc8ab91d6d_max_476x317.jpeg",
+ "url": "property-photo/624c48274/170765942/624c48274671a4c7433211bc8ab91d6d.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1124ffc8/170765942/f1124ffc87d522cebcfa2e017ea7d3e9_max_476x317.jpeg",
+ "url": "property-photo/f1124ffc8/170765942/f1124ffc87d522cebcfa2e017ea7d3e9.jpeg",
+ "caption": "Elsham Road, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a074d3931/170765942/a074d3931a8d3389d4ff2976914dc6d3_max_476x317.png",
+ "url": "property-photo/a074d3931/170765942/a074d3931a8d3389d4ff2976914dc6d3.png",
+ "caption": "Elsham Road, E11"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6c8124f/170765942/5c6c8124facc3be9413b272679f15a31_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Stow Brothers, Wanstead & Leytonstone",
+ "addedOrReduced": "Reduced on 09/02/2026",
+ "formattedDistance": "",
+ "heading": "Featured Property",
+ "propertyTypeFullDescription": "1 bedroom flat for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 169786709,
+ "bedrooms": 5,
+ "bathrooms": 2,
+ "numberOfImages": 36,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "Guide Price £3,250,000 to £3,500,000 Applegarth is a distinguished residence occupying a commanding position on Nutter Lane, with open views across private playing fields. Filled with charm and character, the home features a grand entrance hall, galleried landing, and elegant sash windows that f...",
+ "displayAddress": "Nutter Lane, London, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.57834, "longitude": 0.033272 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10_max_476x317.jpeg",
+ "url": "property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1d58eb42/169786709/c1d58eb42e7ec087cff2749468f2e008_max_476x317.jpeg",
+ "url": "property-photo/c1d58eb42/169786709/c1d58eb42e7ec087cff2749468f2e008.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2fce999ff/169786709/2fce999ffde058107da994669619339e_max_476x317.jpeg",
+ "url": "property-photo/2fce999ff/169786709/2fce999ffde058107da994669619339e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a88ed23a/169786709/2a88ed23a0d71bf021a1a33bf27bfebe_max_476x317.jpeg",
+ "url": "property-photo/2a88ed23a/169786709/2a88ed23a0d71bf021a1a33bf27bfebe.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebd50e4fc/169786709/ebd50e4fc17d8611589bf15f954ca273_max_476x317.jpeg",
+ "url": "property-photo/ebd50e4fc/169786709/ebd50e4fc17d8611589bf15f954ca273.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7acd33c63/169786709/7acd33c6376a6ad6ba18cfbb04cdb5ad_max_476x317.jpeg",
+ "url": "property-photo/7acd33c63/169786709/7acd33c6376a6ad6ba18cfbb04cdb5ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0984d4ec7/169786709/0984d4ec72ccaae2f26a8a824d635aec_max_476x317.jpeg",
+ "url": "property-photo/0984d4ec7/169786709/0984d4ec72ccaae2f26a8a824d635aec.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70a3dd404/169786709/70a3dd404e6d69cc8e77e93c0ba9ccd5_max_476x317.jpeg",
+ "url": "property-photo/70a3dd404/169786709/70a3dd404e6d69cc8e77e93c0ba9ccd5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/16913d51f/169786709/16913d51f50e35ca11354acb13972c15_max_476x317.jpeg",
+ "url": "property-photo/16913d51f/169786709/16913d51f50e35ca11354acb13972c15.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/74468eb95/169786709/74468eb9560808b6cb0a15ae0b58b0ae_max_476x317.jpeg",
+ "url": "property-photo/74468eb95/169786709/74468eb9560808b6cb0a15ae0b58b0ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d8b3ab45/169786709/8d8b3ab45f89631d56020189a8433d8c_max_476x317.jpeg",
+ "url": "property-photo/8d8b3ab45/169786709/8d8b3ab45f89631d56020189a8433d8c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8e45313a5/169786709/8e45313a567505c4c81732cbcf4dfbc1_max_476x317.jpeg",
+ "url": "property-photo/8e45313a5/169786709/8e45313a567505c4c81732cbcf4dfbc1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7a2ff815a/169786709/7a2ff815ab755cd14323390f49139c45_max_476x317.jpeg",
+ "url": "property-photo/7a2ff815a/169786709/7a2ff815ab755cd14323390f49139c45.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5749797a1/169786709/5749797a1b7b6a68bfba4aafa0a770a3_max_476x317.jpeg",
+ "url": "property-photo/5749797a1/169786709/5749797a1b7b6a68bfba4aafa0a770a3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f84d42589/169786709/f84d425895881518f8c2f42d45a4c3eb_max_476x317.jpeg",
+ "url": "property-photo/f84d42589/169786709/f84d425895881518f8c2f42d45a4c3eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d45c51916/169786709/d45c519160950d785f82694d5f298dcb_max_476x317.jpeg",
+ "url": "property-photo/d45c51916/169786709/d45c519160950d785f82694d5f298dcb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c04e5925/169786709/1c04e5925c8b18bcb3c905a21ac0cdb2_max_476x317.jpeg",
+ "url": "property-photo/1c04e5925/169786709/1c04e5925c8b18bcb3c905a21ac0cdb2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/15e9ba995/169786709/15e9ba995e3df6fb3fe2116bf947c5f6_max_476x317.jpeg",
+ "url": "property-photo/15e9ba995/169786709/15e9ba995e3df6fb3fe2116bf947c5f6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79a93f23c/169786709/79a93f23c2a6e711a2040cb5dc47dd7c_max_476x317.jpeg",
+ "url": "property-photo/79a93f23c/169786709/79a93f23c2a6e711a2040cb5dc47dd7c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9f12c9cfa/169786709/9f12c9cfa94492a5682bc5f7c8df83c1_max_476x317.jpeg",
+ "url": "property-photo/9f12c9cfa/169786709/9f12c9cfa94492a5682bc5f7c8df83c1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c78bc0509/169786709/c78bc050901afacbb1047257d3acd251_max_476x317.jpeg",
+ "url": "property-photo/c78bc0509/169786709/c78bc050901afacbb1047257d3acd251.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e89b89d1d/169786709/e89b89d1d7bc52e923034d9246fe2148_max_476x317.jpeg",
+ "url": "property-photo/e89b89d1d/169786709/e89b89d1d7bc52e923034d9246fe2148.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e26937cc5/169786709/e26937cc56016bfb73f88a0612aa4e02_max_476x317.jpeg",
+ "url": "property-photo/e26937cc5/169786709/e26937cc56016bfb73f88a0612aa4e02.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46b568e78/169786709/46b568e78da6bd39c47f82bc006dcd34_max_476x317.jpeg",
+ "url": "property-photo/46b568e78/169786709/46b568e78da6bd39c47f82bc006dcd34.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/580c222a3/169786709/580c222a3f2105be301d956d218dcadf_max_476x317.jpeg",
+ "url": "property-photo/580c222a3/169786709/580c222a3f2105be301d956d218dcadf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c830cebf6/169786709/c830cebf62dc2e5f0455c8f5553fcf93_max_476x317.jpeg",
+ "url": "property-photo/c830cebf6/169786709/c830cebf62dc2e5f0455c8f5553fcf93.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/df2bf97af/169786709/df2bf97af48650521092d3975a514d1f_max_476x317.jpeg",
+ "url": "property-photo/df2bf97af/169786709/df2bf97af48650521092d3975a514d1f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53a924ce7/169786709/53a924ce734d1bca0330d048043c7aad_max_476x317.jpeg",
+ "url": "property-photo/53a924ce7/169786709/53a924ce734d1bca0330d048043c7aad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a5e37761b/169786709/a5e37761b6becd584d8f56902dbe3c19_max_476x317.jpeg",
+ "url": "property-photo/a5e37761b/169786709/a5e37761b6becd584d8f56902dbe3c19.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/754633b5e/169786709/754633b5e8c82bb3d3b29e33a6b4fdec_max_476x317.jpeg",
+ "url": "property-photo/754633b5e/169786709/754633b5e8c82bb3d3b29e33a6b4fdec.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e5976cbb0/169786709/e5976cbb03e3f81c0b76f6f22ef44ad4_max_476x317.jpeg",
+ "url": "property-photo/e5976cbb0/169786709/e5976cbb03e3f81c0b76f6f22ef44ad4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e27ed627b/169786709/e27ed627b33c682be9f26db87ede71be_max_476x317.jpeg",
+ "url": "property-photo/e27ed627b/169786709/e27ed627b33c682be9f26db87ede71be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/64872777b/169786709/64872777be255759243ee5b759d8dca8_max_476x317.jpeg",
+ "url": "property-photo/64872777b/169786709/64872777be255759243ee5b759d8dca8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfb5350fe/169786709/bfb5350feb914f2a97d6312a8b27b251_max_476x317.jpeg",
+ "url": "property-photo/bfb5350fe/169786709/bfb5350feb914f2a97d6312a8b27b251.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7f0b6de2/169786709/d7f0b6de26937dbc74dc517e3d6ec4dc_max_476x317.jpeg",
+ "url": "property-photo/d7f0b6de2/169786709/d7f0b6de26937dbc74dc517e3d6ec4dc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c0c19366/169786709/5c0c1936644fb2cb546ec3d71411f384_max_476x317.jpeg",
+ "url": "property-photo/5c0c19366/169786709/5c0c1936644fb2cb546ec3d71411f384.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-11-27T15:25:03Z"
+ },
+ "price": {
+ "amount": 3250000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£3,250,000",
+ "displayPriceQualifier": "Guide Price"
+ }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 95089,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_59759_0003.jpeg",
+ "contactTelephone": "020 3834 8710",
+ "branchDisplayName": "Hamptons, Canary Wharf",
+ "branchName": "Canary Wharf",
+ "brandTradingName": "Hamptons",
+ "branchLandingPageUrl": "/estate-agents/agent/Hamptons/Canary-Wharf-95089.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-06T15:10:48Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_59759_0003.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Character Features",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "4,124 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/169786709#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=169786709",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-11-27T15:19:41Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-01-24T02:39:59Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Georgian Family Home",
+ "htmlDescription": "Georgian Family Home"
+ },
+ {
+ "order": 2,
+ "description": "Packed Full of Period Features",
+ "htmlDescription": "Packed Full of Period Features"
+ },
+ {
+ "order": 3,
+ "description": "5 Double Bedrooms",
+ "htmlDescription": "5 Double Bedrooms"
+ },
+ {
+ "order": 4,
+ "description": "4 Receptions",
+ "htmlDescription": "4 Receptions"
+ },
+ {
+ "order": 5,
+ "description": "Established Landscaped Gardens",
+ "htmlDescription": "Established Landscaped Gardens"
+ },
+ {
+ "order": 6,
+ "description": "Double Garage",
+ "htmlDescription": "Double Garage"
+ },
+ {
+ "order": 7,
+ "description": "Off Street Parking",
+ "htmlDescription": "Off Street Parking"
+ },
+ {
+ "order": 8,
+ "description": "Option to Extend (STP)",
+ "htmlDescription": "Option to Extend (STP)"
+ },
+ {
+ "order": 9,
+ "description": "Short Walk from High Street",
+ "htmlDescription": "Short Walk from High Street"
+ },
+ {
+ "order": 10,
+ "description": "Close to Tube",
+ "htmlDescription": "Close to Tube"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10_max_476x317.jpeg",
+ "url": "property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1d58eb42/169786709/c1d58eb42e7ec087cff2749468f2e008_max_476x317.jpeg",
+ "url": "property-photo/c1d58eb42/169786709/c1d58eb42e7ec087cff2749468f2e008.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2fce999ff/169786709/2fce999ffde058107da994669619339e_max_476x317.jpeg",
+ "url": "property-photo/2fce999ff/169786709/2fce999ffde058107da994669619339e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a88ed23a/169786709/2a88ed23a0d71bf021a1a33bf27bfebe_max_476x317.jpeg",
+ "url": "property-photo/2a88ed23a/169786709/2a88ed23a0d71bf021a1a33bf27bfebe.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebd50e4fc/169786709/ebd50e4fc17d8611589bf15f954ca273_max_476x317.jpeg",
+ "url": "property-photo/ebd50e4fc/169786709/ebd50e4fc17d8611589bf15f954ca273.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7acd33c63/169786709/7acd33c6376a6ad6ba18cfbb04cdb5ad_max_476x317.jpeg",
+ "url": "property-photo/7acd33c63/169786709/7acd33c6376a6ad6ba18cfbb04cdb5ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0984d4ec7/169786709/0984d4ec72ccaae2f26a8a824d635aec_max_476x317.jpeg",
+ "url": "property-photo/0984d4ec7/169786709/0984d4ec72ccaae2f26a8a824d635aec.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70a3dd404/169786709/70a3dd404e6d69cc8e77e93c0ba9ccd5_max_476x317.jpeg",
+ "url": "property-photo/70a3dd404/169786709/70a3dd404e6d69cc8e77e93c0ba9ccd5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/16913d51f/169786709/16913d51f50e35ca11354acb13972c15_max_476x317.jpeg",
+ "url": "property-photo/16913d51f/169786709/16913d51f50e35ca11354acb13972c15.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/74468eb95/169786709/74468eb9560808b6cb0a15ae0b58b0ae_max_476x317.jpeg",
+ "url": "property-photo/74468eb95/169786709/74468eb9560808b6cb0a15ae0b58b0ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d8b3ab45/169786709/8d8b3ab45f89631d56020189a8433d8c_max_476x317.jpeg",
+ "url": "property-photo/8d8b3ab45/169786709/8d8b3ab45f89631d56020189a8433d8c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8e45313a5/169786709/8e45313a567505c4c81732cbcf4dfbc1_max_476x317.jpeg",
+ "url": "property-photo/8e45313a5/169786709/8e45313a567505c4c81732cbcf4dfbc1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7a2ff815a/169786709/7a2ff815ab755cd14323390f49139c45_max_476x317.jpeg",
+ "url": "property-photo/7a2ff815a/169786709/7a2ff815ab755cd14323390f49139c45.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5749797a1/169786709/5749797a1b7b6a68bfba4aafa0a770a3_max_476x317.jpeg",
+ "url": "property-photo/5749797a1/169786709/5749797a1b7b6a68bfba4aafa0a770a3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f84d42589/169786709/f84d425895881518f8c2f42d45a4c3eb_max_476x317.jpeg",
+ "url": "property-photo/f84d42589/169786709/f84d425895881518f8c2f42d45a4c3eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d45c51916/169786709/d45c519160950d785f82694d5f298dcb_max_476x317.jpeg",
+ "url": "property-photo/d45c51916/169786709/d45c519160950d785f82694d5f298dcb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c04e5925/169786709/1c04e5925c8b18bcb3c905a21ac0cdb2_max_476x317.jpeg",
+ "url": "property-photo/1c04e5925/169786709/1c04e5925c8b18bcb3c905a21ac0cdb2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/15e9ba995/169786709/15e9ba995e3df6fb3fe2116bf947c5f6_max_476x317.jpeg",
+ "url": "property-photo/15e9ba995/169786709/15e9ba995e3df6fb3fe2116bf947c5f6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79a93f23c/169786709/79a93f23c2a6e711a2040cb5dc47dd7c_max_476x317.jpeg",
+ "url": "property-photo/79a93f23c/169786709/79a93f23c2a6e711a2040cb5dc47dd7c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9f12c9cfa/169786709/9f12c9cfa94492a5682bc5f7c8df83c1_max_476x317.jpeg",
+ "url": "property-photo/9f12c9cfa/169786709/9f12c9cfa94492a5682bc5f7c8df83c1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c78bc0509/169786709/c78bc050901afacbb1047257d3acd251_max_476x317.jpeg",
+ "url": "property-photo/c78bc0509/169786709/c78bc050901afacbb1047257d3acd251.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e89b89d1d/169786709/e89b89d1d7bc52e923034d9246fe2148_max_476x317.jpeg",
+ "url": "property-photo/e89b89d1d/169786709/e89b89d1d7bc52e923034d9246fe2148.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e26937cc5/169786709/e26937cc56016bfb73f88a0612aa4e02_max_476x317.jpeg",
+ "url": "property-photo/e26937cc5/169786709/e26937cc56016bfb73f88a0612aa4e02.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46b568e78/169786709/46b568e78da6bd39c47f82bc006dcd34_max_476x317.jpeg",
+ "url": "property-photo/46b568e78/169786709/46b568e78da6bd39c47f82bc006dcd34.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/580c222a3/169786709/580c222a3f2105be301d956d218dcadf_max_476x317.jpeg",
+ "url": "property-photo/580c222a3/169786709/580c222a3f2105be301d956d218dcadf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c830cebf6/169786709/c830cebf62dc2e5f0455c8f5553fcf93_max_476x317.jpeg",
+ "url": "property-photo/c830cebf6/169786709/c830cebf62dc2e5f0455c8f5553fcf93.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/df2bf97af/169786709/df2bf97af48650521092d3975a514d1f_max_476x317.jpeg",
+ "url": "property-photo/df2bf97af/169786709/df2bf97af48650521092d3975a514d1f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53a924ce7/169786709/53a924ce734d1bca0330d048043c7aad_max_476x317.jpeg",
+ "url": "property-photo/53a924ce7/169786709/53a924ce734d1bca0330d048043c7aad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a5e37761b/169786709/a5e37761b6becd584d8f56902dbe3c19_max_476x317.jpeg",
+ "url": "property-photo/a5e37761b/169786709/a5e37761b6becd584d8f56902dbe3c19.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/754633b5e/169786709/754633b5e8c82bb3d3b29e33a6b4fdec_max_476x317.jpeg",
+ "url": "property-photo/754633b5e/169786709/754633b5e8c82bb3d3b29e33a6b4fdec.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e5976cbb0/169786709/e5976cbb03e3f81c0b76f6f22ef44ad4_max_476x317.jpeg",
+ "url": "property-photo/e5976cbb0/169786709/e5976cbb03e3f81c0b76f6f22ef44ad4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e27ed627b/169786709/e27ed627b33c682be9f26db87ede71be_max_476x317.jpeg",
+ "url": "property-photo/e27ed627b/169786709/e27ed627b33c682be9f26db87ede71be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/64872777b/169786709/64872777be255759243ee5b759d8dca8_max_476x317.jpeg",
+ "url": "property-photo/64872777b/169786709/64872777be255759243ee5b759d8dca8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfb5350fe/169786709/bfb5350feb914f2a97d6312a8b27b251_max_476x317.jpeg",
+ "url": "property-photo/bfb5350fe/169786709/bfb5350feb914f2a97d6312a8b27b251.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7f0b6de2/169786709/d7f0b6de26937dbc74dc517e3d6ec4dc_max_476x317.jpeg",
+ "url": "property-photo/d7f0b6de2/169786709/d7f0b6de26937dbc74dc517e3d6ec4dc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c0c19366/169786709/5c0c1936644fb2cb546ec3d71411f384_max_476x317.jpeg",
+ "url": "property-photo/5c0c19366/169786709/5c0c1936644fb2cb546ec3d71411f384.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c198dbe8/169786709/8c198dbe80f0ba9ef851c247627a4c10_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Hamptons, Canary Wharf",
+ "addedOrReduced": "Added on 27/11/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 168069566,
+ "bedrooms": 5,
+ "bathrooms": 2,
+ "numberOfImages": 29,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Set on a prestigious residential road within Wanstead, this detached 1950s house offers a sublime balance of period charm and contemporary potential, with multiple highlights inside and out including three balconies with multiple views, a large driveway, and incredible natural light throughout. T...",
+ "displayAddress": "The Warren Drive, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.570835, "longitude": 0.035477 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209_max_476x317.jpeg",
+ "url": "property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/626a2b67c/168069566/626a2b67c9d903712a8a9ad204c6f9e8_max_476x317.jpeg",
+ "url": "property-photo/626a2b67c/168069566/626a2b67c9d903712a8a9ad204c6f9e8.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5f6c6161b/168069566/5f6c6161b938d438a279e4ee30b91011_max_476x317.jpeg",
+ "url": "property-photo/5f6c6161b/168069566/5f6c6161b938d438a279e4ee30b91011.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1f0eada33/168069566/1f0eada33b95615d3262e1d8edabea21_max_476x317.jpeg",
+ "url": "property-photo/1f0eada33/168069566/1f0eada33b95615d3262e1d8edabea21.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6dab50326/168069566/6dab50326c097956507e354e793bb293_max_476x317.jpeg",
+ "url": "property-photo/6dab50326/168069566/6dab50326c097956507e354e793bb293.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b80c093d2/168069566/b80c093d29cb46881d28c59d5aa54a4d_max_476x317.jpeg",
+ "url": "property-photo/b80c093d2/168069566/b80c093d29cb46881d28c59d5aa54a4d.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d78020a37/168069566/d78020a37e52fe901f3a33630554fd8a_max_476x317.jpeg",
+ "url": "property-photo/d78020a37/168069566/d78020a37e52fe901f3a33630554fd8a.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/17eec3acf/168069566/17eec3acf23c40fb13fdb5f6c46b2cee_max_476x317.jpeg",
+ "url": "property-photo/17eec3acf/168069566/17eec3acf23c40fb13fdb5f6c46b2cee.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d42c2fdc/168069566/8d42c2fdc26d9795d0befda1a6ef13e5_max_476x317.jpeg",
+ "url": "property-photo/8d42c2fdc/168069566/8d42c2fdc26d9795d0befda1a6ef13e5.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33febc705/168069566/33febc705a683b345b3a9816947b9d81_max_476x317.jpeg",
+ "url": "property-photo/33febc705/168069566/33febc705a683b345b3a9816947b9d81.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99232bf31/168069566/99232bf31be995e777cc405693e7d5c7_max_476x317.jpeg",
+ "url": "property-photo/99232bf31/168069566/99232bf31be995e777cc405693e7d5c7.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/68def3982/168069566/68def3982fb5f3d16d169c43c56db9fd_max_476x317.jpeg",
+ "url": "property-photo/68def3982/168069566/68def3982fb5f3d16d169c43c56db9fd.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2e833bf1/168069566/a2e833bf1fccc8a40ed8abed1e5fae5e_max_476x317.jpeg",
+ "url": "property-photo/a2e833bf1/168069566/a2e833bf1fccc8a40ed8abed1e5fae5e.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/418e1d95e/168069566/418e1d95e9730e1879072907df517439_max_476x317.jpeg",
+ "url": "property-photo/418e1d95e/168069566/418e1d95e9730e1879072907df517439.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2e90addf1/168069566/2e90addf14b423f9da70fbaca9b5d217_max_476x317.jpeg",
+ "url": "property-photo/2e90addf1/168069566/2e90addf14b423f9da70fbaca9b5d217.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f1f2350f/168069566/3f1f2350f3e8986b160c5ee387e17a65_max_476x317.jpeg",
+ "url": "property-photo/3f1f2350f/168069566/3f1f2350f3e8986b160c5ee387e17a65.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25dc4ebb8/168069566/25dc4ebb80723f33b62714de35a49987_max_476x317.jpeg",
+ "url": "property-photo/25dc4ebb8/168069566/25dc4ebb80723f33b62714de35a49987.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8baeaa44/168069566/c8baeaa44361c5fdeb1b160bcbfff5f3_max_476x317.jpeg",
+ "url": "property-photo/c8baeaa44/168069566/c8baeaa44361c5fdeb1b160bcbfff5f3.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0d5654077/168069566/0d56540775287c04a92eb2ed8fe0349d_max_476x317.jpeg",
+ "url": "property-photo/0d5654077/168069566/0d56540775287c04a92eb2ed8fe0349d.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b44e7a78e/168069566/b44e7a78eb8164ff3bd62babe528c529_max_476x317.jpeg",
+ "url": "property-photo/b44e7a78e/168069566/b44e7a78eb8164ff3bd62babe528c529.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9f185536d/168069566/9f185536db9411f25b47bf2f8ec723a5_max_476x317.jpeg",
+ "url": "property-photo/9f185536d/168069566/9f185536db9411f25b47bf2f8ec723a5.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33560ff0b/168069566/33560ff0b3240c5949f6ddc1931d99f0_max_476x317.jpeg",
+ "url": "property-photo/33560ff0b/168069566/33560ff0b3240c5949f6ddc1931d99f0.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f2f2e041/168069566/7f2f2e0413b046ae553b79a2baf11334_max_476x317.png",
+ "url": "property-photo/7f2f2e041/168069566/7f2f2e0413b046ae553b79a2baf11334.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfb29277a/168069566/bfb29277ade3548355bdd2e9de589106_max_476x317.png",
+ "url": "property-photo/bfb29277a/168069566/bfb29277ade3548355bdd2e9de589106.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebf043e93/168069566/ebf043e9393c753053c764d207873957_max_476x317.png",
+ "url": "property-photo/ebf043e93/168069566/ebf043e9393c753053c764d207873957.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/710506001/168069566/710506001e52873f28cd19d816962e98_max_476x317.jpeg",
+ "url": "property-photo/710506001/168069566/710506001e52873f28cd19d816962e98.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25feff5e9/168069566/25feff5e9eb6b59d2726e475577df043_max_476x317.jpeg",
+ "url": "property-photo/25feff5e9/168069566/25feff5e9eb6b59d2726e475577df043.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2353263f/168069566/a2353263f6b1c0b23116c48311fbbc7b_max_476x317.png",
+ "url": "property-photo/a2353263f/168069566/a2353263f6b1c0b23116c48311fbbc7b.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/324b35948/168069566/324b35948d1a581aa92224a6ec55dd3c_max_476x317.png",
+ "url": "property-photo/324b35948/168069566/324b35948d1a581aa92224a6ec55dd3c.png",
+ "caption": "The Warren Drive, E11"
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-10-10T10:43:03Z"
+ },
+ "price": {
+ "amount": 3000000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£3,000,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 171122,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_49357_0001.png",
+ "contactTelephone": "020 3907 3713",
+ "branchDisplayName": "The Stow Brothers, Wanstead & Leytonstone",
+ "branchName": "Wanstead & Leytonstone",
+ "brandTradingName": "The Stow Brothers",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Stow-Brothers/Wanstead-and-Leytonstone-171122.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-19T10:05:05Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_49357_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,322 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/168069566#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=168069566",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-10-10T10:37:18Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-12-15T14:42:23Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Detached 1950s House",
+ "htmlDescription": "Detached 1950s House"
+ },
+ {
+ "order": 2,
+ "description": "Exceptional Plot Overlooking 18th Green of Wanstead Golf Course",
+ "htmlDescription": "Exceptional Plot Overlooking 18th Green of Wanstead Golf Course"
+ },
+ {
+ "order": 3,
+ "description": "Fantastic Potential For Renovation Or Re-Development",
+ "htmlDescription": "Fantastic Potential For Renovation Or Re-Development"
+ },
+ {
+ "order": 4,
+ "description": "Prestigious Residential Road Within Wanstead",
+ "htmlDescription": "Prestigious Residential Road Within Wanstead"
+ },
+ {
+ "order": 5,
+ "description": "Three Balconies, Two Offering Scenic Views of Golf Parkland",
+ "htmlDescription": "Three Balconies, Two Offering Scenic Views of Golf Parkland"
+ },
+ {
+ "order": 6,
+ "description": "Driveway For Multiple Cars",
+ "htmlDescription": "Driveway For Multiple Cars"
+ },
+ {
+ "order": 7,
+ "description": "Incredible Natural Light & Charm",
+ "htmlDescription": "Incredible Natural Light & Charm"
+ },
+ {
+ "order": 8,
+ "description": "Nestled Between Wanstead Park/ Golf Course & High Street/ Tube Station",
+ "htmlDescription": "Nestled Between Wanstead Park/ Golf Course & High Street/ Tube Station"
+ },
+ {
+ "order": 9,
+ "description": "Chain Free",
+ "htmlDescription": "Chain Free"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209_max_476x317.jpeg",
+ "url": "property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/626a2b67c/168069566/626a2b67c9d903712a8a9ad204c6f9e8_max_476x317.jpeg",
+ "url": "property-photo/626a2b67c/168069566/626a2b67c9d903712a8a9ad204c6f9e8.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5f6c6161b/168069566/5f6c6161b938d438a279e4ee30b91011_max_476x317.jpeg",
+ "url": "property-photo/5f6c6161b/168069566/5f6c6161b938d438a279e4ee30b91011.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1f0eada33/168069566/1f0eada33b95615d3262e1d8edabea21_max_476x317.jpeg",
+ "url": "property-photo/1f0eada33/168069566/1f0eada33b95615d3262e1d8edabea21.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6dab50326/168069566/6dab50326c097956507e354e793bb293_max_476x317.jpeg",
+ "url": "property-photo/6dab50326/168069566/6dab50326c097956507e354e793bb293.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b80c093d2/168069566/b80c093d29cb46881d28c59d5aa54a4d_max_476x317.jpeg",
+ "url": "property-photo/b80c093d2/168069566/b80c093d29cb46881d28c59d5aa54a4d.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d78020a37/168069566/d78020a37e52fe901f3a33630554fd8a_max_476x317.jpeg",
+ "url": "property-photo/d78020a37/168069566/d78020a37e52fe901f3a33630554fd8a.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/17eec3acf/168069566/17eec3acf23c40fb13fdb5f6c46b2cee_max_476x317.jpeg",
+ "url": "property-photo/17eec3acf/168069566/17eec3acf23c40fb13fdb5f6c46b2cee.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d42c2fdc/168069566/8d42c2fdc26d9795d0befda1a6ef13e5_max_476x317.jpeg",
+ "url": "property-photo/8d42c2fdc/168069566/8d42c2fdc26d9795d0befda1a6ef13e5.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33febc705/168069566/33febc705a683b345b3a9816947b9d81_max_476x317.jpeg",
+ "url": "property-photo/33febc705/168069566/33febc705a683b345b3a9816947b9d81.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99232bf31/168069566/99232bf31be995e777cc405693e7d5c7_max_476x317.jpeg",
+ "url": "property-photo/99232bf31/168069566/99232bf31be995e777cc405693e7d5c7.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/68def3982/168069566/68def3982fb5f3d16d169c43c56db9fd_max_476x317.jpeg",
+ "url": "property-photo/68def3982/168069566/68def3982fb5f3d16d169c43c56db9fd.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2e833bf1/168069566/a2e833bf1fccc8a40ed8abed1e5fae5e_max_476x317.jpeg",
+ "url": "property-photo/a2e833bf1/168069566/a2e833bf1fccc8a40ed8abed1e5fae5e.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/418e1d95e/168069566/418e1d95e9730e1879072907df517439_max_476x317.jpeg",
+ "url": "property-photo/418e1d95e/168069566/418e1d95e9730e1879072907df517439.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2e90addf1/168069566/2e90addf14b423f9da70fbaca9b5d217_max_476x317.jpeg",
+ "url": "property-photo/2e90addf1/168069566/2e90addf14b423f9da70fbaca9b5d217.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f1f2350f/168069566/3f1f2350f3e8986b160c5ee387e17a65_max_476x317.jpeg",
+ "url": "property-photo/3f1f2350f/168069566/3f1f2350f3e8986b160c5ee387e17a65.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25dc4ebb8/168069566/25dc4ebb80723f33b62714de35a49987_max_476x317.jpeg",
+ "url": "property-photo/25dc4ebb8/168069566/25dc4ebb80723f33b62714de35a49987.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8baeaa44/168069566/c8baeaa44361c5fdeb1b160bcbfff5f3_max_476x317.jpeg",
+ "url": "property-photo/c8baeaa44/168069566/c8baeaa44361c5fdeb1b160bcbfff5f3.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0d5654077/168069566/0d56540775287c04a92eb2ed8fe0349d_max_476x317.jpeg",
+ "url": "property-photo/0d5654077/168069566/0d56540775287c04a92eb2ed8fe0349d.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b44e7a78e/168069566/b44e7a78eb8164ff3bd62babe528c529_max_476x317.jpeg",
+ "url": "property-photo/b44e7a78e/168069566/b44e7a78eb8164ff3bd62babe528c529.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9f185536d/168069566/9f185536db9411f25b47bf2f8ec723a5_max_476x317.jpeg",
+ "url": "property-photo/9f185536d/168069566/9f185536db9411f25b47bf2f8ec723a5.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33560ff0b/168069566/33560ff0b3240c5949f6ddc1931d99f0_max_476x317.jpeg",
+ "url": "property-photo/33560ff0b/168069566/33560ff0b3240c5949f6ddc1931d99f0.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f2f2e041/168069566/7f2f2e0413b046ae553b79a2baf11334_max_476x317.png",
+ "url": "property-photo/7f2f2e041/168069566/7f2f2e0413b046ae553b79a2baf11334.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfb29277a/168069566/bfb29277ade3548355bdd2e9de589106_max_476x317.png",
+ "url": "property-photo/bfb29277a/168069566/bfb29277ade3548355bdd2e9de589106.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebf043e93/168069566/ebf043e9393c753053c764d207873957_max_476x317.png",
+ "url": "property-photo/ebf043e93/168069566/ebf043e9393c753053c764d207873957.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/710506001/168069566/710506001e52873f28cd19d816962e98_max_476x317.jpeg",
+ "url": "property-photo/710506001/168069566/710506001e52873f28cd19d816962e98.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25feff5e9/168069566/25feff5e9eb6b59d2726e475577df043_max_476x317.jpeg",
+ "url": "property-photo/25feff5e9/168069566/25feff5e9eb6b59d2726e475577df043.jpeg",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2353263f/168069566/a2353263f6b1c0b23116c48311fbbc7b_max_476x317.png",
+ "url": "property-photo/a2353263f/168069566/a2353263f6b1c0b23116c48311fbbc7b.png",
+ "caption": "The Warren Drive, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/324b35948/168069566/324b35948d1a581aa92224a6ec55dd3c_max_476x317.png",
+ "url": "property-photo/324b35948/168069566/324b35948d1a581aa92224a6ec55dd3c.png",
+ "caption": "The Warren Drive, E11"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8fb4cba9/168069566/c8fb4cba96d9dc7a9649ea05221f6209_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Stow Brothers, Wanstead & Leytonstone",
+ "addedOrReduced": "Added on 10/10/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 169932497,
+ "bedrooms": 7,
+ "bathrooms": 6,
+ "numberOfImages": 47,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Desirable Location - Gated Detached Home - Double Garage & Carriage Driveway - Landscaped Rear Garden - Multiple Reception Rooms - Downstairs WC & Utility Room - Seven Bedrooms, Four With En Suites - Over 5,000 SQ FT Of Living Space - Stylish Kitchen - Excellent Transport Links",
+ "displayAddress": "The Avenue, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.577823, "longitude": 0.029488 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810_max_476x317.jpeg",
+ "url": "property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810.jpeg",
+ "caption": "avenue-86.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d68e7873c/169932497/d68e7873c6f5ce55caa83f6514381475_max_476x317.jpeg",
+ "url": "property-photo/d68e7873c/169932497/d68e7873c6f5ce55caa83f6514381475.jpeg",
+ "caption": "Avenue-34.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9b47c714f/169932497/9b47c714f6475ef3c3ee1687a0ff9c2a_max_476x317.jpeg",
+ "url": "property-photo/9b47c714f/169932497/9b47c714f6475ef3c3ee1687a0ff9c2a.jpeg",
+ "caption": "Avenue-36.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c242f23d5/169932497/c242f23d5f65420c03631d64964565d3_max_476x317.jpeg",
+ "url": "property-photo/c242f23d5/169932497/c242f23d5f65420c03631d64964565d3.jpeg",
+ "caption": "Avenue-37.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/14c03f979/169932497/14c03f97939524d73f5bb372946e21ad_max_476x317.jpeg",
+ "url": "property-photo/14c03f979/169932497/14c03f97939524d73f5bb372946e21ad.jpeg",
+ "caption": "Avenue-38.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/622818c59/169932497/622818c59628f550014ce901b80cdf41_max_476x317.jpeg",
+ "url": "property-photo/622818c59/169932497/622818c59628f550014ce901b80cdf41.jpeg",
+ "caption": "Avenue-39.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a35ea66cf/169932497/a35ea66cf00a0bb3136308500ddceb0e_max_476x317.jpeg",
+ "url": "property-photo/a35ea66cf/169932497/a35ea66cf00a0bb3136308500ddceb0e.jpeg",
+ "caption": "Avenue-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f50bd9489/169932497/f50bd94890182e3a1ad159140a7f572f_max_476x317.jpeg",
+ "url": "property-photo/f50bd9489/169932497/f50bd94890182e3a1ad159140a7f572f.jpeg",
+ "caption": "Avenue-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf72edb18/169932497/bf72edb182587879267fb5089af27286_max_476x317.jpeg",
+ "url": "property-photo/bf72edb18/169932497/bf72edb182587879267fb5089af27286.jpeg",
+ "caption": "Avenue-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0654f383/169932497/d0654f383e72209fbfda632fa47b679a_max_476x317.jpeg",
+ "url": "property-photo/d0654f383/169932497/d0654f383e72209fbfda632fa47b679a.jpeg",
+ "caption": "Avenue-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/add9293ef/169932497/add9293efd19563c1e845cff012982bd_max_476x317.jpeg",
+ "url": "property-photo/add9293ef/169932497/add9293efd19563c1e845cff012982bd.jpeg",
+ "caption": "Avenue-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a9020970/169932497/5a90209707f6ac78e9c4f7ea82c5be5f_max_476x317.jpeg",
+ "url": "property-photo/5a9020970/169932497/5a90209707f6ac78e9c4f7ea82c5be5f.jpeg",
+ "caption": "Avenue-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db8ae20ca/169932497/db8ae20ca512c094f2accb1429349af4_max_476x317.jpeg",
+ "url": "property-photo/db8ae20ca/169932497/db8ae20ca512c094f2accb1429349af4.jpeg",
+ "caption": "Avenue-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4afd4fe4f/169932497/4afd4fe4f655aa59c07ebfce143d761b_max_476x317.jpeg",
+ "url": "property-photo/4afd4fe4f/169932497/4afd4fe4f655aa59c07ebfce143d761b.jpeg",
+ "caption": "Avenue-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/37194c3b3/169932497/37194c3b3b26cb69891a8008ded91a66_max_476x317.jpeg",
+ "url": "property-photo/37194c3b3/169932497/37194c3b3b26cb69891a8008ded91a66.jpeg",
+ "caption": "Avenue-48.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/371f6d745/169932497/371f6d7458d1f679aed03d5e5a9da486_max_476x317.jpeg",
+ "url": "property-photo/371f6d745/169932497/371f6d7458d1f679aed03d5e5a9da486.jpeg",
+ "caption": "Avenue-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e325cbb6b/169932497/e325cbb6be4c3cddc9e12b50ddc13ff1_max_476x317.jpeg",
+ "url": "property-photo/e325cbb6b/169932497/e325cbb6be4c3cddc9e12b50ddc13ff1.jpeg",
+ "caption": "Avenue-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ef38b82b/169932497/9ef38b82b376e64bfca67ecd8c22e53e_max_476x317.jpeg",
+ "url": "property-photo/9ef38b82b/169932497/9ef38b82b376e64bfca67ecd8c22e53e.jpeg",
+ "caption": "Avenue-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75ad42574/169932497/75ad42574515e3f5125556ca907d9607_max_476x317.jpeg",
+ "url": "property-photo/75ad42574/169932497/75ad42574515e3f5125556ca907d9607.jpeg",
+ "caption": "Avenue-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7d3b7a532/169932497/7d3b7a532f364ca1e3a1c85777b9b2d4_max_476x317.jpeg",
+ "url": "property-photo/7d3b7a532/169932497/7d3b7a532f364ca1e3a1c85777b9b2d4.jpeg",
+ "caption": "Avenue-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbfc48ed7/169932497/dbfc48ed7336613acb01f678bd2e294c_max_476x317.jpeg",
+ "url": "property-photo/dbfc48ed7/169932497/dbfc48ed7336613acb01f678bd2e294c.jpeg",
+ "caption": "Avenue-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1b5b34cb/169932497/f1b5b34cb48815ceb8cd6b34d2b636e0_max_476x317.jpeg",
+ "url": "property-photo/f1b5b34cb/169932497/f1b5b34cb48815ceb8cd6b34d2b636e0.jpeg",
+ "caption": "Avenue-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b98501c6d/169932497/b98501c6daaf684314332afcfcaffe52_max_476x317.jpeg",
+ "url": "property-photo/b98501c6d/169932497/b98501c6daaf684314332afcfcaffe52.jpeg",
+ "caption": "Avenue-58.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d93cd963/169932497/2d93cd9639e050ee606cd8331c6e3f31_max_476x317.jpeg",
+ "url": "property-photo/2d93cd963/169932497/2d93cd9639e050ee606cd8331c6e3f31.jpeg",
+ "caption": "Avenue-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0616c046/169932497/d0616c046296045cad8d2d816cb798c0_max_476x317.jpeg",
+ "url": "property-photo/d0616c046/169932497/d0616c046296045cad8d2d816cb798c0.jpeg",
+ "caption": "Avenue-60.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75821bd20/169932497/75821bd20fedc9707c379d5beda0e41c_max_476x317.jpeg",
+ "url": "property-photo/75821bd20/169932497/75821bd20fedc9707c379d5beda0e41c.jpeg",
+ "caption": "Avenue-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f01e8befb/169932497/f01e8befb6a8057c3f13496a714a0fdd_max_476x317.jpeg",
+ "url": "property-photo/f01e8befb/169932497/f01e8befb6a8057c3f13496a714a0fdd.jpeg",
+ "caption": "Avenue-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b807371c8/169932497/b807371c85e9b4a501014092e7207e9c_max_476x317.jpeg",
+ "url": "property-photo/b807371c8/169932497/b807371c85e9b4a501014092e7207e9c.jpeg",
+ "caption": "Avenue-63.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/87789ec6f/169932497/87789ec6fb12c5c3c5c2eb1dfa15b855_max_476x317.jpeg",
+ "url": "property-photo/87789ec6f/169932497/87789ec6fb12c5c3c5c2eb1dfa15b855.jpeg",
+ "caption": "Avenue-64.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1b3180cce/169932497/1b3180cceb28fed803332bb974c8fd7c_max_476x317.jpeg",
+ "url": "property-photo/1b3180cce/169932497/1b3180cceb28fed803332bb974c8fd7c.jpeg",
+ "caption": "Avenue-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99681cbbd/169932497/99681cbbd6a01741012b557dc9a27cf4_max_476x317.jpeg",
+ "url": "property-photo/99681cbbd/169932497/99681cbbd6a01741012b557dc9a27cf4.jpeg",
+ "caption": "Avenue-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63f5bac52/169932497/63f5bac5241f53e5a9200eb078eb7989_max_476x317.jpeg",
+ "url": "property-photo/63f5bac52/169932497/63f5bac5241f53e5a9200eb078eb7989.jpeg",
+ "caption": "Avenue-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62dfb0c13/169932497/62dfb0c135cdb39367847875e0abf571_max_476x317.jpeg",
+ "url": "property-photo/62dfb0c13/169932497/62dfb0c135cdb39367847875e0abf571.jpeg",
+ "caption": "Avenue-68.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f48bf139f/169932497/f48bf139f5c2bb4371dfeea0f324dc92_max_476x317.jpeg",
+ "url": "property-photo/f48bf139f/169932497/f48bf139f5c2bb4371dfeea0f324dc92.jpeg",
+ "caption": "Avenue-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12e2e3638/169932497/12e2e3638e44be093aba26ea1445bca3_max_476x317.jpeg",
+ "url": "property-photo/12e2e3638/169932497/12e2e3638e44be093aba26ea1445bca3.jpeg",
+ "caption": "Avenue-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/120dfae09/169932497/120dfae09e07eb740824a07960607c69_max_476x317.jpeg",
+ "url": "property-photo/120dfae09/169932497/120dfae09e07eb740824a07960607c69.jpeg",
+ "caption": "Avenue-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/149cd40a6/169932497/149cd40a654fa8ea80c6cd1c5eb2ef26_max_476x317.jpeg",
+ "url": "property-photo/149cd40a6/169932497/149cd40a654fa8ea80c6cd1c5eb2ef26.jpeg",
+ "caption": "Avenue-72.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2aba3250/169932497/c2aba325088f36268b17a7ee84dbd915_max_476x317.jpeg",
+ "url": "property-photo/c2aba3250/169932497/c2aba325088f36268b17a7ee84dbd915.jpeg",
+ "caption": "Avenue-73.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/530de612b/169932497/530de612b82b23cb6fa3ffc8944ac778_max_476x317.jpeg",
+ "url": "property-photo/530de612b/169932497/530de612b82b23cb6fa3ffc8944ac778.jpeg",
+ "caption": "Avenue-74.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e7ab5a0d/169932497/3e7ab5a0dee3f245baa561d5904a3f5b_max_476x317.jpeg",
+ "url": "property-photo/3e7ab5a0d/169932497/3e7ab5a0dee3f245baa561d5904a3f5b.jpeg",
+ "caption": "Avenue-75.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f36e45ed3/169932497/f36e45ed3c39f0045dfbb05d6d142667_max_476x317.jpeg",
+ "url": "property-photo/f36e45ed3/169932497/f36e45ed3c39f0045dfbb05d6d142667.jpeg",
+ "caption": "Avenue-76.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eb2b66754/169932497/eb2b66754f3711a87767516f1a6e5876_max_476x317.jpeg",
+ "url": "property-photo/eb2b66754/169932497/eb2b66754f3711a87767516f1a6e5876.jpeg",
+ "caption": "Avenue-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6cac937e1/169932497/6cac937e193854b3e271d8f6a8b7171e_max_476x317.jpeg",
+ "url": "property-photo/6cac937e1/169932497/6cac937e193854b3e271d8f6a8b7171e.jpeg",
+ "caption": "Avenue-78.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b637acb75/169932497/b637acb754d232518160871b412dbf4a_max_476x317.jpeg",
+ "url": "property-photo/b637acb75/169932497/b637acb754d232518160871b412dbf4a.jpeg",
+ "caption": "Avenue-79.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53aebf358/169932497/53aebf358d622ea8f8be0a70ce08942f_max_476x317.jpeg",
+ "url": "property-photo/53aebf358/169932497/53aebf358d622ea8f8be0a70ce08942f.jpeg",
+ "caption": "avenue-82.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d2bd8825/169932497/8d2bd8825ac0b4fce634293538f3c358_max_476x317.jpeg",
+ "url": "property-photo/8d2bd8825/169932497/8d2bd8825ac0b4fce634293538f3c358.jpeg",
+ "caption": "avenue-84.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/151498739/169932497/151498739a8062e8ec2dc33e8782b8cb_max_476x317.jpeg",
+ "url": "property-photo/151498739/169932497/151498739a8062e8ec2dc33e8782b8cb.jpeg",
+ "caption": "avenue-85.1.jpg"
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-12-02T17:13:04Z"
+ },
+ "price": {
+ "amount": 2950000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£2,950,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Premium Listing",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "5,013 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/169932497#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=169932497",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-12-02T17:07:54Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T10:13:41Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Desirable Location",
+ "htmlDescription": "Desirable Location"
+ },
+ {
+ "order": 2,
+ "description": "Gated Detached Home",
+ "htmlDescription": "Gated Detached Home"
+ },
+ {
+ "order": 3,
+ "description": "Double Garage & Carriage Driveway",
+ "htmlDescription": "Double Garage & Carriage Driveway"
+ },
+ {
+ "order": 4,
+ "description": "Landscaped Rear Garden",
+ "htmlDescription": "Landscaped Rear Garden"
+ },
+ {
+ "order": 5,
+ "description": "Multiple Reception Rooms",
+ "htmlDescription": "Multiple Reception Rooms"
+ },
+ {
+ "order": 6,
+ "description": "Downstairs WC & Utility Room",
+ "htmlDescription": "Downstairs WC & Utility Room"
+ },
+ {
+ "order": 7,
+ "description": "Seven Bedrooms, Four With En Suites",
+ "htmlDescription": "Seven Bedrooms, Four With En Suites"
+ },
+ {
+ "order": 8,
+ "description": "Over 5,000 SQ FT Of Living Space",
+ "htmlDescription": "Over 5,000 SQ FT Of Living Space"
+ },
+ {
+ "order": 9,
+ "description": "Stylish Kitchen",
+ "htmlDescription": "Stylish Kitchen"
+ },
+ {
+ "order": 10,
+ "description": "Excellent Transport Links",
+ "htmlDescription": "Excellent Transport Links"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810_max_476x317.jpeg",
+ "url": "property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810.jpeg",
+ "caption": "avenue-86.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d68e7873c/169932497/d68e7873c6f5ce55caa83f6514381475_max_476x317.jpeg",
+ "url": "property-photo/d68e7873c/169932497/d68e7873c6f5ce55caa83f6514381475.jpeg",
+ "caption": "Avenue-34.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9b47c714f/169932497/9b47c714f6475ef3c3ee1687a0ff9c2a_max_476x317.jpeg",
+ "url": "property-photo/9b47c714f/169932497/9b47c714f6475ef3c3ee1687a0ff9c2a.jpeg",
+ "caption": "Avenue-36.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c242f23d5/169932497/c242f23d5f65420c03631d64964565d3_max_476x317.jpeg",
+ "url": "property-photo/c242f23d5/169932497/c242f23d5f65420c03631d64964565d3.jpeg",
+ "caption": "Avenue-37.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/14c03f979/169932497/14c03f97939524d73f5bb372946e21ad_max_476x317.jpeg",
+ "url": "property-photo/14c03f979/169932497/14c03f97939524d73f5bb372946e21ad.jpeg",
+ "caption": "Avenue-38.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/622818c59/169932497/622818c59628f550014ce901b80cdf41_max_476x317.jpeg",
+ "url": "property-photo/622818c59/169932497/622818c59628f550014ce901b80cdf41.jpeg",
+ "caption": "Avenue-39.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a35ea66cf/169932497/a35ea66cf00a0bb3136308500ddceb0e_max_476x317.jpeg",
+ "url": "property-photo/a35ea66cf/169932497/a35ea66cf00a0bb3136308500ddceb0e.jpeg",
+ "caption": "Avenue-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f50bd9489/169932497/f50bd94890182e3a1ad159140a7f572f_max_476x317.jpeg",
+ "url": "property-photo/f50bd9489/169932497/f50bd94890182e3a1ad159140a7f572f.jpeg",
+ "caption": "Avenue-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf72edb18/169932497/bf72edb182587879267fb5089af27286_max_476x317.jpeg",
+ "url": "property-photo/bf72edb18/169932497/bf72edb182587879267fb5089af27286.jpeg",
+ "caption": "Avenue-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0654f383/169932497/d0654f383e72209fbfda632fa47b679a_max_476x317.jpeg",
+ "url": "property-photo/d0654f383/169932497/d0654f383e72209fbfda632fa47b679a.jpeg",
+ "caption": "Avenue-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/add9293ef/169932497/add9293efd19563c1e845cff012982bd_max_476x317.jpeg",
+ "url": "property-photo/add9293ef/169932497/add9293efd19563c1e845cff012982bd.jpeg",
+ "caption": "Avenue-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a9020970/169932497/5a90209707f6ac78e9c4f7ea82c5be5f_max_476x317.jpeg",
+ "url": "property-photo/5a9020970/169932497/5a90209707f6ac78e9c4f7ea82c5be5f.jpeg",
+ "caption": "Avenue-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db8ae20ca/169932497/db8ae20ca512c094f2accb1429349af4_max_476x317.jpeg",
+ "url": "property-photo/db8ae20ca/169932497/db8ae20ca512c094f2accb1429349af4.jpeg",
+ "caption": "Avenue-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4afd4fe4f/169932497/4afd4fe4f655aa59c07ebfce143d761b_max_476x317.jpeg",
+ "url": "property-photo/4afd4fe4f/169932497/4afd4fe4f655aa59c07ebfce143d761b.jpeg",
+ "caption": "Avenue-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/37194c3b3/169932497/37194c3b3b26cb69891a8008ded91a66_max_476x317.jpeg",
+ "url": "property-photo/37194c3b3/169932497/37194c3b3b26cb69891a8008ded91a66.jpeg",
+ "caption": "Avenue-48.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/371f6d745/169932497/371f6d7458d1f679aed03d5e5a9da486_max_476x317.jpeg",
+ "url": "property-photo/371f6d745/169932497/371f6d7458d1f679aed03d5e5a9da486.jpeg",
+ "caption": "Avenue-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e325cbb6b/169932497/e325cbb6be4c3cddc9e12b50ddc13ff1_max_476x317.jpeg",
+ "url": "property-photo/e325cbb6b/169932497/e325cbb6be4c3cddc9e12b50ddc13ff1.jpeg",
+ "caption": "Avenue-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ef38b82b/169932497/9ef38b82b376e64bfca67ecd8c22e53e_max_476x317.jpeg",
+ "url": "property-photo/9ef38b82b/169932497/9ef38b82b376e64bfca67ecd8c22e53e.jpeg",
+ "caption": "Avenue-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75ad42574/169932497/75ad42574515e3f5125556ca907d9607_max_476x317.jpeg",
+ "url": "property-photo/75ad42574/169932497/75ad42574515e3f5125556ca907d9607.jpeg",
+ "caption": "Avenue-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7d3b7a532/169932497/7d3b7a532f364ca1e3a1c85777b9b2d4_max_476x317.jpeg",
+ "url": "property-photo/7d3b7a532/169932497/7d3b7a532f364ca1e3a1c85777b9b2d4.jpeg",
+ "caption": "Avenue-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbfc48ed7/169932497/dbfc48ed7336613acb01f678bd2e294c_max_476x317.jpeg",
+ "url": "property-photo/dbfc48ed7/169932497/dbfc48ed7336613acb01f678bd2e294c.jpeg",
+ "caption": "Avenue-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1b5b34cb/169932497/f1b5b34cb48815ceb8cd6b34d2b636e0_max_476x317.jpeg",
+ "url": "property-photo/f1b5b34cb/169932497/f1b5b34cb48815ceb8cd6b34d2b636e0.jpeg",
+ "caption": "Avenue-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b98501c6d/169932497/b98501c6daaf684314332afcfcaffe52_max_476x317.jpeg",
+ "url": "property-photo/b98501c6d/169932497/b98501c6daaf684314332afcfcaffe52.jpeg",
+ "caption": "Avenue-58.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d93cd963/169932497/2d93cd9639e050ee606cd8331c6e3f31_max_476x317.jpeg",
+ "url": "property-photo/2d93cd963/169932497/2d93cd9639e050ee606cd8331c6e3f31.jpeg",
+ "caption": "Avenue-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0616c046/169932497/d0616c046296045cad8d2d816cb798c0_max_476x317.jpeg",
+ "url": "property-photo/d0616c046/169932497/d0616c046296045cad8d2d816cb798c0.jpeg",
+ "caption": "Avenue-60.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75821bd20/169932497/75821bd20fedc9707c379d5beda0e41c_max_476x317.jpeg",
+ "url": "property-photo/75821bd20/169932497/75821bd20fedc9707c379d5beda0e41c.jpeg",
+ "caption": "Avenue-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f01e8befb/169932497/f01e8befb6a8057c3f13496a714a0fdd_max_476x317.jpeg",
+ "url": "property-photo/f01e8befb/169932497/f01e8befb6a8057c3f13496a714a0fdd.jpeg",
+ "caption": "Avenue-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b807371c8/169932497/b807371c85e9b4a501014092e7207e9c_max_476x317.jpeg",
+ "url": "property-photo/b807371c8/169932497/b807371c85e9b4a501014092e7207e9c.jpeg",
+ "caption": "Avenue-63.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/87789ec6f/169932497/87789ec6fb12c5c3c5c2eb1dfa15b855_max_476x317.jpeg",
+ "url": "property-photo/87789ec6f/169932497/87789ec6fb12c5c3c5c2eb1dfa15b855.jpeg",
+ "caption": "Avenue-64.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1b3180cce/169932497/1b3180cceb28fed803332bb974c8fd7c_max_476x317.jpeg",
+ "url": "property-photo/1b3180cce/169932497/1b3180cceb28fed803332bb974c8fd7c.jpeg",
+ "caption": "Avenue-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99681cbbd/169932497/99681cbbd6a01741012b557dc9a27cf4_max_476x317.jpeg",
+ "url": "property-photo/99681cbbd/169932497/99681cbbd6a01741012b557dc9a27cf4.jpeg",
+ "caption": "Avenue-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63f5bac52/169932497/63f5bac5241f53e5a9200eb078eb7989_max_476x317.jpeg",
+ "url": "property-photo/63f5bac52/169932497/63f5bac5241f53e5a9200eb078eb7989.jpeg",
+ "caption": "Avenue-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62dfb0c13/169932497/62dfb0c135cdb39367847875e0abf571_max_476x317.jpeg",
+ "url": "property-photo/62dfb0c13/169932497/62dfb0c135cdb39367847875e0abf571.jpeg",
+ "caption": "Avenue-68.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f48bf139f/169932497/f48bf139f5c2bb4371dfeea0f324dc92_max_476x317.jpeg",
+ "url": "property-photo/f48bf139f/169932497/f48bf139f5c2bb4371dfeea0f324dc92.jpeg",
+ "caption": "Avenue-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12e2e3638/169932497/12e2e3638e44be093aba26ea1445bca3_max_476x317.jpeg",
+ "url": "property-photo/12e2e3638/169932497/12e2e3638e44be093aba26ea1445bca3.jpeg",
+ "caption": "Avenue-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/120dfae09/169932497/120dfae09e07eb740824a07960607c69_max_476x317.jpeg",
+ "url": "property-photo/120dfae09/169932497/120dfae09e07eb740824a07960607c69.jpeg",
+ "caption": "Avenue-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/149cd40a6/169932497/149cd40a654fa8ea80c6cd1c5eb2ef26_max_476x317.jpeg",
+ "url": "property-photo/149cd40a6/169932497/149cd40a654fa8ea80c6cd1c5eb2ef26.jpeg",
+ "caption": "Avenue-72.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2aba3250/169932497/c2aba325088f36268b17a7ee84dbd915_max_476x317.jpeg",
+ "url": "property-photo/c2aba3250/169932497/c2aba325088f36268b17a7ee84dbd915.jpeg",
+ "caption": "Avenue-73.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/530de612b/169932497/530de612b82b23cb6fa3ffc8944ac778_max_476x317.jpeg",
+ "url": "property-photo/530de612b/169932497/530de612b82b23cb6fa3ffc8944ac778.jpeg",
+ "caption": "Avenue-74.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e7ab5a0d/169932497/3e7ab5a0dee3f245baa561d5904a3f5b_max_476x317.jpeg",
+ "url": "property-photo/3e7ab5a0d/169932497/3e7ab5a0dee3f245baa561d5904a3f5b.jpeg",
+ "caption": "Avenue-75.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f36e45ed3/169932497/f36e45ed3c39f0045dfbb05d6d142667_max_476x317.jpeg",
+ "url": "property-photo/f36e45ed3/169932497/f36e45ed3c39f0045dfbb05d6d142667.jpeg",
+ "caption": "Avenue-76.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eb2b66754/169932497/eb2b66754f3711a87767516f1a6e5876_max_476x317.jpeg",
+ "url": "property-photo/eb2b66754/169932497/eb2b66754f3711a87767516f1a6e5876.jpeg",
+ "caption": "Avenue-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6cac937e1/169932497/6cac937e193854b3e271d8f6a8b7171e_max_476x317.jpeg",
+ "url": "property-photo/6cac937e1/169932497/6cac937e193854b3e271d8f6a8b7171e.jpeg",
+ "caption": "Avenue-78.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b637acb75/169932497/b637acb754d232518160871b412dbf4a_max_476x317.jpeg",
+ "url": "property-photo/b637acb75/169932497/b637acb754d232518160871b412dbf4a.jpeg",
+ "caption": "Avenue-79.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53aebf358/169932497/53aebf358d622ea8f8be0a70ce08942f_max_476x317.jpeg",
+ "url": "property-photo/53aebf358/169932497/53aebf358d622ea8f8be0a70ce08942f.jpeg",
+ "caption": "avenue-82.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8d2bd8825/169932497/8d2bd8825ac0b4fce634293538f3c358_max_476x317.jpeg",
+ "url": "property-photo/8d2bd8825/169932497/8d2bd8825ac0b4fce634293538f3c358.jpeg",
+ "caption": "avenue-84.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/151498739/169932497/151498739a8062e8ec2dc33e8782b8cb_max_476x317.jpeg",
+ "url": "property-photo/151498739/169932497/151498739a8062e8ec2dc33e8782b8cb.jpeg",
+ "caption": "avenue-85.1.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b307ab7/169932497/52b307ab7b219b511f6c9f7de6fd4810_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Added on 02/12/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "7 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 162119180,
+ "bedrooms": 16,
+ "bathrooms": 8,
+ "numberOfImages": 2,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "*INCREDIBLE INVESTMENT OPPORTUNITY* Exclusive to Charleson´s Estate Agent a rare opportunity to acquire 8x two-bedroom apartments plus the freehold in the highly sought after location of Leytonstone. The combined annual return works out at over 5% currently but this can be increased. The pro...",
+ "displayAddress": "Harrow Road, Leytonstone",
+ "countryCode": "GB",
+ "location": { "latitude": 51.55948, "longitude": 0.01285 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a_max_476x317.jpeg",
+ "url": "property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a.jpeg",
+ "caption": "Regency Court - F..."
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bc59e62b/162119180/2bc59e62b01b15ee0cb7d62682ecc64f_max_476x317.jpeg",
+ "url": "property-photo/2bc59e62b/162119180/2bc59e62b01b15ee0cb7d62682ecc64f.jpeg",
+ "caption": "Regency Court - F..."
+ }
+ ],
+ "propertySubType": "Land",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-05-19T12:26:34Z"
+ },
+ "price": {
+ "amount": 2500000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£2,500,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 40074,
+ "brandPlusLogoURI": "/41k/40074/branch_rmchoice_logo_40074_0001.jpeg",
+ "contactTelephone": "020 3909 4057",
+ "branchDisplayName": "Charlesons, Gants Hill",
+ "branchName": "Gants Hill",
+ "brandTradingName": "Charlesons",
+ "branchLandingPageUrl": "/estate-agents/agent/Charlesons/Gants-Hill-40074.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-05-29T09:03:07Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/41k/40074/branch_rmchoice_logo_40074_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": true,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/162119180#/?channel=COM_BUY",
+ "contactUrl": "/commercial-property-for-sale/contactBranch.html?propertyId=162119180",
+ "staticMapUrl": null,
+ "channel": "COMMERCIAL_BUY",
+ "firstVisibleDate": "2025-05-19T12:21:19Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-08-30T10:34:04Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Freehold",
+ "htmlDescription": "Freehold "
+ },
+ {
+ "order": 2,
+ "description": "Fully let",
+ "htmlDescription": "Fully let"
+ },
+ {
+ "order": 3,
+ "description": "Close to local amanaties",
+ "htmlDescription": "Close to local amanaties"
+ },
+ {
+ "order": 4,
+ "description": "Close to transport links",
+ "htmlDescription": "Close to transport links"
+ },
+ {
+ "order": 5,
+ "description": "Potential to develop further (STNPC)",
+ "htmlDescription": "Potential to develop further (STNPC)"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a_max_476x317.jpeg",
+ "url": "property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a.jpeg",
+ "caption": "Regency Court - F..."
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bc59e62b/162119180/2bc59e62b01b15ee0cb7d62682ecc64f_max_476x317.jpeg",
+ "url": "property-photo/2bc59e62b/162119180/2bc59e62b01b15ee0cb7d62682ecc64f.jpeg",
+ "caption": "Regency Court - F..."
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/257a894c6/162119180/257a894c6106e124b286c26d7bb1137a_max_296x197.jpeg"
+ },
+ "formattedBranchName": "Marketed by Charlesons, Gants Hill",
+ "addedOrReduced": "",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "Land for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 167051186,
+ "bedrooms": 16,
+ "bathrooms": 8,
+ "numberOfImages": 4,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "INVESTMENT OPPURTUNITY - investment opportunity of eight apartments in Regency Court, London, E11. These luxurious apartments are a prime investment opportunity to add to your current portfolio - SOUGHT AFTER LOCATION - boasting a chain-free status, it presents an enticing prospect for investors.",
+ "displayAddress": "Regency Court, Harrow Road, London, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.5594, "longitude": 0.012429 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1_max_476x317.jpeg",
+ "url": "property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f9b3f3925/167051186/f9b3f3925fcd8f822e05673de420f8e7_max_476x317.jpeg",
+ "url": "property-photo/f9b3f3925/167051186/f9b3f3925fcd8f822e05673de420f8e7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cae1f964f/167051186/cae1f964f59a897e83b1e306d69248eb_max_476x317.jpeg",
+ "url": "property-photo/cae1f964f/167051186/cae1f964f59a897e83b1e306d69248eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f3ebbc24/167051186/6f3ebbc245f80b67533cec0e9d49b765_max_476x317.jpeg",
+ "url": "property-photo/6f3ebbc24/167051186/6f3ebbc245f80b67533cec0e9d49b765.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Block of Apartments",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": "2025-09-16T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-09-16T14:01:02Z"
+ },
+ "price": {
+ "amount": 2500000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£2,500,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 93287,
+ "brandPlusLogoURI": "/company/clogo_8522_0005.jpeg",
+ "contactTelephone": "020 8554 5544",
+ "branchDisplayName": "Woodland, Ilford",
+ "branchName": "Ilford",
+ "brandTradingName": "Woodland",
+ "branchLandingPageUrl": "/estate-agents/agent/Woodland/Ilford-93287.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-28T10:22:10Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_8522_0005.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/167051186#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=167051186",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-09-16T13:55:11Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-01-14T13:15:14Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Shops and amenities nearby",
+ "htmlDescription": "Shops and amenities nearby"
+ },
+ {
+ "order": 2,
+ "description": "Close to public transport",
+ "htmlDescription": "Close to public transport"
+ },
+ {
+ "order": 3,
+ "description": "Good Investment",
+ "htmlDescription": "Good Investment"
+ },
+ {
+ "order": 4,
+ "description": "Chain free",
+ "htmlDescription": "Chain free"
+ },
+ {
+ "order": 5,
+ "description": "Communal Garden",
+ "htmlDescription": "Communal Garden"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1_max_476x317.jpeg",
+ "url": "property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f9b3f3925/167051186/f9b3f3925fcd8f822e05673de420f8e7_max_476x317.jpeg",
+ "url": "property-photo/f9b3f3925/167051186/f9b3f3925fcd8f822e05673de420f8e7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cae1f964f/167051186/cae1f964f59a897e83b1e306d69248eb_max_476x317.jpeg",
+ "url": "property-photo/cae1f964f/167051186/cae1f964f59a897e83b1e306d69248eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f3ebbc24/167051186/6f3ebbc245f80b67533cec0e9d49b765_max_476x317.jpeg",
+ "url": "property-photo/6f3ebbc24/167051186/6f3ebbc245f80b67533cec0e9d49b765.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc64e0dd3/167051186/bc64e0dd31ffa071d51dde6dc34bdca1_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Woodland, Ilford",
+ "addedOrReduced": "Added on 16/09/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "16 bedroom block of apartments for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 167048381,
+ "bedrooms": 5,
+ "bathrooms": 4,
+ "numberOfImages": 46,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Chain Free - Exceptional Detached Home - Prime Location - Excellent Transport Links - Carriage Driveway And Double Garage - South Facing Landscaped Garden - Approved Planning Permission (REF:1300/24) - Multiple Reception Rooms - Open Plan Kitchen Diner - Home Office And Guest WC - Five Bedrooms, ...",
+ "displayAddress": "The Avenue, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.578968, "longitude": 0.032914 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379_max_476x317.jpeg",
+ "url": "property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/05cb1d6d5/167048381/05cb1d6d5d75e4a30848fc34fe8f5d5d_max_476x317.jpeg",
+ "url": "property-photo/05cb1d6d5/167048381/05cb1d6d5d75e4a30848fc34fe8f5d5d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dcaf3c425/167048381/dcaf3c425eec86e277318f871759dcb5_max_476x317.jpeg",
+ "url": "property-photo/dcaf3c425/167048381/dcaf3c425eec86e277318f871759dcb5.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c6a44f76/167048381/6c6a44f7669edad40e8ff8f6ba430fd2_max_476x317.jpeg",
+ "url": "property-photo/6c6a44f76/167048381/6c6a44f7669edad40e8ff8f6ba430fd2.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63542b31c/167048381/63542b31c43daf5adf362335d303bcf9_max_476x317.jpeg",
+ "url": "property-photo/63542b31c/167048381/63542b31c43daf5adf362335d303bcf9.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02e3fc863/167048381/02e3fc8631521640ae33625b313baad3_max_476x317.jpeg",
+ "url": "property-photo/02e3fc863/167048381/02e3fc8631521640ae33625b313baad3.jpeg",
+ "caption": "366the.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d6de085d4/167048381/d6de085d4d485fc0b5cafc8ca6bf24d8_max_476x317.jpeg",
+ "url": "property-photo/d6de085d4/167048381/d6de085d4d485fc0b5cafc8ca6bf24d8.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b079ba88/167048381/5b079ba88daab07e75824bf21a89210b_max_476x317.jpeg",
+ "url": "property-photo/5b079ba88/167048381/5b079ba88daab07e75824bf21a89210b.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/384b6aa89/167048381/384b6aa895d7625ab10957d0248501fc_max_476x317.jpeg",
+ "url": "property-photo/384b6aa89/167048381/384b6aa895d7625ab10957d0248501fc.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6a1c2d15d/167048381/6a1c2d15d99b7ede171f2e389610b73c_max_476x317.jpeg",
+ "url": "property-photo/6a1c2d15d/167048381/6a1c2d15d99b7ede171f2e389610b73c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91eb91994/167048381/91eb919942454a84ff01db3366956c5b_max_476x317.jpeg",
+ "url": "property-photo/91eb91994/167048381/91eb919942454a84ff01db3366956c5b.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29625a456/167048381/29625a45692763a5f1b49506ee4c8dac_max_476x317.jpeg",
+ "url": "property-photo/29625a456/167048381/29625a45692763a5f1b49506ee4c8dac.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1d2daf274/167048381/1d2daf274658c924fc8d30764f713360_max_476x317.jpeg",
+ "url": "property-photo/1d2daf274/167048381/1d2daf274658c924fc8d30764f713360.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc436ad78/167048381/cc436ad789dce9743081bbec771acaec_max_476x317.jpeg",
+ "url": "property-photo/cc436ad78/167048381/cc436ad789dce9743081bbec771acaec.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6337ff7f4/167048381/6337ff7f4a166ab9e3c1680d8e16d47c_max_476x317.jpeg",
+ "url": "property-photo/6337ff7f4/167048381/6337ff7f4a166ab9e3c1680d8e16d47c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/401dce4db/167048381/401dce4db15351100a46534877462a8f_max_476x317.jpeg",
+ "url": "property-photo/401dce4db/167048381/401dce4db15351100a46534877462a8f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/748ebd304/167048381/748ebd304c08601aeb4ac4481ef4810f_max_476x317.jpeg",
+ "url": "property-photo/748ebd304/167048381/748ebd304c08601aeb4ac4481ef4810f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbdbbca72/167048381/bbdbbca726867f675cf732da8328b8e3_max_476x317.jpeg",
+ "url": "property-photo/bbdbbca72/167048381/bbdbbca726867f675cf732da8328b8e3.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d242ec3f1/167048381/d242ec3f1df3da47a3fc6f1ed9ecad49_max_476x317.jpeg",
+ "url": "property-photo/d242ec3f1/167048381/d242ec3f1df3da47a3fc6f1ed9ecad49.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9dc190de7/167048381/9dc190de76aa5774f2e1519363cd898c_max_476x317.jpeg",
+ "url": "property-photo/9dc190de7/167048381/9dc190de76aa5774f2e1519363cd898c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c966857b9/167048381/c966857b902303d41c8114b82ea5c6c1_max_476x317.jpeg",
+ "url": "property-photo/c966857b9/167048381/c966857b902303d41c8114b82ea5c6c1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36655747e/167048381/36655747e38d8e752ba8adb45bbea03f_max_476x317.jpeg",
+ "url": "property-photo/36655747e/167048381/36655747e38d8e752ba8adb45bbea03f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/874326dfe/167048381/874326dfe53b1d4f0d723d6278906cc8_max_476x317.jpeg",
+ "url": "property-photo/874326dfe/167048381/874326dfe53b1d4f0d723d6278906cc8.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8198d7352/167048381/8198d7352d863846a1de7a559a99ef2d_max_476x317.jpeg",
+ "url": "property-photo/8198d7352/167048381/8198d7352d863846a1de7a559a99ef2d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3666e96c6/167048381/3666e96c62bad4fe4caa5f382c17567f_max_476x317.jpeg",
+ "url": "property-photo/3666e96c6/167048381/3666e96c62bad4fe4caa5f382c17567f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/385c5e7e0/167048381/385c5e7e0eca965a3ebdf684c6e7cb55_max_476x317.jpeg",
+ "url": "property-photo/385c5e7e0/167048381/385c5e7e0eca965a3ebdf684c6e7cb55.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79fccb050/167048381/79fccb050999ab08013c56c1f99acf1e_max_476x317.jpeg",
+ "url": "property-photo/79fccb050/167048381/79fccb050999ab08013c56c1f99acf1e.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/867e3b197/167048381/867e3b1970ebfe6ca49d9baa77834a07_max_476x317.jpeg",
+ "url": "property-photo/867e3b197/167048381/867e3b1970ebfe6ca49d9baa77834a07.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1c6962c0/167048381/e1c6962c0d60b2b8e9e68380e56d859c_max_476x317.jpeg",
+ "url": "property-photo/e1c6962c0/167048381/e1c6962c0d60b2b8e9e68380e56d859c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0367ed0/167048381/4f0367ed017da1f85f01ad442215e78e_max_476x317.jpeg",
+ "url": "property-photo/4f0367ed0/167048381/4f0367ed017da1f85f01ad442215e78e.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/82491bca2/167048381/82491bca24afbe1754976759aa6ddd58_max_476x317.jpeg",
+ "url": "property-photo/82491bca2/167048381/82491bca24afbe1754976759aa6ddd58.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b67074092/167048381/b67074092b076c646a72a46c285141b1_max_476x317.jpeg",
+ "url": "property-photo/b67074092/167048381/b67074092b076c646a72a46c285141b1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/108120673/167048381/1081206733b7eeb272548ee35cfbfae1_max_476x317.jpeg",
+ "url": "property-photo/108120673/167048381/1081206733b7eeb272548ee35cfbfae1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a6cb6662/167048381/1a6cb66625fc39e40e48c0ac56881129_max_476x317.jpeg",
+ "url": "property-photo/1a6cb6662/167048381/1a6cb66625fc39e40e48c0ac56881129.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/841a1cdce/167048381/841a1cdce7cdf562deb60dca88aa8a60_max_476x317.jpeg",
+ "url": "property-photo/841a1cdce/167048381/841a1cdce7cdf562deb60dca88aa8a60.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a88cef83/167048381/2a88cef835fd34f84856c5038d933f5a_max_476x317.jpeg",
+ "url": "property-photo/2a88cef83/167048381/2a88cef835fd34f84856c5038d933f5a.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0a95a28d2/167048381/0a95a28d20841905e589b0c07470efee_max_476x317.jpeg",
+ "url": "property-photo/0a95a28d2/167048381/0a95a28d20841905e589b0c07470efee.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00d9f8056/167048381/00d9f805603d3284dee94e9b06637b2d_max_476x317.jpeg",
+ "url": "property-photo/00d9f8056/167048381/00d9f805603d3284dee94e9b06637b2d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ee509d03/167048381/9ee509d03ec500cab160fbce9dbc1923_max_476x317.jpeg",
+ "url": "property-photo/9ee509d03/167048381/9ee509d03ec500cab160fbce9dbc1923.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcc8a5a66/167048381/bcc8a5a665931e1f43b53008e6eca6de_max_476x317.jpeg",
+ "url": "property-photo/bcc8a5a66/167048381/bcc8a5a665931e1f43b53008e6eca6de.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f8445266e/167048381/f8445266ecf8088a4a5fdc1e84771ab9_max_476x317.jpeg",
+ "url": "property-photo/f8445266e/167048381/f8445266ecf8088a4a5fdc1e84771ab9.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/876179013/167048381/8761790132bbc46fc8af7fd045e90677_max_476x317.jpeg",
+ "url": "property-photo/876179013/167048381/8761790132bbc46fc8af7fd045e90677.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e351b9918/167048381/e351b9918dc131bccf894cc4a5662d99_max_476x317.jpeg",
+ "url": "property-photo/e351b9918/167048381/e351b9918dc131bccf894cc4a5662d99.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ec8147eb4/167048381/ec8147eb44807d09be9cecb925ecdb81_max_476x317.jpeg",
+ "url": "property-photo/ec8147eb4/167048381/ec8147eb44807d09be9cecb925ecdb81.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b0dbaa2/167048381/52b0dbaa2e9dd07c2f4f98e90e9921c7_max_476x317.jpeg",
+ "url": "property-photo/52b0dbaa2/167048381/52b0dbaa2e9dd07c2f4f98e90e9921c7.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/331c05dc1/167048381/331c05dc116719056292e31f90e3bdc0_max_476x317.jpeg",
+ "url": "property-photo/331c05dc1/167048381/331c05dc116719056292e31f90e3bdc0.jpeg",
+ "caption": "The Avenue"
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-09-16T13:17:05Z"
+ },
+ "price": {
+ "amount": 2400000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,400,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Planning Permission Granted",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "3,193 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/167048381#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=167048381",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-09-16T13:12:02Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-09-30T17:56:44Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Chain Free",
+ "htmlDescription": "Chain Free"
+ },
+ {
+ "order": 2,
+ "description": "Exceptional Detached Home In A Prime Location",
+ "htmlDescription": "Exceptional Detached Home In A Prime Location"
+ },
+ {
+ "order": 3,
+ "description": "Excellent Transport Links",
+ "htmlDescription": "Excellent Transport Links"
+ },
+ {
+ "order": 4,
+ "description": "Carriage Driveway And Double Garage",
+ "htmlDescription": "Carriage Driveway And Double Garage"
+ },
+ {
+ "order": 5,
+ "description": "South Facing Landscaped Garden",
+ "htmlDescription": "South Facing Landscaped Garden"
+ },
+ {
+ "order": 6,
+ "description": "Approved Planning Permission (REF:1300/24)",
+ "htmlDescription": "Approved Planning Permission (REF:1300/24)"
+ },
+ {
+ "order": 7,
+ "description": "Multiple Reception Rooms",
+ "htmlDescription": "Multiple Reception Rooms"
+ },
+ {
+ "order": 8,
+ "description": "Open Plan Kitchen Diner",
+ "htmlDescription": "Open Plan Kitchen Diner"
+ },
+ {
+ "order": 9,
+ "description": "Home Office And Guest WC",
+ "htmlDescription": "Home Office And Guest WC"
+ },
+ {
+ "order": 10,
+ "description": "Five Bedrooms, Three With En Suites",
+ "htmlDescription": "Five Bedrooms, Three With En Suites"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379_max_476x317.jpeg",
+ "url": "property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/05cb1d6d5/167048381/05cb1d6d5d75e4a30848fc34fe8f5d5d_max_476x317.jpeg",
+ "url": "property-photo/05cb1d6d5/167048381/05cb1d6d5d75e4a30848fc34fe8f5d5d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dcaf3c425/167048381/dcaf3c425eec86e277318f871759dcb5_max_476x317.jpeg",
+ "url": "property-photo/dcaf3c425/167048381/dcaf3c425eec86e277318f871759dcb5.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c6a44f76/167048381/6c6a44f7669edad40e8ff8f6ba430fd2_max_476x317.jpeg",
+ "url": "property-photo/6c6a44f76/167048381/6c6a44f7669edad40e8ff8f6ba430fd2.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63542b31c/167048381/63542b31c43daf5adf362335d303bcf9_max_476x317.jpeg",
+ "url": "property-photo/63542b31c/167048381/63542b31c43daf5adf362335d303bcf9.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02e3fc863/167048381/02e3fc8631521640ae33625b313baad3_max_476x317.jpeg",
+ "url": "property-photo/02e3fc863/167048381/02e3fc8631521640ae33625b313baad3.jpeg",
+ "caption": "366the.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d6de085d4/167048381/d6de085d4d485fc0b5cafc8ca6bf24d8_max_476x317.jpeg",
+ "url": "property-photo/d6de085d4/167048381/d6de085d4d485fc0b5cafc8ca6bf24d8.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b079ba88/167048381/5b079ba88daab07e75824bf21a89210b_max_476x317.jpeg",
+ "url": "property-photo/5b079ba88/167048381/5b079ba88daab07e75824bf21a89210b.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/384b6aa89/167048381/384b6aa895d7625ab10957d0248501fc_max_476x317.jpeg",
+ "url": "property-photo/384b6aa89/167048381/384b6aa895d7625ab10957d0248501fc.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6a1c2d15d/167048381/6a1c2d15d99b7ede171f2e389610b73c_max_476x317.jpeg",
+ "url": "property-photo/6a1c2d15d/167048381/6a1c2d15d99b7ede171f2e389610b73c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91eb91994/167048381/91eb919942454a84ff01db3366956c5b_max_476x317.jpeg",
+ "url": "property-photo/91eb91994/167048381/91eb919942454a84ff01db3366956c5b.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29625a456/167048381/29625a45692763a5f1b49506ee4c8dac_max_476x317.jpeg",
+ "url": "property-photo/29625a456/167048381/29625a45692763a5f1b49506ee4c8dac.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1d2daf274/167048381/1d2daf274658c924fc8d30764f713360_max_476x317.jpeg",
+ "url": "property-photo/1d2daf274/167048381/1d2daf274658c924fc8d30764f713360.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc436ad78/167048381/cc436ad789dce9743081bbec771acaec_max_476x317.jpeg",
+ "url": "property-photo/cc436ad78/167048381/cc436ad789dce9743081bbec771acaec.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6337ff7f4/167048381/6337ff7f4a166ab9e3c1680d8e16d47c_max_476x317.jpeg",
+ "url": "property-photo/6337ff7f4/167048381/6337ff7f4a166ab9e3c1680d8e16d47c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/401dce4db/167048381/401dce4db15351100a46534877462a8f_max_476x317.jpeg",
+ "url": "property-photo/401dce4db/167048381/401dce4db15351100a46534877462a8f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/748ebd304/167048381/748ebd304c08601aeb4ac4481ef4810f_max_476x317.jpeg",
+ "url": "property-photo/748ebd304/167048381/748ebd304c08601aeb4ac4481ef4810f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbdbbca72/167048381/bbdbbca726867f675cf732da8328b8e3_max_476x317.jpeg",
+ "url": "property-photo/bbdbbca72/167048381/bbdbbca726867f675cf732da8328b8e3.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d242ec3f1/167048381/d242ec3f1df3da47a3fc6f1ed9ecad49_max_476x317.jpeg",
+ "url": "property-photo/d242ec3f1/167048381/d242ec3f1df3da47a3fc6f1ed9ecad49.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9dc190de7/167048381/9dc190de76aa5774f2e1519363cd898c_max_476x317.jpeg",
+ "url": "property-photo/9dc190de7/167048381/9dc190de76aa5774f2e1519363cd898c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c966857b9/167048381/c966857b902303d41c8114b82ea5c6c1_max_476x317.jpeg",
+ "url": "property-photo/c966857b9/167048381/c966857b902303d41c8114b82ea5c6c1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36655747e/167048381/36655747e38d8e752ba8adb45bbea03f_max_476x317.jpeg",
+ "url": "property-photo/36655747e/167048381/36655747e38d8e752ba8adb45bbea03f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/874326dfe/167048381/874326dfe53b1d4f0d723d6278906cc8_max_476x317.jpeg",
+ "url": "property-photo/874326dfe/167048381/874326dfe53b1d4f0d723d6278906cc8.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8198d7352/167048381/8198d7352d863846a1de7a559a99ef2d_max_476x317.jpeg",
+ "url": "property-photo/8198d7352/167048381/8198d7352d863846a1de7a559a99ef2d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3666e96c6/167048381/3666e96c62bad4fe4caa5f382c17567f_max_476x317.jpeg",
+ "url": "property-photo/3666e96c6/167048381/3666e96c62bad4fe4caa5f382c17567f.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/385c5e7e0/167048381/385c5e7e0eca965a3ebdf684c6e7cb55_max_476x317.jpeg",
+ "url": "property-photo/385c5e7e0/167048381/385c5e7e0eca965a3ebdf684c6e7cb55.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79fccb050/167048381/79fccb050999ab08013c56c1f99acf1e_max_476x317.jpeg",
+ "url": "property-photo/79fccb050/167048381/79fccb050999ab08013c56c1f99acf1e.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/867e3b197/167048381/867e3b1970ebfe6ca49d9baa77834a07_max_476x317.jpeg",
+ "url": "property-photo/867e3b197/167048381/867e3b1970ebfe6ca49d9baa77834a07.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1c6962c0/167048381/e1c6962c0d60b2b8e9e68380e56d859c_max_476x317.jpeg",
+ "url": "property-photo/e1c6962c0/167048381/e1c6962c0d60b2b8e9e68380e56d859c.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0367ed0/167048381/4f0367ed017da1f85f01ad442215e78e_max_476x317.jpeg",
+ "url": "property-photo/4f0367ed0/167048381/4f0367ed017da1f85f01ad442215e78e.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/82491bca2/167048381/82491bca24afbe1754976759aa6ddd58_max_476x317.jpeg",
+ "url": "property-photo/82491bca2/167048381/82491bca24afbe1754976759aa6ddd58.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b67074092/167048381/b67074092b076c646a72a46c285141b1_max_476x317.jpeg",
+ "url": "property-photo/b67074092/167048381/b67074092b076c646a72a46c285141b1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/108120673/167048381/1081206733b7eeb272548ee35cfbfae1_max_476x317.jpeg",
+ "url": "property-photo/108120673/167048381/1081206733b7eeb272548ee35cfbfae1.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a6cb6662/167048381/1a6cb66625fc39e40e48c0ac56881129_max_476x317.jpeg",
+ "url": "property-photo/1a6cb6662/167048381/1a6cb66625fc39e40e48c0ac56881129.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/841a1cdce/167048381/841a1cdce7cdf562deb60dca88aa8a60_max_476x317.jpeg",
+ "url": "property-photo/841a1cdce/167048381/841a1cdce7cdf562deb60dca88aa8a60.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a88cef83/167048381/2a88cef835fd34f84856c5038d933f5a_max_476x317.jpeg",
+ "url": "property-photo/2a88cef83/167048381/2a88cef835fd34f84856c5038d933f5a.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0a95a28d2/167048381/0a95a28d20841905e589b0c07470efee_max_476x317.jpeg",
+ "url": "property-photo/0a95a28d2/167048381/0a95a28d20841905e589b0c07470efee.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00d9f8056/167048381/00d9f805603d3284dee94e9b06637b2d_max_476x317.jpeg",
+ "url": "property-photo/00d9f8056/167048381/00d9f805603d3284dee94e9b06637b2d.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ee509d03/167048381/9ee509d03ec500cab160fbce9dbc1923_max_476x317.jpeg",
+ "url": "property-photo/9ee509d03/167048381/9ee509d03ec500cab160fbce9dbc1923.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcc8a5a66/167048381/bcc8a5a665931e1f43b53008e6eca6de_max_476x317.jpeg",
+ "url": "property-photo/bcc8a5a66/167048381/bcc8a5a665931e1f43b53008e6eca6de.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f8445266e/167048381/f8445266ecf8088a4a5fdc1e84771ab9_max_476x317.jpeg",
+ "url": "property-photo/f8445266e/167048381/f8445266ecf8088a4a5fdc1e84771ab9.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/876179013/167048381/8761790132bbc46fc8af7fd045e90677_max_476x317.jpeg",
+ "url": "property-photo/876179013/167048381/8761790132bbc46fc8af7fd045e90677.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e351b9918/167048381/e351b9918dc131bccf894cc4a5662d99_max_476x317.jpeg",
+ "url": "property-photo/e351b9918/167048381/e351b9918dc131bccf894cc4a5662d99.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ec8147eb4/167048381/ec8147eb44807d09be9cecb925ecdb81_max_476x317.jpeg",
+ "url": "property-photo/ec8147eb4/167048381/ec8147eb44807d09be9cecb925ecdb81.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/52b0dbaa2/167048381/52b0dbaa2e9dd07c2f4f98e90e9921c7_max_476x317.jpeg",
+ "url": "property-photo/52b0dbaa2/167048381/52b0dbaa2e9dd07c2f4f98e90e9921c7.jpeg",
+ "caption": "The Avenue"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/331c05dc1/167048381/331c05dc116719056292e31f90e3bdc0_max_476x317.jpeg",
+ "url": "property-photo/331c05dc1/167048381/331c05dc116719056292e31f90e3bdc0.jpeg",
+ "caption": "The Avenue"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0371d5664/167048381/0371d5664d3ae745a9bef4a513bdd379_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Added on 16/09/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 166269284,
+ "bedrooms": 5,
+ "bathrooms": 3,
+ "numberOfImages": 42,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "We are pleased to present arguably one of Wanstead's most highly sought-after roads The Avenue. This exceptional home offers the perfect combination of convenience, privacy, and expansive surroundings. Positioned just moments away from Wanstead's vibrant High Street, yet encompassed by a wide roa...",
+ "displayAddress": "The Avenue, Wanstead, London, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.577853, "longitude": 0.029853 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5_max_476x317.jpeg",
+ "url": "property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5.jpeg",
+ "caption": "Picture No. 47"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3316e3dfd/166269284/3316e3dfdf3b11ce86c004d3c3ec1b30_max_476x317.jpeg",
+ "url": "property-photo/3316e3dfd/166269284/3316e3dfdf3b11ce86c004d3c3ec1b30.jpeg",
+ "caption": "Picture No. 60"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06500b1c8/166269284/06500b1c8b9dbe64885edeb46367cc0e_max_476x317.jpeg",
+ "url": "property-photo/06500b1c8/166269284/06500b1c8b9dbe64885edeb46367cc0e.jpeg",
+ "caption": "Picture No. 58"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e57808b9b/166269284/e57808b9b54265fb61de7ea3a55b3a4f_max_476x317.jpeg",
+ "url": "property-photo/e57808b9b/166269284/e57808b9b54265fb61de7ea3a55b3a4f.jpeg",
+ "caption": "Picture No. 49"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75bc0c051/166269284/75bc0c051dbaf560705272306a485bc0_max_476x317.jpeg",
+ "url": "property-photo/75bc0c051/166269284/75bc0c051dbaf560705272306a485bc0.jpeg",
+ "caption": "Picture No. 50"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7aba7ec0e/166269284/7aba7ec0e93556e61d9bb13bf6dec172_max_476x317.jpeg",
+ "url": "property-photo/7aba7ec0e/166269284/7aba7ec0e93556e61d9bb13bf6dec172.jpeg",
+ "caption": "Picture No. 51"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e813e3be6/166269284/e813e3be6d9150f9175a682a09cfeeff_max_476x317.jpeg",
+ "url": "property-photo/e813e3be6/166269284/e813e3be6d9150f9175a682a09cfeeff.jpeg",
+ "caption": "Picture No. 54"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c0b79a46/166269284/3c0b79a465083b3521aab6178e11eacb_max_476x317.jpeg",
+ "url": "property-photo/3c0b79a46/166269284/3c0b79a465083b3521aab6178e11eacb.jpeg",
+ "caption": "Picture No. 64"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd881e8a4/166269284/dd881e8a473b82b07faf53707ad78ead_max_476x317.jpeg",
+ "url": "property-photo/dd881e8a4/166269284/dd881e8a473b82b07faf53707ad78ead.jpeg",
+ "caption": "Picture No. 62"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/674194ca0/166269284/674194ca09186a5d5e786a31a0bb5be8_max_476x317.jpeg",
+ "url": "property-photo/674194ca0/166269284/674194ca09186a5d5e786a31a0bb5be8.jpeg",
+ "caption": "Picture No. 63"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ef10c5892/166269284/ef10c5892b04fc63c4983c84b1d498d2_max_476x317.jpeg",
+ "url": "property-photo/ef10c5892/166269284/ef10c5892b04fc63c4983c84b1d498d2.jpeg",
+ "caption": "Picture No. 65"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/32b083749/166269284/32b08374907da666947f6b0edad63cfb_max_476x317.jpeg",
+ "url": "property-photo/32b083749/166269284/32b08374907da666947f6b0edad63cfb.jpeg",
+ "caption": "Picture No. 59"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b5b31443a/166269284/b5b31443a63fdc3f1c6b39f57362eb2f_max_476x317.jpeg",
+ "url": "property-photo/b5b31443a/166269284/b5b31443a63fdc3f1c6b39f57362eb2f.jpeg",
+ "caption": "Picture No. 56"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e6c46ccc6/166269284/e6c46ccc6d9eeae69d3a7c84eed00694_max_476x317.jpeg",
+ "url": "property-photo/e6c46ccc6/166269284/e6c46ccc6d9eeae69d3a7c84eed00694.jpeg",
+ "caption": "Picture No. 57"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e237621fc/166269284/e237621fc7b4d0394a232ebe5fdeb757_max_476x317.jpeg",
+ "url": "property-photo/e237621fc/166269284/e237621fc7b4d0394a232ebe5fdeb757.jpeg",
+ "caption": "Picture No. 61"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f2ecdfc9c/166269284/f2ecdfc9c0b35f007c0365a6eb96578b_max_476x317.jpeg",
+ "url": "property-photo/f2ecdfc9c/166269284/f2ecdfc9c0b35f007c0365a6eb96578b.jpeg",
+ "caption": "Picture No. 66"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f0ef1e971/166269284/f0ef1e9715b59ca8dec730b6814327db_max_476x317.jpeg",
+ "url": "property-photo/f0ef1e971/166269284/f0ef1e9715b59ca8dec730b6814327db.jpeg",
+ "caption": "Picture No. 68"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/81ac9a414/166269284/81ac9a414ae209f3b5d95ff22e6e9200_max_476x317.jpeg",
+ "url": "property-photo/81ac9a414/166269284/81ac9a414ae209f3b5d95ff22e6e9200.jpeg",
+ "caption": "Picture No. 52"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c18895b9f/166269284/c18895b9f9415263b4a0764a4769596c_max_476x317.jpeg",
+ "url": "property-photo/c18895b9f/166269284/c18895b9f9415263b4a0764a4769596c.jpeg",
+ "caption": "Picture No. 53"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/38e1401c8/166269284/38e1401c8afd3ef0528aae3014d7bdac_max_476x317.jpeg",
+ "url": "property-photo/38e1401c8/166269284/38e1401c8afd3ef0528aae3014d7bdac.jpeg",
+ "caption": "Picture No. 55"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2df70869e/166269284/2df70869e028df52dd2b6816b458de0c_max_476x317.jpeg",
+ "url": "property-photo/2df70869e/166269284/2df70869e028df52dd2b6816b458de0c.jpeg",
+ "caption": "Picture No. 67"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/585c7abd1/166269284/585c7abd17bc18adccd8ecfb8edaf5b1_max_476x317.jpeg",
+ "url": "property-photo/585c7abd1/166269284/585c7abd17bc18adccd8ecfb8edaf5b1.jpeg",
+ "caption": "Picture No. 70"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a2abf8eb/166269284/1a2abf8eb254a8ef2ce7415da1f67983_max_476x317.jpeg",
+ "url": "property-photo/1a2abf8eb/166269284/1a2abf8eb254a8ef2ce7415da1f67983.jpeg",
+ "caption": "Picture No. 69"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb0558be0/166269284/cb0558be09f01d82cc7cec595b278226_max_476x317.jpeg",
+ "url": "property-photo/cb0558be0/166269284/cb0558be09f01d82cc7cec595b278226.jpeg",
+ "caption": "Picture No. 48"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/61490049f/166269284/61490049ffd2ca02f12d47125c2cefb6_max_476x317.jpeg",
+ "url": "property-photo/61490049f/166269284/61490049ffd2ca02f12d47125c2cefb6.jpeg",
+ "caption": "Picture No. 71"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5f08c87c8/166269284/5f08c87c833cc2f05c8dd0e57df76ff5_max_476x317.jpeg",
+ "url": "property-photo/5f08c87c8/166269284/5f08c87c833cc2f05c8dd0e57df76ff5.jpeg",
+ "caption": "Picture No. 72"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/15c19ab0c/166269284/15c19ab0c3f8af8da2e5e398d0fa5950_max_476x317.jpeg",
+ "url": "property-photo/15c19ab0c/166269284/15c19ab0c3f8af8da2e5e398d0fa5950.jpeg",
+ "caption": "Picture No. 77"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0d8f019f/166269284/d0d8f019f3b9867db580bb626414511b_max_476x317.jpeg",
+ "url": "property-photo/d0d8f019f/166269284/d0d8f019f3b9867db580bb626414511b.jpeg",
+ "caption": "Picture No. 78"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02042d836/166269284/02042d83618b1e2b77827efabc692da3_max_476x317.jpeg",
+ "url": "property-photo/02042d836/166269284/02042d83618b1e2b77827efabc692da3.jpeg",
+ "caption": "Picture No. 73"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee7f91f9f/166269284/ee7f91f9f6ea8c9c61d6213ff96e9631_max_476x317.jpeg",
+ "url": "property-photo/ee7f91f9f/166269284/ee7f91f9f6ea8c9c61d6213ff96e9631.jpeg",
+ "caption": "Picture No. 74"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c2a21238/166269284/6c2a212382ff4b9c36523e344176a48d_max_476x317.jpeg",
+ "url": "property-photo/6c2a21238/166269284/6c2a212382ff4b9c36523e344176a48d.jpeg",
+ "caption": "Picture No. 76"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/196c747db/166269284/196c747dbc11175449c1651a9a2d2b25_max_476x317.jpeg",
+ "url": "property-photo/196c747db/166269284/196c747dbc11175449c1651a9a2d2b25.jpeg",
+ "caption": "Picture No. 84"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ca94acd3/166269284/9ca94acd380b6e468643cba37ed76ee5_max_476x317.jpeg",
+ "url": "property-photo/9ca94acd3/166269284/9ca94acd380b6e468643cba37ed76ee5.jpeg",
+ "caption": "Picture No. 79"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/20ff1c7b1/166269284/20ff1c7b1304cba83128c0baf6d6ca5a_max_476x317.jpeg",
+ "url": "property-photo/20ff1c7b1/166269284/20ff1c7b1304cba83128c0baf6d6ca5a.jpeg",
+ "caption": "Picture No. 75"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbceda5df/166269284/bbceda5df89b22516225059494988365_max_476x317.jpeg",
+ "url": "property-photo/bbceda5df/166269284/bbceda5df89b22516225059494988365.jpeg",
+ "caption": "Picture No. 80"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9de586bac/166269284/9de586bac0ab064c5b986da79fefff85_max_476x317.jpeg",
+ "url": "property-photo/9de586bac/166269284/9de586bac0ab064c5b986da79fefff85.jpeg",
+ "caption": "Picture No. 83"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/211a86b14/166269284/211a86b14fb377ccaf03c397e3d0c1df_max_476x317.jpeg",
+ "url": "property-photo/211a86b14/166269284/211a86b14fb377ccaf03c397e3d0c1df.jpeg",
+ "caption": "Picture No. 81"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e399a7b4f/166269284/e399a7b4f31687400df6078d5cef4845_max_476x317.jpeg",
+ "url": "property-photo/e399a7b4f/166269284/e399a7b4f31687400df6078d5cef4845.jpeg",
+ "caption": "Picture No. 82"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1bd4d5ddb/166269284/1bd4d5ddb501054ed9ad51e99226f3a5_max_476x317.jpeg",
+ "url": "property-photo/1bd4d5ddb/166269284/1bd4d5ddb501054ed9ad51e99226f3a5.jpeg",
+ "caption": "Picture No. 85"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/568197e23/166269284/568197e23b2f9a1be4ffca6869627c6e_max_476x317.jpeg",
+ "url": "property-photo/568197e23/166269284/568197e23b2f9a1be4ffca6869627c6e.jpeg",
+ "caption": "Picture No. 87"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/048bf754e/166269284/048bf754e0d0fde49004a902b8bd497a_max_476x317.jpeg",
+ "url": "property-photo/048bf754e/166269284/048bf754e0d0fde49004a902b8bd497a.jpeg",
+ "caption": "Picture No. 88"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c8f3f611/166269284/5c8f3f61135d92ef06365644b3ab0ce9_max_476x317.jpeg",
+ "url": "property-photo/5c8f3f611/166269284/5c8f3f61135d92ef06365644b3ab0ce9.jpeg",
+ "caption": "Picture No. 86"
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-08-27T15:12:04Z"
+ },
+ "price": {
+ "amount": 2400000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£2,400,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 266474,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_38020_0002.png",
+ "contactTelephone": "020 8106 5748",
+ "branchDisplayName": "Madison Fox, Woodford Green",
+ "branchName": "Woodford Green",
+ "brandTradingName": "Madison Fox",
+ "branchLandingPageUrl": "/estate-agents/agent/Madison-Fox/Woodford-Green-266474.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-15T12:40:04Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_38020_0002.png",
+ "primaryBrandColour": "#27605c"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,778 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/166269284#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=166269284",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-08-27T15:07:01Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-11-28T01:18:16Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Beautiful Five bedroom House",
+ "htmlDescription": "Beautiful Five bedroom House"
+ },
+ {
+ "order": 2,
+ "description": "Detached",
+ "htmlDescription": "Detached"
+ },
+ {
+ "order": 3,
+ "description": "Carriage drive & Garage",
+ "htmlDescription": "Carriage drive & Garage"
+ },
+ {
+ "order": 4,
+ "description": "Three bathrooms",
+ "htmlDescription": "Three bathrooms"
+ },
+ {
+ "order": 5,
+ "description": "Large through lounge/ Diner",
+ "htmlDescription": "Large through lounge/ Diner"
+ },
+ {
+ "order": 6,
+ "description": "Study/snug room",
+ "htmlDescription": "Study/snug room"
+ },
+ {
+ "order": 7,
+ "description": "Ground floor cloak room",
+ "htmlDescription": "Ground floor cloak room"
+ },
+ {
+ "order": 8,
+ "description": "Stunning open plan kitchen diner",
+ "htmlDescription": "Stunning open plan kitchen diner"
+ },
+ {
+ "order": 9,
+ "description": "Utility room",
+ "htmlDescription": "Utility room"
+ },
+ {
+ "order": 10,
+ "description": "Beautiful private garden",
+ "htmlDescription": "Beautiful private garden"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5_max_476x317.jpeg",
+ "url": "property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5.jpeg",
+ "caption": "Picture No. 47"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3316e3dfd/166269284/3316e3dfdf3b11ce86c004d3c3ec1b30_max_476x317.jpeg",
+ "url": "property-photo/3316e3dfd/166269284/3316e3dfdf3b11ce86c004d3c3ec1b30.jpeg",
+ "caption": "Picture No. 60"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06500b1c8/166269284/06500b1c8b9dbe64885edeb46367cc0e_max_476x317.jpeg",
+ "url": "property-photo/06500b1c8/166269284/06500b1c8b9dbe64885edeb46367cc0e.jpeg",
+ "caption": "Picture No. 58"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e57808b9b/166269284/e57808b9b54265fb61de7ea3a55b3a4f_max_476x317.jpeg",
+ "url": "property-photo/e57808b9b/166269284/e57808b9b54265fb61de7ea3a55b3a4f.jpeg",
+ "caption": "Picture No. 49"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75bc0c051/166269284/75bc0c051dbaf560705272306a485bc0_max_476x317.jpeg",
+ "url": "property-photo/75bc0c051/166269284/75bc0c051dbaf560705272306a485bc0.jpeg",
+ "caption": "Picture No. 50"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7aba7ec0e/166269284/7aba7ec0e93556e61d9bb13bf6dec172_max_476x317.jpeg",
+ "url": "property-photo/7aba7ec0e/166269284/7aba7ec0e93556e61d9bb13bf6dec172.jpeg",
+ "caption": "Picture No. 51"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e813e3be6/166269284/e813e3be6d9150f9175a682a09cfeeff_max_476x317.jpeg",
+ "url": "property-photo/e813e3be6/166269284/e813e3be6d9150f9175a682a09cfeeff.jpeg",
+ "caption": "Picture No. 54"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c0b79a46/166269284/3c0b79a465083b3521aab6178e11eacb_max_476x317.jpeg",
+ "url": "property-photo/3c0b79a46/166269284/3c0b79a465083b3521aab6178e11eacb.jpeg",
+ "caption": "Picture No. 64"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd881e8a4/166269284/dd881e8a473b82b07faf53707ad78ead_max_476x317.jpeg",
+ "url": "property-photo/dd881e8a4/166269284/dd881e8a473b82b07faf53707ad78ead.jpeg",
+ "caption": "Picture No. 62"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/674194ca0/166269284/674194ca09186a5d5e786a31a0bb5be8_max_476x317.jpeg",
+ "url": "property-photo/674194ca0/166269284/674194ca09186a5d5e786a31a0bb5be8.jpeg",
+ "caption": "Picture No. 63"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ef10c5892/166269284/ef10c5892b04fc63c4983c84b1d498d2_max_476x317.jpeg",
+ "url": "property-photo/ef10c5892/166269284/ef10c5892b04fc63c4983c84b1d498d2.jpeg",
+ "caption": "Picture No. 65"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/32b083749/166269284/32b08374907da666947f6b0edad63cfb_max_476x317.jpeg",
+ "url": "property-photo/32b083749/166269284/32b08374907da666947f6b0edad63cfb.jpeg",
+ "caption": "Picture No. 59"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b5b31443a/166269284/b5b31443a63fdc3f1c6b39f57362eb2f_max_476x317.jpeg",
+ "url": "property-photo/b5b31443a/166269284/b5b31443a63fdc3f1c6b39f57362eb2f.jpeg",
+ "caption": "Picture No. 56"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e6c46ccc6/166269284/e6c46ccc6d9eeae69d3a7c84eed00694_max_476x317.jpeg",
+ "url": "property-photo/e6c46ccc6/166269284/e6c46ccc6d9eeae69d3a7c84eed00694.jpeg",
+ "caption": "Picture No. 57"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e237621fc/166269284/e237621fc7b4d0394a232ebe5fdeb757_max_476x317.jpeg",
+ "url": "property-photo/e237621fc/166269284/e237621fc7b4d0394a232ebe5fdeb757.jpeg",
+ "caption": "Picture No. 61"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f2ecdfc9c/166269284/f2ecdfc9c0b35f007c0365a6eb96578b_max_476x317.jpeg",
+ "url": "property-photo/f2ecdfc9c/166269284/f2ecdfc9c0b35f007c0365a6eb96578b.jpeg",
+ "caption": "Picture No. 66"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f0ef1e971/166269284/f0ef1e9715b59ca8dec730b6814327db_max_476x317.jpeg",
+ "url": "property-photo/f0ef1e971/166269284/f0ef1e9715b59ca8dec730b6814327db.jpeg",
+ "caption": "Picture No. 68"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/81ac9a414/166269284/81ac9a414ae209f3b5d95ff22e6e9200_max_476x317.jpeg",
+ "url": "property-photo/81ac9a414/166269284/81ac9a414ae209f3b5d95ff22e6e9200.jpeg",
+ "caption": "Picture No. 52"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c18895b9f/166269284/c18895b9f9415263b4a0764a4769596c_max_476x317.jpeg",
+ "url": "property-photo/c18895b9f/166269284/c18895b9f9415263b4a0764a4769596c.jpeg",
+ "caption": "Picture No. 53"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/38e1401c8/166269284/38e1401c8afd3ef0528aae3014d7bdac_max_476x317.jpeg",
+ "url": "property-photo/38e1401c8/166269284/38e1401c8afd3ef0528aae3014d7bdac.jpeg",
+ "caption": "Picture No. 55"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2df70869e/166269284/2df70869e028df52dd2b6816b458de0c_max_476x317.jpeg",
+ "url": "property-photo/2df70869e/166269284/2df70869e028df52dd2b6816b458de0c.jpeg",
+ "caption": "Picture No. 67"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/585c7abd1/166269284/585c7abd17bc18adccd8ecfb8edaf5b1_max_476x317.jpeg",
+ "url": "property-photo/585c7abd1/166269284/585c7abd17bc18adccd8ecfb8edaf5b1.jpeg",
+ "caption": "Picture No. 70"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a2abf8eb/166269284/1a2abf8eb254a8ef2ce7415da1f67983_max_476x317.jpeg",
+ "url": "property-photo/1a2abf8eb/166269284/1a2abf8eb254a8ef2ce7415da1f67983.jpeg",
+ "caption": "Picture No. 69"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb0558be0/166269284/cb0558be09f01d82cc7cec595b278226_max_476x317.jpeg",
+ "url": "property-photo/cb0558be0/166269284/cb0558be09f01d82cc7cec595b278226.jpeg",
+ "caption": "Picture No. 48"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/61490049f/166269284/61490049ffd2ca02f12d47125c2cefb6_max_476x317.jpeg",
+ "url": "property-photo/61490049f/166269284/61490049ffd2ca02f12d47125c2cefb6.jpeg",
+ "caption": "Picture No. 71"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5f08c87c8/166269284/5f08c87c833cc2f05c8dd0e57df76ff5_max_476x317.jpeg",
+ "url": "property-photo/5f08c87c8/166269284/5f08c87c833cc2f05c8dd0e57df76ff5.jpeg",
+ "caption": "Picture No. 72"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/15c19ab0c/166269284/15c19ab0c3f8af8da2e5e398d0fa5950_max_476x317.jpeg",
+ "url": "property-photo/15c19ab0c/166269284/15c19ab0c3f8af8da2e5e398d0fa5950.jpeg",
+ "caption": "Picture No. 77"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0d8f019f/166269284/d0d8f019f3b9867db580bb626414511b_max_476x317.jpeg",
+ "url": "property-photo/d0d8f019f/166269284/d0d8f019f3b9867db580bb626414511b.jpeg",
+ "caption": "Picture No. 78"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02042d836/166269284/02042d83618b1e2b77827efabc692da3_max_476x317.jpeg",
+ "url": "property-photo/02042d836/166269284/02042d83618b1e2b77827efabc692da3.jpeg",
+ "caption": "Picture No. 73"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee7f91f9f/166269284/ee7f91f9f6ea8c9c61d6213ff96e9631_max_476x317.jpeg",
+ "url": "property-photo/ee7f91f9f/166269284/ee7f91f9f6ea8c9c61d6213ff96e9631.jpeg",
+ "caption": "Picture No. 74"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c2a21238/166269284/6c2a212382ff4b9c36523e344176a48d_max_476x317.jpeg",
+ "url": "property-photo/6c2a21238/166269284/6c2a212382ff4b9c36523e344176a48d.jpeg",
+ "caption": "Picture No. 76"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/196c747db/166269284/196c747dbc11175449c1651a9a2d2b25_max_476x317.jpeg",
+ "url": "property-photo/196c747db/166269284/196c747dbc11175449c1651a9a2d2b25.jpeg",
+ "caption": "Picture No. 84"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ca94acd3/166269284/9ca94acd380b6e468643cba37ed76ee5_max_476x317.jpeg",
+ "url": "property-photo/9ca94acd3/166269284/9ca94acd380b6e468643cba37ed76ee5.jpeg",
+ "caption": "Picture No. 79"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/20ff1c7b1/166269284/20ff1c7b1304cba83128c0baf6d6ca5a_max_476x317.jpeg",
+ "url": "property-photo/20ff1c7b1/166269284/20ff1c7b1304cba83128c0baf6d6ca5a.jpeg",
+ "caption": "Picture No. 75"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbceda5df/166269284/bbceda5df89b22516225059494988365_max_476x317.jpeg",
+ "url": "property-photo/bbceda5df/166269284/bbceda5df89b22516225059494988365.jpeg",
+ "caption": "Picture No. 80"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9de586bac/166269284/9de586bac0ab064c5b986da79fefff85_max_476x317.jpeg",
+ "url": "property-photo/9de586bac/166269284/9de586bac0ab064c5b986da79fefff85.jpeg",
+ "caption": "Picture No. 83"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/211a86b14/166269284/211a86b14fb377ccaf03c397e3d0c1df_max_476x317.jpeg",
+ "url": "property-photo/211a86b14/166269284/211a86b14fb377ccaf03c397e3d0c1df.jpeg",
+ "caption": "Picture No. 81"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e399a7b4f/166269284/e399a7b4f31687400df6078d5cef4845_max_476x317.jpeg",
+ "url": "property-photo/e399a7b4f/166269284/e399a7b4f31687400df6078d5cef4845.jpeg",
+ "caption": "Picture No. 82"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1bd4d5ddb/166269284/1bd4d5ddb501054ed9ad51e99226f3a5_max_476x317.jpeg",
+ "url": "property-photo/1bd4d5ddb/166269284/1bd4d5ddb501054ed9ad51e99226f3a5.jpeg",
+ "caption": "Picture No. 85"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/568197e23/166269284/568197e23b2f9a1be4ffca6869627c6e_max_476x317.jpeg",
+ "url": "property-photo/568197e23/166269284/568197e23b2f9a1be4ffca6869627c6e.jpeg",
+ "caption": "Picture No. 87"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/048bf754e/166269284/048bf754e0d0fde49004a902b8bd497a_max_476x317.jpeg",
+ "url": "property-photo/048bf754e/166269284/048bf754e0d0fde49004a902b8bd497a.jpeg",
+ "caption": "Picture No. 88"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c8f3f611/166269284/5c8f3f61135d92ef06365644b3ab0ce9_max_476x317.jpeg",
+ "url": "property-photo/5c8f3f611/166269284/5c8f3f61135d92ef06365644b3ab0ce9.jpeg",
+ "caption": "Picture No. 86"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ff25b09/166269284/d0ff25b09644610328555cce50b749e5_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Madison Fox, Woodford Green",
+ "addedOrReduced": "Added on 27/08/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172089959,
+ "bedrooms": 4,
+ "bathrooms": 3,
+ "numberOfImages": 30,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 2,
+ "summary": "Set in a quiet cul-de-sac in sought-after Wanstead, this refined detached residence features four double bedrooms, two elegant dressing rooms, three bathrooms, and a private swimming pool.",
+ "displayAddress": "Hollybush Close, Snaresbrook",
+ "countryCode": "GB",
+ "location": { "latitude": 51.580234, "longitude": 0.020466 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f_max_476x317.jpeg",
+ "url": "property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f.jpeg",
+ "caption": "Front (Exterior)"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ae2bc5c0/172089959/3ae2bc5c018c69e7507eaee5b7f35177_max_476x317.jpeg",
+ "url": "property-photo/3ae2bc5c0/172089959/3ae2bc5c018c69e7507eaee5b7f35177.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/561ce5b0a/172089959/561ce5b0a921018681be2e959a75213a_max_476x317.jpeg",
+ "url": "property-photo/561ce5b0a/172089959/561ce5b0a921018681be2e959a75213a.jpeg",
+ "caption": "Swimming Pool"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/061a5d5f2/172089959/061a5d5f28f2ec3997ad4dc7233ea34b_max_476x317.jpeg",
+ "url": "property-photo/061a5d5f2/172089959/061a5d5f28f2ec3997ad4dc7233ea34b.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a0750e563/172089959/a0750e563b6b14fbb7c6527206d8c16a_max_476x317.jpeg",
+ "url": "property-photo/a0750e563/172089959/a0750e563b6b14fbb7c6527206d8c16a.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b1ecbcaf5/172089959/b1ecbcaf564bc75a5dbbc09b15b0f4f2_max_476x317.jpeg",
+ "url": "property-photo/b1ecbcaf5/172089959/b1ecbcaf564bc75a5dbbc09b15b0f4f2.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d8515493d/172089959/d8515493d2bcfdb73a0d1dd7bbf70873_max_476x317.jpeg",
+ "url": "property-photo/d8515493d/172089959/d8515493d2bcfdb73a0d1dd7bbf70873.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f83b7ae77/172089959/f83b7ae779704bc38280fee03efea558_max_476x317.jpeg",
+ "url": "property-photo/f83b7ae77/172089959/f83b7ae779704bc38280fee03efea558.jpeg",
+ "caption": "Dining Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b8077a05a/172089959/b8077a05ad13ed0df8cd07b3941667d9_max_476x317.jpeg",
+ "url": "property-photo/b8077a05a/172089959/b8077a05ad13ed0df8cd07b3941667d9.jpeg",
+ "caption": "Utility Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/331e338fe/172089959/331e338fede2d7c74101f76bac928e8a_max_476x317.jpeg",
+ "url": "property-photo/331e338fe/172089959/331e338fede2d7c74101f76bac928e8a.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bed66c72d/172089959/bed66c72db4dc976d98a387d73dcc1de_max_476x317.jpeg",
+ "url": "property-photo/bed66c72d/172089959/bed66c72db4dc976d98a387d73dcc1de.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/367b04982/172089959/367b04982cad84fddd24bd8045cb2374_max_476x317.jpeg",
+ "url": "property-photo/367b04982/172089959/367b04982cad84fddd24bd8045cb2374.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/934299928/172089959/934299928f7e1497abf744a0f41917b9_max_476x317.jpeg",
+ "url": "property-photo/934299928/172089959/934299928f7e1497abf744a0f41917b9.jpeg",
+ "caption": "Reception Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91ae5dabd/172089959/91ae5dabd108feaf4fd7a649f0a271da_max_476x317.jpeg",
+ "url": "property-photo/91ae5dabd/172089959/91ae5dabd108feaf4fd7a649f0a271da.jpeg",
+ "caption": "Study"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49e464cf0/172089959/49e464cf0ed2e5da82cd1c8734077887_max_476x317.jpeg",
+ "url": "property-photo/49e464cf0/172089959/49e464cf0ed2e5da82cd1c8734077887.jpeg",
+ "caption": "Hallway"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e270cbe26/172089959/e270cbe268b3395f48d78cfba686c055_max_476x317.jpeg",
+ "url": "property-photo/e270cbe26/172089959/e270cbe268b3395f48d78cfba686c055.jpeg",
+ "caption": "WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bb55e0f4b/172089959/bb55e0f4b7689dfa6162f4fdd73f7867_max_476x317.jpeg",
+ "url": "property-photo/bb55e0f4b/172089959/bb55e0f4b7689dfa6162f4fdd73f7867.jpeg",
+ "caption": "Hallway"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b5dc12fa5/172089959/b5dc12fa5449a64ac5c2fc37870b72e8_max_476x317.jpeg",
+ "url": "property-photo/b5dc12fa5/172089959/b5dc12fa5449a64ac5c2fc37870b72e8.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a9a416931/172089959/a9a41693150fe41d19fafa7999554188_max_476x317.jpeg",
+ "url": "property-photo/a9a416931/172089959/a9a41693150fe41d19fafa7999554188.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90c2e1379/172089959/90c2e1379d64195de953b93dd04d8871_max_476x317.jpeg",
+ "url": "property-photo/90c2e1379/172089959/90c2e1379d64195de953b93dd04d8871.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e901b403/172089959/3e901b403dbc12398fc5da8acfa8e913_max_476x317.jpeg",
+ "url": "property-photo/3e901b403/172089959/3e901b403dbc12398fc5da8acfa8e913.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c13bf35e/172089959/6c13bf35e14f37bffbff6ac44c13909b_max_476x317.jpeg",
+ "url": "property-photo/6c13bf35e/172089959/6c13bf35e14f37bffbff6ac44c13909b.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7943c939d/172089959/7943c939d04ae5257564f8b51b20ab47_max_476x317.jpeg",
+ "url": "property-photo/7943c939d/172089959/7943c939d04ae5257564f8b51b20ab47.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d623804de/172089959/d623804dede0dacf207b496bc246085a_max_476x317.jpeg",
+ "url": "property-photo/d623804de/172089959/d623804dede0dacf207b496bc246085a.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ad1abb93/172089959/3ad1abb930146838a06277371ffe59c0_max_476x317.jpeg",
+ "url": "property-photo/3ad1abb93/172089959/3ad1abb930146838a06277371ffe59c0.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc5ea5384/172089959/cc5ea53848fea42502814b11bfeecf2c_max_476x317.jpeg",
+ "url": "property-photo/cc5ea5384/172089959/cc5ea53848fea42502814b11bfeecf2c.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7c022cc26/172089959/7c022cc264366d39ba1d71738b453878_max_476x317.jpeg",
+ "url": "property-photo/7c022cc26/172089959/7c022cc264366d39ba1d71738b453878.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c96ba64a3/172089959/c96ba64a3e6ac79845acfbf14de98418_max_476x317.jpeg",
+ "url": "property-photo/c96ba64a3/172089959/c96ba64a3e6ac79845acfbf14de98418.jpeg",
+ "caption": "Swimming Pool"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/374c999d3/172089959/374c999d363f0e1032db8d203ddb647d_max_476x317.jpeg",
+ "url": "property-photo/374c999d3/172089959/374c999d363f0e1032db8d203ddb647d.jpeg",
+ "caption": "Exterior"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bb5de3c9/172089959/2bb5de3c99f56bce931d9d7bd274c334_max_476x317.jpeg",
+ "url": "property-photo/2bb5de3c9/172089959/2bb5de3c99f56bce931d9d7bd274c334.jpeg",
+ "caption": "Swimming Pool"
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T16:27:05Z"
+ },
+ "price": {
+ "amount": 2100000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,100,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 70202,
+ "brandPlusLogoURI": "/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "contactTelephone": "020 3879 9971",
+ "branchDisplayName": "Petty Son & Prestwich Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Petty Son & Prestwich Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Petty-Son-and-Prestwich-Ltd/London-70202.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-30T17:30:19Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,819 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172089959#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=172089959",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-02-11T16:21:27Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-12T15:05:25Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Large detached residence",
+ "htmlDescription": "Large detached residence"
+ },
+ {
+ "order": 2,
+ "description": "Quiet cul-de-sac location",
+ "htmlDescription": "Quiet cul-de-sac location"
+ },
+ {
+ "order": 3,
+ "description": "Four double bedrooms, two dressing rooms and three bathrooms",
+ "htmlDescription": "Four double bedrooms, two dressing rooms and three bathrooms"
+ },
+ {
+ "order": 4,
+ "description": "Additional ground floor W.C and separate utility room",
+ "htmlDescription": "Additional ground floor W.C and separate utility room"
+ },
+ {
+ "order": 5,
+ "description": "South Westerly garden with heated swimming pool",
+ "htmlDescription": "South Westerly garden with heated swimming pool"
+ },
+ {
+ "order": 6,
+ "description": "Two large formal receptions",
+ "htmlDescription": "Two large formal receptions"
+ },
+ {
+ "order": 7,
+ "description": "Dedicated home office",
+ "htmlDescription": "Dedicated home office"
+ },
+ {
+ "order": 8,
+ "description": "Live in family-kitchen with recently installed island",
+ "htmlDescription": "Live in family-kitchen with recently installed island"
+ },
+ {
+ "order": 9,
+ "description": "Well presented throughout",
+ "htmlDescription": "Well presented throughout"
+ },
+ {
+ "order": 10,
+ "description": "0.3 Miles to Snaresbrook Station and Wanstead High Street",
+ "htmlDescription": "0.3 Miles to Snaresbrook Station and Wanstead High Street"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f_max_476x317.jpeg",
+ "url": "property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f.jpeg",
+ "caption": "Front (Exterior)"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ae2bc5c0/172089959/3ae2bc5c018c69e7507eaee5b7f35177_max_476x317.jpeg",
+ "url": "property-photo/3ae2bc5c0/172089959/3ae2bc5c018c69e7507eaee5b7f35177.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/561ce5b0a/172089959/561ce5b0a921018681be2e959a75213a_max_476x317.jpeg",
+ "url": "property-photo/561ce5b0a/172089959/561ce5b0a921018681be2e959a75213a.jpeg",
+ "caption": "Swimming Pool"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/061a5d5f2/172089959/061a5d5f28f2ec3997ad4dc7233ea34b_max_476x317.jpeg",
+ "url": "property-photo/061a5d5f2/172089959/061a5d5f28f2ec3997ad4dc7233ea34b.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a0750e563/172089959/a0750e563b6b14fbb7c6527206d8c16a_max_476x317.jpeg",
+ "url": "property-photo/a0750e563/172089959/a0750e563b6b14fbb7c6527206d8c16a.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b1ecbcaf5/172089959/b1ecbcaf564bc75a5dbbc09b15b0f4f2_max_476x317.jpeg",
+ "url": "property-photo/b1ecbcaf5/172089959/b1ecbcaf564bc75a5dbbc09b15b0f4f2.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d8515493d/172089959/d8515493d2bcfdb73a0d1dd7bbf70873_max_476x317.jpeg",
+ "url": "property-photo/d8515493d/172089959/d8515493d2bcfdb73a0d1dd7bbf70873.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f83b7ae77/172089959/f83b7ae779704bc38280fee03efea558_max_476x317.jpeg",
+ "url": "property-photo/f83b7ae77/172089959/f83b7ae779704bc38280fee03efea558.jpeg",
+ "caption": "Dining Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b8077a05a/172089959/b8077a05ad13ed0df8cd07b3941667d9_max_476x317.jpeg",
+ "url": "property-photo/b8077a05a/172089959/b8077a05ad13ed0df8cd07b3941667d9.jpeg",
+ "caption": "Utility Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/331e338fe/172089959/331e338fede2d7c74101f76bac928e8a_max_476x317.jpeg",
+ "url": "property-photo/331e338fe/172089959/331e338fede2d7c74101f76bac928e8a.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bed66c72d/172089959/bed66c72db4dc976d98a387d73dcc1de_max_476x317.jpeg",
+ "url": "property-photo/bed66c72d/172089959/bed66c72db4dc976d98a387d73dcc1de.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/367b04982/172089959/367b04982cad84fddd24bd8045cb2374_max_476x317.jpeg",
+ "url": "property-photo/367b04982/172089959/367b04982cad84fddd24bd8045cb2374.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/934299928/172089959/934299928f7e1497abf744a0f41917b9_max_476x317.jpeg",
+ "url": "property-photo/934299928/172089959/934299928f7e1497abf744a0f41917b9.jpeg",
+ "caption": "Reception Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91ae5dabd/172089959/91ae5dabd108feaf4fd7a649f0a271da_max_476x317.jpeg",
+ "url": "property-photo/91ae5dabd/172089959/91ae5dabd108feaf4fd7a649f0a271da.jpeg",
+ "caption": "Study"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49e464cf0/172089959/49e464cf0ed2e5da82cd1c8734077887_max_476x317.jpeg",
+ "url": "property-photo/49e464cf0/172089959/49e464cf0ed2e5da82cd1c8734077887.jpeg",
+ "caption": "Hallway"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e270cbe26/172089959/e270cbe268b3395f48d78cfba686c055_max_476x317.jpeg",
+ "url": "property-photo/e270cbe26/172089959/e270cbe268b3395f48d78cfba686c055.jpeg",
+ "caption": "WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bb55e0f4b/172089959/bb55e0f4b7689dfa6162f4fdd73f7867_max_476x317.jpeg",
+ "url": "property-photo/bb55e0f4b/172089959/bb55e0f4b7689dfa6162f4fdd73f7867.jpeg",
+ "caption": "Hallway"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b5dc12fa5/172089959/b5dc12fa5449a64ac5c2fc37870b72e8_max_476x317.jpeg",
+ "url": "property-photo/b5dc12fa5/172089959/b5dc12fa5449a64ac5c2fc37870b72e8.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a9a416931/172089959/a9a41693150fe41d19fafa7999554188_max_476x317.jpeg",
+ "url": "property-photo/a9a416931/172089959/a9a41693150fe41d19fafa7999554188.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90c2e1379/172089959/90c2e1379d64195de953b93dd04d8871_max_476x317.jpeg",
+ "url": "property-photo/90c2e1379/172089959/90c2e1379d64195de953b93dd04d8871.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e901b403/172089959/3e901b403dbc12398fc5da8acfa8e913_max_476x317.jpeg",
+ "url": "property-photo/3e901b403/172089959/3e901b403dbc12398fc5da8acfa8e913.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c13bf35e/172089959/6c13bf35e14f37bffbff6ac44c13909b_max_476x317.jpeg",
+ "url": "property-photo/6c13bf35e/172089959/6c13bf35e14f37bffbff6ac44c13909b.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7943c939d/172089959/7943c939d04ae5257564f8b51b20ab47_max_476x317.jpeg",
+ "url": "property-photo/7943c939d/172089959/7943c939d04ae5257564f8b51b20ab47.jpeg",
+ "caption": "Living Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d623804de/172089959/d623804dede0dacf207b496bc246085a_max_476x317.jpeg",
+ "url": "property-photo/d623804de/172089959/d623804dede0dacf207b496bc246085a.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ad1abb93/172089959/3ad1abb930146838a06277371ffe59c0_max_476x317.jpeg",
+ "url": "property-photo/3ad1abb93/172089959/3ad1abb930146838a06277371ffe59c0.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc5ea5384/172089959/cc5ea53848fea42502814b11bfeecf2c_max_476x317.jpeg",
+ "url": "property-photo/cc5ea5384/172089959/cc5ea53848fea42502814b11bfeecf2c.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7c022cc26/172089959/7c022cc264366d39ba1d71738b453878_max_476x317.jpeg",
+ "url": "property-photo/7c022cc26/172089959/7c022cc264366d39ba1d71738b453878.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c96ba64a3/172089959/c96ba64a3e6ac79845acfbf14de98418_max_476x317.jpeg",
+ "url": "property-photo/c96ba64a3/172089959/c96ba64a3e6ac79845acfbf14de98418.jpeg",
+ "caption": "Swimming Pool"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/374c999d3/172089959/374c999d363f0e1032db8d203ddb647d_max_476x317.jpeg",
+ "url": "property-photo/374c999d3/172089959/374c999d363f0e1032db8d203ddb647d.jpeg",
+ "caption": "Exterior"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bb5de3c9/172089959/2bb5de3c99f56bce931d9d7bd274c334_max_476x317.jpeg",
+ "url": "property-photo/2bb5de3c9/172089959/2bb5de3c99f56bce931d9d7bd274c334.jpeg",
+ "caption": "Swimming Pool"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd10297c7/172089959/dd10297c7c18fc28f9372f57d5c1310f_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Petty Son & Prestwich Ltd, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 169211177,
+ "bedrooms": 3,
+ "bathrooms": 2,
+ "numberOfImages": 22,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Nestled in the heart of central Wanstead, a mere 0.2 miles from the vibrant High Street, this elegant detached residence occupies an enviable position on Grove Park, which is unquestionably one of Wanstead’s most prestigious and sought-after addresses.",
+ "displayAddress": "Grove Park, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.578678, "longitude": 0.029427 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae_max_476x317.jpeg",
+ "url": "property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d149cca4/169211177/3d149cca446cfc2448b083004bee3e57_max_476x317.jpeg",
+ "url": "property-photo/3d149cca4/169211177/3d149cca446cfc2448b083004bee3e57.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b8eae19a/169211177/5b8eae19a7caebf30d81b38858d3b872_max_476x317.jpeg",
+ "url": "property-photo/5b8eae19a/169211177/5b8eae19a7caebf30d81b38858d3b872.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/321e1328a/169211177/321e1328aae8346cf436c5b96fff1317_max_476x317.jpeg",
+ "url": "property-photo/321e1328a/169211177/321e1328aae8346cf436c5b96fff1317.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94dd5566a/169211177/94dd5566a8ae76bfe0160baebbe6b7bc_max_476x317.jpeg",
+ "url": "property-photo/94dd5566a/169211177/94dd5566a8ae76bfe0160baebbe6b7bc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/416a18912/169211177/416a18912e5447cb27bc27117574c43b_max_476x317.jpeg",
+ "url": "property-photo/416a18912/169211177/416a18912e5447cb27bc27117574c43b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9dda5caa1/169211177/9dda5caa17ccdbceaba66c39ff178e7d_max_476x317.jpeg",
+ "url": "property-photo/9dda5caa1/169211177/9dda5caa17ccdbceaba66c39ff178e7d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c88d81977/169211177/c88d81977b2bf5e18659d5682d031e54_max_476x317.jpeg",
+ "url": "property-photo/c88d81977/169211177/c88d81977b2bf5e18659d5682d031e54.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/529a6f5d4/169211177/529a6f5d4a04bd1137e6725a10307789_max_476x317.jpeg",
+ "url": "property-photo/529a6f5d4/169211177/529a6f5d4a04bd1137e6725a10307789.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b2323f18/169211177/2b2323f1801cb08daaa06911bb1e839b_max_476x317.jpeg",
+ "url": "property-photo/2b2323f18/169211177/2b2323f1801cb08daaa06911bb1e839b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ed1b604e/169211177/5ed1b604e66f4a6859ddfad4426aa799_max_476x317.jpeg",
+ "url": "property-photo/5ed1b604e/169211177/5ed1b604e66f4a6859ddfad4426aa799.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6aff926b3/169211177/6aff926b3c9cf16b63068d1abe79bb63_max_476x317.jpeg",
+ "url": "property-photo/6aff926b3/169211177/6aff926b3c9cf16b63068d1abe79bb63.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b073cf5a2/169211177/b073cf5a290775008e3840f1837f89f7_max_476x317.jpeg",
+ "url": "property-photo/b073cf5a2/169211177/b073cf5a290775008e3840f1837f89f7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/942947835/169211177/942947835a5d58b2d0428167e2142294_max_476x317.jpeg",
+ "url": "property-photo/942947835/169211177/942947835a5d58b2d0428167e2142294.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2919927a/169211177/a2919927aa7b94da2d45016a474c6df1_max_476x317.jpeg",
+ "url": "property-photo/a2919927a/169211177/a2919927aa7b94da2d45016a474c6df1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c7c43999/169211177/3c7c43999b8394e437f514d68c79716c_max_476x317.jpeg",
+ "url": "property-photo/3c7c43999/169211177/3c7c43999b8394e437f514d68c79716c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d27488be6/169211177/d27488be6910bfe568efffbcdbfed94f_max_476x317.jpeg",
+ "url": "property-photo/d27488be6/169211177/d27488be6910bfe568efffbcdbfed94f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d40f51b8/169211177/3d40f51b89a8620fb2e7dd4c56e07e6b_max_476x317.jpeg",
+ "url": "property-photo/3d40f51b8/169211177/3d40f51b89a8620fb2e7dd4c56e07e6b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2ccc9dafb/169211177/2ccc9dafb5a298eff6e863bf2fe90878_max_476x317.jpeg",
+ "url": "property-photo/2ccc9dafb/169211177/2ccc9dafb5a298eff6e863bf2fe90878.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8333d24ce/169211177/8333d24ce109319f050e852b8ba32930_max_476x317.jpeg",
+ "url": "property-photo/8333d24ce/169211177/8333d24ce109319f050e852b8ba32930.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/01298c574/169211177/01298c574323322fa5246c8f27a7987d_max_476x317.jpeg",
+ "url": "property-photo/01298c574/169211177/01298c574323322fa5246c8f27a7987d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1de91b001/169211177/1de91b0012375f2721d73e603195e711_max_476x317.jpeg",
+ "url": "property-photo/1de91b001/169211177/1de91b0012375f2721d73e603195e711.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-11-11T10:00:06Z"
+ },
+ "price": {
+ "amount": 2050000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,050,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 70202,
+ "brandPlusLogoURI": "/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "contactTelephone": "020 3879 9971",
+ "branchDisplayName": "Petty Son & Prestwich Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Petty Son & Prestwich Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Petty-Son-and-Prestwich-Ltd/London-70202.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-30T17:30:19Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,752 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/169211177#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=169211177",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-11-11T09:55:03Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T15:43:42Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Three double bedroom detached house",
+ "htmlDescription": "Three double bedroom detached house"
+ },
+ {
+ "order": 2,
+ "description": "One of Wanstead's most prestigious roads",
+ "htmlDescription": "One of Wanstead's most prestigious roads"
+ },
+ {
+ "order": 3,
+ "description": "Central Wanstead location",
+ "htmlDescription": "Central Wanstead location"
+ },
+ {
+ "order": 4,
+ "description": "Large garden",
+ "htmlDescription": "Large garden"
+ },
+ {
+ "order": 5,
+ "description": "Exceptional extension potential (STPP)",
+ "htmlDescription": "Exceptional extension potential (STPP)"
+ },
+ {
+ "order": 6,
+ "description": "0.4 miles to Wanstead Underground Station",
+ "htmlDescription": "0.4 miles to Wanstead Underground Station"
+ },
+ {
+ "order": 7,
+ "description": "Chain free",
+ "htmlDescription": "Chain free"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae_max_476x317.jpeg",
+ "url": "property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d149cca4/169211177/3d149cca446cfc2448b083004bee3e57_max_476x317.jpeg",
+ "url": "property-photo/3d149cca4/169211177/3d149cca446cfc2448b083004bee3e57.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b8eae19a/169211177/5b8eae19a7caebf30d81b38858d3b872_max_476x317.jpeg",
+ "url": "property-photo/5b8eae19a/169211177/5b8eae19a7caebf30d81b38858d3b872.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/321e1328a/169211177/321e1328aae8346cf436c5b96fff1317_max_476x317.jpeg",
+ "url": "property-photo/321e1328a/169211177/321e1328aae8346cf436c5b96fff1317.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94dd5566a/169211177/94dd5566a8ae76bfe0160baebbe6b7bc_max_476x317.jpeg",
+ "url": "property-photo/94dd5566a/169211177/94dd5566a8ae76bfe0160baebbe6b7bc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/416a18912/169211177/416a18912e5447cb27bc27117574c43b_max_476x317.jpeg",
+ "url": "property-photo/416a18912/169211177/416a18912e5447cb27bc27117574c43b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9dda5caa1/169211177/9dda5caa17ccdbceaba66c39ff178e7d_max_476x317.jpeg",
+ "url": "property-photo/9dda5caa1/169211177/9dda5caa17ccdbceaba66c39ff178e7d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c88d81977/169211177/c88d81977b2bf5e18659d5682d031e54_max_476x317.jpeg",
+ "url": "property-photo/c88d81977/169211177/c88d81977b2bf5e18659d5682d031e54.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/529a6f5d4/169211177/529a6f5d4a04bd1137e6725a10307789_max_476x317.jpeg",
+ "url": "property-photo/529a6f5d4/169211177/529a6f5d4a04bd1137e6725a10307789.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b2323f18/169211177/2b2323f1801cb08daaa06911bb1e839b_max_476x317.jpeg",
+ "url": "property-photo/2b2323f18/169211177/2b2323f1801cb08daaa06911bb1e839b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ed1b604e/169211177/5ed1b604e66f4a6859ddfad4426aa799_max_476x317.jpeg",
+ "url": "property-photo/5ed1b604e/169211177/5ed1b604e66f4a6859ddfad4426aa799.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6aff926b3/169211177/6aff926b3c9cf16b63068d1abe79bb63_max_476x317.jpeg",
+ "url": "property-photo/6aff926b3/169211177/6aff926b3c9cf16b63068d1abe79bb63.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b073cf5a2/169211177/b073cf5a290775008e3840f1837f89f7_max_476x317.jpeg",
+ "url": "property-photo/b073cf5a2/169211177/b073cf5a290775008e3840f1837f89f7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/942947835/169211177/942947835a5d58b2d0428167e2142294_max_476x317.jpeg",
+ "url": "property-photo/942947835/169211177/942947835a5d58b2d0428167e2142294.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2919927a/169211177/a2919927aa7b94da2d45016a474c6df1_max_476x317.jpeg",
+ "url": "property-photo/a2919927a/169211177/a2919927aa7b94da2d45016a474c6df1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c7c43999/169211177/3c7c43999b8394e437f514d68c79716c_max_476x317.jpeg",
+ "url": "property-photo/3c7c43999/169211177/3c7c43999b8394e437f514d68c79716c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d27488be6/169211177/d27488be6910bfe568efffbcdbfed94f_max_476x317.jpeg",
+ "url": "property-photo/d27488be6/169211177/d27488be6910bfe568efffbcdbfed94f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d40f51b8/169211177/3d40f51b89a8620fb2e7dd4c56e07e6b_max_476x317.jpeg",
+ "url": "property-photo/3d40f51b8/169211177/3d40f51b89a8620fb2e7dd4c56e07e6b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2ccc9dafb/169211177/2ccc9dafb5a298eff6e863bf2fe90878_max_476x317.jpeg",
+ "url": "property-photo/2ccc9dafb/169211177/2ccc9dafb5a298eff6e863bf2fe90878.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8333d24ce/169211177/8333d24ce109319f050e852b8ba32930_max_476x317.jpeg",
+ "url": "property-photo/8333d24ce/169211177/8333d24ce109319f050e852b8ba32930.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/01298c574/169211177/01298c574323322fa5246c8f27a7987d_max_476x317.jpeg",
+ "url": "property-photo/01298c574/169211177/01298c574323322fa5246c8f27a7987d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1de91b001/169211177/1de91b0012375f2721d73e603195e711_max_476x317.jpeg",
+ "url": "property-photo/1de91b001/169211177/1de91b0012375f2721d73e603195e711.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c6fd46c9/169211177/5c6fd46c99823a72235a67c3ec3bb1ae_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Petty Son & Prestwich Ltd, London",
+ "addedOrReduced": "Added on 11/11/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "3 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 166498460,
+ "bedrooms": 4,
+ "bathrooms": 1,
+ "numberOfImages": 20,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Set on a generous plot in a desirable residential enclave, this four-bedroom freehold house is brimming with possibility. The rear garden stretches approximately forty-five metres—an extraordinary expanse that opens up endless opportunities for landscaping, extension, or outdoor living. Off-stree...",
+ "displayAddress": "The Avenue, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.577621, "longitude": 0.028639 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4_max_476x317.jpeg",
+ "url": "property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ece8e69a1/166498460/ece8e69a140978a60dcb98f0cee39c4c_max_476x317.jpeg",
+ "url": "property-photo/ece8e69a1/166498460/ece8e69a140978a60dcb98f0cee39c4c.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7286bb53a/166498460/7286bb53a69de51bddfe0afe1648d884_max_476x317.jpeg",
+ "url": "property-photo/7286bb53a/166498460/7286bb53a69de51bddfe0afe1648d884.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6cb95800/166498460/b6cb958009e3b58c957895cbd486ce0b_max_476x317.jpeg",
+ "url": "property-photo/b6cb95800/166498460/b6cb958009e3b58c957895cbd486ce0b.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d6b2ae76a/166498460/d6b2ae76adad781b42720e0295d8b383_max_476x317.jpeg",
+ "url": "property-photo/d6b2ae76a/166498460/d6b2ae76adad781b42720e0295d8b383.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d1f729c2e/166498460/d1f729c2e7a881276c7caa746f8bd975_max_476x317.jpeg",
+ "url": "property-photo/d1f729c2e/166498460/d1f729c2e7a881276c7caa746f8bd975.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db1a129ea/166498460/db1a129eaa2f341ab37d4823f1c979e7_max_476x317.jpeg",
+ "url": "property-photo/db1a129ea/166498460/db1a129eaa2f341ab37d4823f1c979e7.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54443155d/166498460/54443155dc6ebe555e5cc4f01f735108_max_476x317.jpeg",
+ "url": "property-photo/54443155d/166498460/54443155dc6ebe555e5cc4f01f735108.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6695a606/166498460/b6695a60633503dc3cf175e82839afd6_max_476x317.jpeg",
+ "url": "property-photo/b6695a606/166498460/b6695a60633503dc3cf175e82839afd6.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ff803686/166498460/3ff803686fb9a230c66a8f8bf71fda12_max_476x317.jpeg",
+ "url": "property-photo/3ff803686/166498460/3ff803686fb9a230c66a8f8bf71fda12.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6e662b11a/166498460/6e662b11a9b735ed5aedf6288b38e985_max_476x317.jpeg",
+ "url": "property-photo/6e662b11a/166498460/6e662b11a9b735ed5aedf6288b38e985.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c0400b6ba/166498460/c0400b6ba049ba1f56b7b4b72d215ab8_max_476x317.jpeg",
+ "url": "property-photo/c0400b6ba/166498460/c0400b6ba049ba1f56b7b4b72d215ab8.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7b138591/166498460/d7b1385912cdb2ac7cee1444d0cc5cff_max_476x317.jpeg",
+ "url": "property-photo/d7b138591/166498460/d7b1385912cdb2ac7cee1444d0cc5cff.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/32f76323a/166498460/32f76323aaf610499e7ec934e5d71245_max_476x317.jpeg",
+ "url": "property-photo/32f76323a/166498460/32f76323aaf610499e7ec934e5d71245.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b1e629e6/166498460/0b1e629e6354b4290989d19b1a3ccfa8_max_476x317.jpeg",
+ "url": "property-photo/0b1e629e6/166498460/0b1e629e6354b4290989d19b1a3ccfa8.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9864805d8/166498460/9864805d8d278b28c15622a4a2ececcd_max_476x317.jpeg",
+ "url": "property-photo/9864805d8/166498460/9864805d8d278b28c15622a4a2ececcd.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8acb12ab1/166498460/8acb12ab1f4e99e160900c0c4007050f_max_476x317.jpeg",
+ "url": "property-photo/8acb12ab1/166498460/8acb12ab1f4e99e160900c0c4007050f.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da2e414a0/166498460/da2e414a09f1f12b1b1546f708023881_max_476x317.jpeg",
+ "url": "property-photo/da2e414a0/166498460/da2e414a09f1f12b1b1546f708023881.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d366fff9b/166498460/d366fff9bbdbf081d44b86f5361c6d40_max_476x317.jpeg",
+ "url": "property-photo/d366fff9b/166498460/d366fff9bbdbf081d44b86f5361c6d40.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa52f4a4b/166498460/fa52f4a4b630f494ef4aef8de6b484ed_max_476x317.jpeg",
+ "url": "property-photo/fa52f4a4b/166498460/fa52f4a4b630f494ef4aef8de6b484ed.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-09-02T15:53:04Z"
+ },
+ "price": {
+ "amount": 2000000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,000,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 171122,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_49357_0001.png",
+ "contactTelephone": "020 3907 3713",
+ "branchDisplayName": "The Stow Brothers, Wanstead & Leytonstone",
+ "branchName": "Wanstead & Leytonstone",
+ "brandTradingName": "The Stow Brothers",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Stow-Brothers/Wanstead-and-Leytonstone-171122.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-19T10:05:05Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_49357_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "1,963 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/166498460#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=166498460",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-09-02T15:47:53Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-10-14T12:22:59Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Four Bedroom Freehold House",
+ "htmlDescription": "Four Bedroom Freehold House"
+ },
+ {
+ "order": 2,
+ "description": "Prestigious Location",
+ "htmlDescription": "Prestigious Location"
+ },
+ {
+ "order": 3,
+ "description": "Large Plot Perfect for Re-Development",
+ "htmlDescription": "Large Plot Perfect for Re-Development"
+ },
+ {
+ "order": 4,
+ "description": "Huge Rear Garden",
+ "htmlDescription": "Huge Rear Garden"
+ },
+ {
+ "order": 5,
+ "description": "Parking for Several Cars",
+ "htmlDescription": "Parking for Several Cars"
+ },
+ {
+ "order": 6,
+ "description": "Offered Chain Free",
+ "htmlDescription": "Offered Chain Free"
+ },
+ {
+ "order": 7,
+ "description": "Close to Tube Station & Wanstead High Street",
+ "htmlDescription": "Close to Tube Station & Wanstead High Street"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4_max_476x317.jpeg",
+ "url": "property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ece8e69a1/166498460/ece8e69a140978a60dcb98f0cee39c4c_max_476x317.jpeg",
+ "url": "property-photo/ece8e69a1/166498460/ece8e69a140978a60dcb98f0cee39c4c.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7286bb53a/166498460/7286bb53a69de51bddfe0afe1648d884_max_476x317.jpeg",
+ "url": "property-photo/7286bb53a/166498460/7286bb53a69de51bddfe0afe1648d884.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6cb95800/166498460/b6cb958009e3b58c957895cbd486ce0b_max_476x317.jpeg",
+ "url": "property-photo/b6cb95800/166498460/b6cb958009e3b58c957895cbd486ce0b.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d6b2ae76a/166498460/d6b2ae76adad781b42720e0295d8b383_max_476x317.jpeg",
+ "url": "property-photo/d6b2ae76a/166498460/d6b2ae76adad781b42720e0295d8b383.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d1f729c2e/166498460/d1f729c2e7a881276c7caa746f8bd975_max_476x317.jpeg",
+ "url": "property-photo/d1f729c2e/166498460/d1f729c2e7a881276c7caa746f8bd975.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db1a129ea/166498460/db1a129eaa2f341ab37d4823f1c979e7_max_476x317.jpeg",
+ "url": "property-photo/db1a129ea/166498460/db1a129eaa2f341ab37d4823f1c979e7.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54443155d/166498460/54443155dc6ebe555e5cc4f01f735108_max_476x317.jpeg",
+ "url": "property-photo/54443155d/166498460/54443155dc6ebe555e5cc4f01f735108.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6695a606/166498460/b6695a60633503dc3cf175e82839afd6_max_476x317.jpeg",
+ "url": "property-photo/b6695a606/166498460/b6695a60633503dc3cf175e82839afd6.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ff803686/166498460/3ff803686fb9a230c66a8f8bf71fda12_max_476x317.jpeg",
+ "url": "property-photo/3ff803686/166498460/3ff803686fb9a230c66a8f8bf71fda12.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6e662b11a/166498460/6e662b11a9b735ed5aedf6288b38e985_max_476x317.jpeg",
+ "url": "property-photo/6e662b11a/166498460/6e662b11a9b735ed5aedf6288b38e985.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c0400b6ba/166498460/c0400b6ba049ba1f56b7b4b72d215ab8_max_476x317.jpeg",
+ "url": "property-photo/c0400b6ba/166498460/c0400b6ba049ba1f56b7b4b72d215ab8.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7b138591/166498460/d7b1385912cdb2ac7cee1444d0cc5cff_max_476x317.jpeg",
+ "url": "property-photo/d7b138591/166498460/d7b1385912cdb2ac7cee1444d0cc5cff.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/32f76323a/166498460/32f76323aaf610499e7ec934e5d71245_max_476x317.jpeg",
+ "url": "property-photo/32f76323a/166498460/32f76323aaf610499e7ec934e5d71245.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b1e629e6/166498460/0b1e629e6354b4290989d19b1a3ccfa8_max_476x317.jpeg",
+ "url": "property-photo/0b1e629e6/166498460/0b1e629e6354b4290989d19b1a3ccfa8.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9864805d8/166498460/9864805d8d278b28c15622a4a2ececcd_max_476x317.jpeg",
+ "url": "property-photo/9864805d8/166498460/9864805d8d278b28c15622a4a2ececcd.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8acb12ab1/166498460/8acb12ab1f4e99e160900c0c4007050f_max_476x317.jpeg",
+ "url": "property-photo/8acb12ab1/166498460/8acb12ab1f4e99e160900c0c4007050f.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da2e414a0/166498460/da2e414a09f1f12b1b1546f708023881_max_476x317.jpeg",
+ "url": "property-photo/da2e414a0/166498460/da2e414a09f1f12b1b1546f708023881.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d366fff9b/166498460/d366fff9bbdbf081d44b86f5361c6d40_max_476x317.jpeg",
+ "url": "property-photo/d366fff9b/166498460/d366fff9bbdbf081d44b86f5361c6d40.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa52f4a4b/166498460/fa52f4a4b630f494ef4aef8de6b484ed_max_476x317.jpeg",
+ "url": "property-photo/fa52f4a4b/166498460/fa52f4a4b630f494ef4aef8de6b484ed.jpeg",
+ "caption": "Tudor Lodge, The Avenue, E11"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/910049949/166498460/910049949e07523a9d35522e9ec371b4_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Stow Brothers, Wanstead & Leytonstone",
+ "addedOrReduced": "Added on 02/09/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 162984056,
+ "bedrooms": 6,
+ "bathrooms": 4,
+ "numberOfImages": 30,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "This spectacular, 6-bedroom, semi-detached period house is located in the heart of Wanstead and boasts tranquil, picturesque views out to the Wanstead Golf Course. Spanning over 3,000 sq ft of internal living space, this exceptional house is situated over three floors, the ground floor offerin...",
+ "displayAddress": "Overton Drive, London E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.57033, "longitude": 0.026447 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2_max_476x317.jpeg",
+ "url": "property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2.jpeg",
+ "caption": "Photo 30"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c7f0d4374/162984056/c7f0d4374e0fcf2b89137592c49f65ec_max_476x317.jpeg",
+ "url": "property-photo/c7f0d4374/162984056/c7f0d4374e0fcf2b89137592c49f65ec.jpeg",
+ "caption": "Photo 31"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c379cf279/162984056/c379cf279632b634419fcdd56601e736_max_476x317.jpeg",
+ "url": "property-photo/c379cf279/162984056/c379cf279632b634419fcdd56601e736.jpeg",
+ "caption": "Photo 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b5389776/162984056/2b538977624839a16fbe17588fdf0928_max_476x317.jpeg",
+ "url": "property-photo/2b5389776/162984056/2b538977624839a16fbe17588fdf0928.jpeg",
+ "caption": "Photo 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f28545b1/162984056/7f28545b175195ff4acf20c2ceaf64d2_max_476x317.jpeg",
+ "url": "property-photo/7f28545b1/162984056/7f28545b175195ff4acf20c2ceaf64d2.jpeg",
+ "caption": "Photo 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c44663d6/162984056/8c44663d686f22eaea62dfc180c87b57_max_476x317.jpeg",
+ "url": "property-photo/8c44663d6/162984056/8c44663d686f22eaea62dfc180c87b57.jpeg",
+ "caption": "Photo 16"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4af2a1537/162984056/4af2a153702f9dd5bda0908780957acd_max_476x317.jpeg",
+ "url": "property-photo/4af2a1537/162984056/4af2a153702f9dd5bda0908780957acd.jpeg",
+ "caption": "Photo 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f9e789ce/162984056/6f9e789cee3e978e9e714e18dec5ce65_max_476x317.jpeg",
+ "url": "property-photo/6f9e789ce/162984056/6f9e789cee3e978e9e714e18dec5ce65.jpeg",
+ "caption": "Photo 19"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b03f833aa/162984056/b03f833aabdf4fc2732eabc0a48a2be8_max_476x317.jpeg",
+ "url": "property-photo/b03f833aa/162984056/b03f833aabdf4fc2732eabc0a48a2be8.jpeg",
+ "caption": "Photo 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/835db2039/162984056/835db2039985868d58e7eb7ad1fad21f_max_476x317.jpeg",
+ "url": "property-photo/835db2039/162984056/835db2039985868d58e7eb7ad1fad21f.jpeg",
+ "caption": "Photo 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49173e098/162984056/49173e098947f3d15e6d70a5bc31ebd8_max_476x317.jpeg",
+ "url": "property-photo/49173e098/162984056/49173e098947f3d15e6d70a5bc31ebd8.jpeg",
+ "caption": "Photo 24"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b1c55ae36/162984056/b1c55ae36c3c6754cb55f1f49f05f727_max_476x317.jpeg",
+ "url": "property-photo/b1c55ae36/162984056/b1c55ae36c3c6754cb55f1f49f05f727.jpeg",
+ "caption": "Photo 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e942045be/162984056/e942045be6bb58366a24584b1bfffdd1_max_476x317.jpeg",
+ "url": "property-photo/e942045be/162984056/e942045be6bb58366a24584b1bfffdd1.jpeg",
+ "caption": "Photo 9"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/daf990af7/162984056/daf990af7041ebf2668e0d3977abe077_max_476x317.jpeg",
+ "url": "property-photo/daf990af7/162984056/daf990af7041ebf2668e0d3977abe077.jpeg",
+ "caption": "Photo 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/488478280/162984056/48847828089ec23fd852d962d9b6b2a9_max_476x317.jpeg",
+ "url": "property-photo/488478280/162984056/48847828089ec23fd852d962d9b6b2a9.jpeg",
+ "caption": "Photo 23"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46f724ac8/162984056/46f724ac800625839dc232e39634a223_max_476x317.jpeg",
+ "url": "property-photo/46f724ac8/162984056/46f724ac800625839dc232e39634a223.jpeg",
+ "caption": "Photo 26"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ceb99134e/162984056/ceb99134ed86e907ffa2f8d19f601da0_max_476x317.jpeg",
+ "url": "property-photo/ceb99134e/162984056/ceb99134ed86e907ffa2f8d19f601da0.jpeg",
+ "caption": "Photo 25"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/85a3d53f0/162984056/85a3d53f0b4cf5c9da5066d02b3b0890_max_476x317.jpeg",
+ "url": "property-photo/85a3d53f0/162984056/85a3d53f0b4cf5c9da5066d02b3b0890.jpeg",
+ "caption": "Photo 5"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/728adc458/162984056/728adc45831a8b2d10e1522496196077_max_476x317.jpeg",
+ "url": "property-photo/728adc458/162984056/728adc45831a8b2d10e1522496196077.jpeg",
+ "caption": "Photo 6"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5df752fe6/162984056/5df752fe6cdbe5f7d8080e253e6c7c0c_max_476x317.jpeg",
+ "url": "property-photo/5df752fe6/162984056/5df752fe6cdbe5f7d8080e253e6c7c0c.jpeg",
+ "caption": "Photo 8"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd4957808/162984056/bd4957808fbddfd9ac24d952bb092a84_max_476x317.jpeg",
+ "url": "property-photo/bd4957808/162984056/bd4957808fbddfd9ac24d952bb092a84.jpeg",
+ "caption": "Photo 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b46021302/162984056/b46021302cce4bc0c4b506c42a935ef1_max_476x317.jpeg",
+ "url": "property-photo/b46021302/162984056/b46021302cce4bc0c4b506c42a935ef1.jpeg",
+ "caption": "Photo 20"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbb3eaa78/162984056/bbb3eaa785a99d70cc5423628cccbc08_max_476x317.jpeg",
+ "url": "property-photo/bbb3eaa78/162984056/bbb3eaa785a99d70cc5423628cccbc08.jpeg",
+ "caption": "Photo 28"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c7fc6da31/162984056/c7fc6da316c92eecaeb3e563c62f7b3d_max_476x317.jpeg",
+ "url": "property-photo/c7fc6da31/162984056/c7fc6da316c92eecaeb3e563c62f7b3d.jpeg",
+ "caption": "Photo 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/97d0b2e93/162984056/97d0b2e93a69d5577f756a37b7425bfc_max_476x317.jpeg",
+ "url": "property-photo/97d0b2e93/162984056/97d0b2e93a69d5577f756a37b7425bfc.jpeg",
+ "caption": "Photo 18"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e14a9290c/162984056/e14a9290cdfe2e56fff4f6ac3df2a021_max_476x317.jpeg",
+ "url": "property-photo/e14a9290c/162984056/e14a9290cdfe2e56fff4f6ac3df2a021.jpeg",
+ "caption": "Photo 7"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ab3cdf8d/162984056/3ab3cdf8d57362b888cee4f37d769bd9_max_476x317.jpeg",
+ "url": "property-photo/3ab3cdf8d/162984056/3ab3cdf8d57362b888cee4f37d769bd9.jpeg",
+ "caption": "Photo 27"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ad04f664/162984056/5ad04f6649efd09a6401cbf02b24a41c_max_476x317.jpeg",
+ "url": "property-photo/5ad04f664/162984056/5ad04f6649efd09a6401cbf02b24a41c.jpeg",
+ "caption": "Photo 30"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/048bee57e/162984056/048bee57e21b40d94af1f325421c37c9_max_476x317.jpeg",
+ "url": "property-photo/048bee57e/162984056/048bee57e21b40d94af1f325421c37c9.jpeg",
+ "caption": "Photo 29"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c725f584/162984056/5c725f584f045f310627fb72c2c17089_max_476x317.jpeg",
+ "url": "property-photo/5c725f584/162984056/5c725f584f045f310627fb72c2c17089.jpeg",
+ "caption": "Photo 29"
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-01-19T21:26:34Z"
+ },
+ "price": {
+ "amount": 1700000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,700,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 103550,
+ "brandPlusLogoURI": "/104k/103550/branch_rmchoice_logo_103550_0001.png",
+ "contactTelephone": "020 3835 4829",
+ "branchDisplayName": "Alexander David Property, London",
+ "branchName": "London",
+ "brandTradingName": "Alexander David Property",
+ "branchLandingPageUrl": "/estate-agents/agent/Alexander-David-Property/London-103550.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-06T23:41:16Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/104k/103550/branch_rmchoice_logo_103550_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/162984056#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=162984056",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-06-06T18:16:43Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-01-19T21:26:36Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Immaculate 6 Bedroom House",
+ "htmlDescription": "Immaculate 6 Bedroom House"
+ },
+ {
+ "order": 2,
+ "description": "3000+ Square Feet",
+ "htmlDescription": "3000+ Square Feet"
+ },
+ {
+ "order": 3,
+ "description": "4 Bathrooms (3 En suites)",
+ "htmlDescription": "4 Bathrooms (3 En suites)"
+ },
+ {
+ "order": 4,
+ "description": "Grand Period Property",
+ "htmlDescription": "Grand Period Property"
+ },
+ {
+ "order": 5,
+ "description": "Original Features Reinstated",
+ "htmlDescription": "Original Features Reinstated"
+ },
+ {
+ "order": 6,
+ "description": "Overlooking Wanstead Golf Course",
+ "htmlDescription": "Overlooking Wanstead Golf Course"
+ },
+ {
+ "order": 7,
+ "description": "Stunning Landscaped Rear Garden",
+ "htmlDescription": "Stunning Landscaped Rear Garden"
+ },
+ {
+ "order": 8,
+ "description": "Off Street Parking for 3 Cars",
+ "htmlDescription": "Off Street Parking for 3 Cars"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2_max_476x317.jpeg",
+ "url": "property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2.jpeg",
+ "caption": "Photo 30"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c7f0d4374/162984056/c7f0d4374e0fcf2b89137592c49f65ec_max_476x317.jpeg",
+ "url": "property-photo/c7f0d4374/162984056/c7f0d4374e0fcf2b89137592c49f65ec.jpeg",
+ "caption": "Photo 31"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c379cf279/162984056/c379cf279632b634419fcdd56601e736_max_476x317.jpeg",
+ "url": "property-photo/c379cf279/162984056/c379cf279632b634419fcdd56601e736.jpeg",
+ "caption": "Photo 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b5389776/162984056/2b538977624839a16fbe17588fdf0928_max_476x317.jpeg",
+ "url": "property-photo/2b5389776/162984056/2b538977624839a16fbe17588fdf0928.jpeg",
+ "caption": "Photo 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f28545b1/162984056/7f28545b175195ff4acf20c2ceaf64d2_max_476x317.jpeg",
+ "url": "property-photo/7f28545b1/162984056/7f28545b175195ff4acf20c2ceaf64d2.jpeg",
+ "caption": "Photo 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c44663d6/162984056/8c44663d686f22eaea62dfc180c87b57_max_476x317.jpeg",
+ "url": "property-photo/8c44663d6/162984056/8c44663d686f22eaea62dfc180c87b57.jpeg",
+ "caption": "Photo 16"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4af2a1537/162984056/4af2a153702f9dd5bda0908780957acd_max_476x317.jpeg",
+ "url": "property-photo/4af2a1537/162984056/4af2a153702f9dd5bda0908780957acd.jpeg",
+ "caption": "Photo 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f9e789ce/162984056/6f9e789cee3e978e9e714e18dec5ce65_max_476x317.jpeg",
+ "url": "property-photo/6f9e789ce/162984056/6f9e789cee3e978e9e714e18dec5ce65.jpeg",
+ "caption": "Photo 19"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b03f833aa/162984056/b03f833aabdf4fc2732eabc0a48a2be8_max_476x317.jpeg",
+ "url": "property-photo/b03f833aa/162984056/b03f833aabdf4fc2732eabc0a48a2be8.jpeg",
+ "caption": "Photo 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/835db2039/162984056/835db2039985868d58e7eb7ad1fad21f_max_476x317.jpeg",
+ "url": "property-photo/835db2039/162984056/835db2039985868d58e7eb7ad1fad21f.jpeg",
+ "caption": "Photo 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49173e098/162984056/49173e098947f3d15e6d70a5bc31ebd8_max_476x317.jpeg",
+ "url": "property-photo/49173e098/162984056/49173e098947f3d15e6d70a5bc31ebd8.jpeg",
+ "caption": "Photo 24"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b1c55ae36/162984056/b1c55ae36c3c6754cb55f1f49f05f727_max_476x317.jpeg",
+ "url": "property-photo/b1c55ae36/162984056/b1c55ae36c3c6754cb55f1f49f05f727.jpeg",
+ "caption": "Photo 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e942045be/162984056/e942045be6bb58366a24584b1bfffdd1_max_476x317.jpeg",
+ "url": "property-photo/e942045be/162984056/e942045be6bb58366a24584b1bfffdd1.jpeg",
+ "caption": "Photo 9"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/daf990af7/162984056/daf990af7041ebf2668e0d3977abe077_max_476x317.jpeg",
+ "url": "property-photo/daf990af7/162984056/daf990af7041ebf2668e0d3977abe077.jpeg",
+ "caption": "Photo 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/488478280/162984056/48847828089ec23fd852d962d9b6b2a9_max_476x317.jpeg",
+ "url": "property-photo/488478280/162984056/48847828089ec23fd852d962d9b6b2a9.jpeg",
+ "caption": "Photo 23"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46f724ac8/162984056/46f724ac800625839dc232e39634a223_max_476x317.jpeg",
+ "url": "property-photo/46f724ac8/162984056/46f724ac800625839dc232e39634a223.jpeg",
+ "caption": "Photo 26"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ceb99134e/162984056/ceb99134ed86e907ffa2f8d19f601da0_max_476x317.jpeg",
+ "url": "property-photo/ceb99134e/162984056/ceb99134ed86e907ffa2f8d19f601da0.jpeg",
+ "caption": "Photo 25"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/85a3d53f0/162984056/85a3d53f0b4cf5c9da5066d02b3b0890_max_476x317.jpeg",
+ "url": "property-photo/85a3d53f0/162984056/85a3d53f0b4cf5c9da5066d02b3b0890.jpeg",
+ "caption": "Photo 5"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/728adc458/162984056/728adc45831a8b2d10e1522496196077_max_476x317.jpeg",
+ "url": "property-photo/728adc458/162984056/728adc45831a8b2d10e1522496196077.jpeg",
+ "caption": "Photo 6"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5df752fe6/162984056/5df752fe6cdbe5f7d8080e253e6c7c0c_max_476x317.jpeg",
+ "url": "property-photo/5df752fe6/162984056/5df752fe6cdbe5f7d8080e253e6c7c0c.jpeg",
+ "caption": "Photo 8"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd4957808/162984056/bd4957808fbddfd9ac24d952bb092a84_max_476x317.jpeg",
+ "url": "property-photo/bd4957808/162984056/bd4957808fbddfd9ac24d952bb092a84.jpeg",
+ "caption": "Photo 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b46021302/162984056/b46021302cce4bc0c4b506c42a935ef1_max_476x317.jpeg",
+ "url": "property-photo/b46021302/162984056/b46021302cce4bc0c4b506c42a935ef1.jpeg",
+ "caption": "Photo 20"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bbb3eaa78/162984056/bbb3eaa785a99d70cc5423628cccbc08_max_476x317.jpeg",
+ "url": "property-photo/bbb3eaa78/162984056/bbb3eaa785a99d70cc5423628cccbc08.jpeg",
+ "caption": "Photo 28"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c7fc6da31/162984056/c7fc6da316c92eecaeb3e563c62f7b3d_max_476x317.jpeg",
+ "url": "property-photo/c7fc6da31/162984056/c7fc6da316c92eecaeb3e563c62f7b3d.jpeg",
+ "caption": "Photo 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/97d0b2e93/162984056/97d0b2e93a69d5577f756a37b7425bfc_max_476x317.jpeg",
+ "url": "property-photo/97d0b2e93/162984056/97d0b2e93a69d5577f756a37b7425bfc.jpeg",
+ "caption": "Photo 18"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e14a9290c/162984056/e14a9290cdfe2e56fff4f6ac3df2a021_max_476x317.jpeg",
+ "url": "property-photo/e14a9290c/162984056/e14a9290cdfe2e56fff4f6ac3df2a021.jpeg",
+ "caption": "Photo 7"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3ab3cdf8d/162984056/3ab3cdf8d57362b888cee4f37d769bd9_max_476x317.jpeg",
+ "url": "property-photo/3ab3cdf8d/162984056/3ab3cdf8d57362b888cee4f37d769bd9.jpeg",
+ "caption": "Photo 27"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ad04f664/162984056/5ad04f6649efd09a6401cbf02b24a41c_max_476x317.jpeg",
+ "url": "property-photo/5ad04f664/162984056/5ad04f6649efd09a6401cbf02b24a41c.jpeg",
+ "caption": "Photo 30"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/048bee57e/162984056/048bee57e21b40d94af1f325421c37c9_max_476x317.jpeg",
+ "url": "property-photo/048bee57e/162984056/048bee57e21b40d94af1f325421c37c9.jpeg",
+ "caption": "Photo 29"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c725f584/162984056/5c725f584f045f310627fb72c2c17089_max_476x317.jpeg",
+ "url": "property-photo/5c725f584/162984056/5c725f584f045f310627fb72c2c17089.jpeg",
+ "caption": "Photo 29"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dee53f6e6/162984056/dee53f6e66aa12517d800a3e7c310ab2_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Alexander David Property, London",
+ "addedOrReduced": "Reduced on 19/01/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "6 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 168625394,
+ "bedrooms": 6,
+ "bathrooms": 3,
+ "numberOfImages": 29,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Desirable Location - Gated Off Road Parking - Garden With Versatile Outbuilding - Excellent Transport Links - Multiple Reception Rooms - Kitchen With Adjoining Conservatory - Six Bedrooms, One With En Suite - Contemporary Family Shower Room - Basement - Over 3,000 Sq Ft Of Living Space",
+ "displayAddress": "Leicester Road, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.581104, "longitude": 0.030615 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4_max_476x317.jpeg",
+ "url": "property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4.jpeg",
+ "caption": "Leicester-74.2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc4f5d1c4/168625394/bc4f5d1c4e213f738e0ee55c4e9c198c_max_476x317.jpeg",
+ "url": "property-photo/bc4f5d1c4/168625394/bc4f5d1c4e213f738e0ee55c4e9c198c.jpeg",
+ "caption": "Leicester-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fac9de001/168625394/fac9de001fa50137b41d8ccabb220ff3_max_476x317.jpeg",
+ "url": "property-photo/fac9de001/168625394/fac9de001fa50137b41d8ccabb220ff3.jpeg",
+ "caption": "Leicester-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0fbba92ab/168625394/0fbba92abaf421e8348264a46fd144fb_max_476x317.jpeg",
+ "url": "property-photo/0fbba92ab/168625394/0fbba92abaf421e8348264a46fd144fb.jpeg",
+ "caption": "Leicester-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/edb62fc5f/168625394/edb62fc5fa25cec1875896e3aaf4063c_max_476x317.jpeg",
+ "url": "property-photo/edb62fc5f/168625394/edb62fc5fa25cec1875896e3aaf4063c.jpeg",
+ "caption": "Leicester-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a6c8cf668/168625394/a6c8cf6684cb913b7065638314537c21_max_476x317.jpeg",
+ "url": "property-photo/a6c8cf668/168625394/a6c8cf6684cb913b7065638314537c21.jpeg",
+ "caption": "Leicester-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e91a3ca84/168625394/e91a3ca846485ee93468f2426006a40e_max_476x317.jpeg",
+ "url": "property-photo/e91a3ca84/168625394/e91a3ca846485ee93468f2426006a40e.jpeg",
+ "caption": "Leicester-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0bb57a07c/168625394/0bb57a07c07a0ee97213d12808d31339_max_476x317.jpeg",
+ "url": "property-photo/0bb57a07c/168625394/0bb57a07c07a0ee97213d12808d31339.jpeg",
+ "caption": "Leicester-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0dbe847b7/168625394/0dbe847b709bffb7d1fd1a4415cc5370_max_476x317.jpeg",
+ "url": "property-photo/0dbe847b7/168625394/0dbe847b709bffb7d1fd1a4415cc5370.jpeg",
+ "caption": "Leicester-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7c83ad04/168625394/b7c83ad0490108f3d6e878913228f664_max_476x317.jpeg",
+ "url": "property-photo/b7c83ad04/168625394/b7c83ad0490108f3d6e878913228f664.jpeg",
+ "caption": "Leicester-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb025ad25/168625394/cb025ad25fa22e034f054e89e3381ab7_max_476x317.jpeg",
+ "url": "property-photo/cb025ad25/168625394/cb025ad25fa22e034f054e89e3381ab7.jpeg",
+ "caption": "Leicester-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f40ef5229/168625394/f40ef5229525feea4b084ca7a807aed6_max_476x317.jpeg",
+ "url": "property-photo/f40ef5229/168625394/f40ef5229525feea4b084ca7a807aed6.jpeg",
+ "caption": "Leicester-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/16d384b86/168625394/16d384b866f71bdd9442f7c8239379c3_max_476x317.jpeg",
+ "url": "property-photo/16d384b86/168625394/16d384b866f71bdd9442f7c8239379c3.jpeg",
+ "caption": "Leicester-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/60c11dd92/168625394/60c11dd921138e5b1225c90e620f5dc7_max_476x317.jpeg",
+ "url": "property-photo/60c11dd92/168625394/60c11dd921138e5b1225c90e620f5dc7.jpeg",
+ "caption": "Leicester-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d371c451/168625394/5d371c451eaef2fd0c20bba694adf06a_max_476x317.jpeg",
+ "url": "property-photo/5d371c451/168625394/5d371c451eaef2fd0c20bba694adf06a.jpeg",
+ "caption": "Leicester-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a14d4c87/168625394/2a14d4c8701dd64b77c8dc5c434010b6_max_476x317.jpeg",
+ "url": "property-photo/2a14d4c87/168625394/2a14d4c8701dd64b77c8dc5c434010b6.jpeg",
+ "caption": "Leicester-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84145fba5/168625394/84145fba5cd5d5ff00752f600a3faacc_max_476x317.jpeg",
+ "url": "property-photo/84145fba5/168625394/84145fba5cd5d5ff00752f600a3faacc.jpeg",
+ "caption": "Leicester-58.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ec35628c/168625394/4ec35628cade8254fc34bb63319597fe_max_476x317.jpeg",
+ "url": "property-photo/4ec35628c/168625394/4ec35628cade8254fc34bb63319597fe.jpeg",
+ "caption": "Leicester-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/089240274/168625394/0892402745bc6d19a0e89b59bd38ce26_max_476x317.jpeg",
+ "url": "property-photo/089240274/168625394/0892402745bc6d19a0e89b59bd38ce26.jpeg",
+ "caption": "Leicester-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1d843a6e/168625394/e1d843a6e016cf6ddd738ca1f495d9c2_max_476x317.jpeg",
+ "url": "property-photo/e1d843a6e/168625394/e1d843a6e016cf6ddd738ca1f495d9c2.jpeg",
+ "caption": "Leicester-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/44769bee3/168625394/44769bee3538e38ec47f44e75c4d6088_max_476x317.jpeg",
+ "url": "property-photo/44769bee3/168625394/44769bee3538e38ec47f44e75c4d6088.jpeg",
+ "caption": "Leicester-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7850a4936/168625394/7850a493635865e9ccb0aff42d86be04_max_476x317.jpeg",
+ "url": "property-photo/7850a4936/168625394/7850a493635865e9ccb0aff42d86be04.jpeg",
+ "caption": "Leicester-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ed60def3/168625394/0ed60def317b8433e85387c0e2c82626_max_476x317.jpeg",
+ "url": "property-photo/0ed60def3/168625394/0ed60def317b8433e85387c0e2c82626.jpeg",
+ "caption": "Leicester-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ce06ecb23/168625394/ce06ecb23f906791a55d9ab80f5baea3_max_476x317.jpeg",
+ "url": "property-photo/ce06ecb23/168625394/ce06ecb23f906791a55d9ab80f5baea3.jpeg",
+ "caption": "Leicester-71.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0611c13fc/168625394/0611c13fc0c24e878885d882bed19edd_max_476x317.jpeg",
+ "url": "property-photo/0611c13fc/168625394/0611c13fc0c24e878885d882bed19edd.jpeg",
+ "caption": "Leicester-72.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00da5ac66/168625394/00da5ac66276db69e0ad74f38819e671_max_476x317.jpeg",
+ "url": "property-photo/00da5ac66/168625394/00da5ac66276db69e0ad74f38819e671.jpeg",
+ "caption": "Leicester"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4865ca190/168625394/4865ca190a065b9fff9e8fcb635d7b4b_max_476x317.jpeg",
+ "url": "property-photo/4865ca190/168625394/4865ca190a065b9fff9e8fcb635d7b4b.jpeg",
+ "caption": "Leicester-75.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/427a05a41/168625394/427a05a4134b912039a19c4b0a138766_max_476x317.jpeg",
+ "url": "property-photo/427a05a41/168625394/427a05a4134b912039a19c4b0a138766.jpeg",
+ "caption": "Leicester-76.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1aaaba261/168625394/1aaaba261a36c0cbdb08e5c18650ffb4_max_476x317.jpeg",
+ "url": "property-photo/1aaaba261/168625394/1aaaba261a36c0cbdb08e5c18650ffb4.jpeg",
+ "caption": "Leicester-77.1.jpg"
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2025-11-07T10:40:59Z"
+ },
+ "price": {
+ "amount": 1700000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,700,000",
+ "displayPriceQualifier": "Offers Over"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "3,265 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/168625394#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=168625394",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-10-27T08:36:36Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2025-11-07T10:41:01Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Desirable Location",
+ "htmlDescription": "Desirable Location"
+ },
+ {
+ "order": 2,
+ "description": "Gated Off Road Parking",
+ "htmlDescription": "Gated Off Road Parking"
+ },
+ {
+ "order": 3,
+ "description": "Garden With Versatile Outbuilding",
+ "htmlDescription": "Garden With Versatile Outbuilding"
+ },
+ {
+ "order": 4,
+ "description": "Excellent Transport Links",
+ "htmlDescription": "Excellent Transport Links"
+ },
+ {
+ "order": 5,
+ "description": "Multiple Reception Rooms",
+ "htmlDescription": "Multiple Reception Rooms"
+ },
+ {
+ "order": 6,
+ "description": "Kitchen With Adjoining Conservatory",
+ "htmlDescription": "Kitchen With Adjoining Conservatory"
+ },
+ {
+ "order": 7,
+ "description": "Six Bedrooms, One With En Suite",
+ "htmlDescription": "Six Bedrooms, One With En Suite"
+ },
+ {
+ "order": 8,
+ "description": "Contemporary Family Shower Room",
+ "htmlDescription": "Contemporary Family Shower Room"
+ },
+ {
+ "order": 9,
+ "description": "Basement",
+ "htmlDescription": "Basement"
+ },
+ {
+ "order": 10,
+ "description": "Over 3,000 Sq Ft Of Living Space",
+ "htmlDescription": "Over 3,000 Sq Ft Of Living Space"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4_max_476x317.jpeg",
+ "url": "property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4.jpeg",
+ "caption": "Leicester-74.2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc4f5d1c4/168625394/bc4f5d1c4e213f738e0ee55c4e9c198c_max_476x317.jpeg",
+ "url": "property-photo/bc4f5d1c4/168625394/bc4f5d1c4e213f738e0ee55c4e9c198c.jpeg",
+ "caption": "Leicester-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fac9de001/168625394/fac9de001fa50137b41d8ccabb220ff3_max_476x317.jpeg",
+ "url": "property-photo/fac9de001/168625394/fac9de001fa50137b41d8ccabb220ff3.jpeg",
+ "caption": "Leicester-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0fbba92ab/168625394/0fbba92abaf421e8348264a46fd144fb_max_476x317.jpeg",
+ "url": "property-photo/0fbba92ab/168625394/0fbba92abaf421e8348264a46fd144fb.jpeg",
+ "caption": "Leicester-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/edb62fc5f/168625394/edb62fc5fa25cec1875896e3aaf4063c_max_476x317.jpeg",
+ "url": "property-photo/edb62fc5f/168625394/edb62fc5fa25cec1875896e3aaf4063c.jpeg",
+ "caption": "Leicester-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a6c8cf668/168625394/a6c8cf6684cb913b7065638314537c21_max_476x317.jpeg",
+ "url": "property-photo/a6c8cf668/168625394/a6c8cf6684cb913b7065638314537c21.jpeg",
+ "caption": "Leicester-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e91a3ca84/168625394/e91a3ca846485ee93468f2426006a40e_max_476x317.jpeg",
+ "url": "property-photo/e91a3ca84/168625394/e91a3ca846485ee93468f2426006a40e.jpeg",
+ "caption": "Leicester-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0bb57a07c/168625394/0bb57a07c07a0ee97213d12808d31339_max_476x317.jpeg",
+ "url": "property-photo/0bb57a07c/168625394/0bb57a07c07a0ee97213d12808d31339.jpeg",
+ "caption": "Leicester-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0dbe847b7/168625394/0dbe847b709bffb7d1fd1a4415cc5370_max_476x317.jpeg",
+ "url": "property-photo/0dbe847b7/168625394/0dbe847b709bffb7d1fd1a4415cc5370.jpeg",
+ "caption": "Leicester-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7c83ad04/168625394/b7c83ad0490108f3d6e878913228f664_max_476x317.jpeg",
+ "url": "property-photo/b7c83ad04/168625394/b7c83ad0490108f3d6e878913228f664.jpeg",
+ "caption": "Leicester-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb025ad25/168625394/cb025ad25fa22e034f054e89e3381ab7_max_476x317.jpeg",
+ "url": "property-photo/cb025ad25/168625394/cb025ad25fa22e034f054e89e3381ab7.jpeg",
+ "caption": "Leicester-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f40ef5229/168625394/f40ef5229525feea4b084ca7a807aed6_max_476x317.jpeg",
+ "url": "property-photo/f40ef5229/168625394/f40ef5229525feea4b084ca7a807aed6.jpeg",
+ "caption": "Leicester-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/16d384b86/168625394/16d384b866f71bdd9442f7c8239379c3_max_476x317.jpeg",
+ "url": "property-photo/16d384b86/168625394/16d384b866f71bdd9442f7c8239379c3.jpeg",
+ "caption": "Leicester-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/60c11dd92/168625394/60c11dd921138e5b1225c90e620f5dc7_max_476x317.jpeg",
+ "url": "property-photo/60c11dd92/168625394/60c11dd921138e5b1225c90e620f5dc7.jpeg",
+ "caption": "Leicester-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d371c451/168625394/5d371c451eaef2fd0c20bba694adf06a_max_476x317.jpeg",
+ "url": "property-photo/5d371c451/168625394/5d371c451eaef2fd0c20bba694adf06a.jpeg",
+ "caption": "Leicester-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2a14d4c87/168625394/2a14d4c8701dd64b77c8dc5c434010b6_max_476x317.jpeg",
+ "url": "property-photo/2a14d4c87/168625394/2a14d4c8701dd64b77c8dc5c434010b6.jpeg",
+ "caption": "Leicester-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84145fba5/168625394/84145fba5cd5d5ff00752f600a3faacc_max_476x317.jpeg",
+ "url": "property-photo/84145fba5/168625394/84145fba5cd5d5ff00752f600a3faacc.jpeg",
+ "caption": "Leicester-58.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ec35628c/168625394/4ec35628cade8254fc34bb63319597fe_max_476x317.jpeg",
+ "url": "property-photo/4ec35628c/168625394/4ec35628cade8254fc34bb63319597fe.jpeg",
+ "caption": "Leicester-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/089240274/168625394/0892402745bc6d19a0e89b59bd38ce26_max_476x317.jpeg",
+ "url": "property-photo/089240274/168625394/0892402745bc6d19a0e89b59bd38ce26.jpeg",
+ "caption": "Leicester-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1d843a6e/168625394/e1d843a6e016cf6ddd738ca1f495d9c2_max_476x317.jpeg",
+ "url": "property-photo/e1d843a6e/168625394/e1d843a6e016cf6ddd738ca1f495d9c2.jpeg",
+ "caption": "Leicester-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/44769bee3/168625394/44769bee3538e38ec47f44e75c4d6088_max_476x317.jpeg",
+ "url": "property-photo/44769bee3/168625394/44769bee3538e38ec47f44e75c4d6088.jpeg",
+ "caption": "Leicester-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7850a4936/168625394/7850a493635865e9ccb0aff42d86be04_max_476x317.jpeg",
+ "url": "property-photo/7850a4936/168625394/7850a493635865e9ccb0aff42d86be04.jpeg",
+ "caption": "Leicester-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ed60def3/168625394/0ed60def317b8433e85387c0e2c82626_max_476x317.jpeg",
+ "url": "property-photo/0ed60def3/168625394/0ed60def317b8433e85387c0e2c82626.jpeg",
+ "caption": "Leicester-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ce06ecb23/168625394/ce06ecb23f906791a55d9ab80f5baea3_max_476x317.jpeg",
+ "url": "property-photo/ce06ecb23/168625394/ce06ecb23f906791a55d9ab80f5baea3.jpeg",
+ "caption": "Leicester-71.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0611c13fc/168625394/0611c13fc0c24e878885d882bed19edd_max_476x317.jpeg",
+ "url": "property-photo/0611c13fc/168625394/0611c13fc0c24e878885d882bed19edd.jpeg",
+ "caption": "Leicester-72.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00da5ac66/168625394/00da5ac66276db69e0ad74f38819e671_max_476x317.jpeg",
+ "url": "property-photo/00da5ac66/168625394/00da5ac66276db69e0ad74f38819e671.jpeg",
+ "caption": "Leicester"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4865ca190/168625394/4865ca190a065b9fff9e8fcb635d7b4b_max_476x317.jpeg",
+ "url": "property-photo/4865ca190/168625394/4865ca190a065b9fff9e8fcb635d7b4b.jpeg",
+ "caption": "Leicester-75.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/427a05a41/168625394/427a05a4134b912039a19c4b0a138766_max_476x317.jpeg",
+ "url": "property-photo/427a05a41/168625394/427a05a4134b912039a19c4b0a138766.jpeg",
+ "caption": "Leicester-76.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1aaaba261/168625394/1aaaba261a36c0cbdb08e5c18650ffb4_max_476x317.jpeg",
+ "url": "property-photo/1aaaba261/168625394/1aaaba261a36c0cbdb08e5c18650ffb4.jpeg",
+ "caption": "Leicester-77.1.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/49cf74d78/168625394/49cf74d7852e3d681c2a7e1f269001a4_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Reduced on 07/11/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "6 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 170642753,
+ "bedrooms": 4,
+ "bathrooms": 1,
+ "numberOfImages": 33,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Forest Close, Wanstead - 2,018 sq ft | 4 Bedrooms | Detached | 46ft East-Facing Garden | Off-Street Parking for 3 Tucked away on a peaceful cul-de-sac just 0.2 miles from Snaresbrook Central Line Station and Wanstead High Street, this stunning detached 1930s family home combines timeless charact...",
+ "displayAddress": "Forest Close",
+ "countryCode": "GB",
+ "location": { "latitude": 51.5796, "longitude": 0.01923 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50_max_476x317.jpeg",
+ "url": "property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/47cf1320e/170642753/47cf1320edd363694d6c2bc1bd58d10d_max_476x317.jpeg",
+ "url": "property-photo/47cf1320e/170642753/47cf1320edd363694d6c2bc1bd58d10d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/673a7a6a4/170642753/673a7a6a461bcd3b37804983b3f40db4_max_476x317.jpeg",
+ "url": "property-photo/673a7a6a4/170642753/673a7a6a461bcd3b37804983b3f40db4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94d21b574/170642753/94d21b57433f2c3fe69cc01990d909df_max_476x317.jpeg",
+ "url": "property-photo/94d21b574/170642753/94d21b57433f2c3fe69cc01990d909df.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5683e2ae6/170642753/5683e2ae6384b63fbf3d57d84ed5edbd_max_476x317.jpeg",
+ "url": "property-photo/5683e2ae6/170642753/5683e2ae6384b63fbf3d57d84ed5edbd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b86da4026/170642753/b86da4026149718c6caac36d1a9a9291_max_476x317.jpeg",
+ "url": "property-photo/b86da4026/170642753/b86da4026149718c6caac36d1a9a9291.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/11b55c86c/170642753/11b55c86c439fbdc2ee8eb5a78d208d7_max_476x317.jpeg",
+ "url": "property-photo/11b55c86c/170642753/11b55c86c439fbdc2ee8eb5a78d208d7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7a0374e47/170642753/7a0374e4728e18ed765529b374048f2d_max_476x317.jpeg",
+ "url": "property-photo/7a0374e47/170642753/7a0374e4728e18ed765529b374048f2d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/212e4721f/170642753/212e4721fbf5b662df3ccd3d9e065243_max_476x317.jpeg",
+ "url": "property-photo/212e4721f/170642753/212e4721fbf5b662df3ccd3d9e065243.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1b8a60622/170642753/1b8a606220dab1b69dd2673d6e6ad377_max_476x317.jpeg",
+ "url": "property-photo/1b8a60622/170642753/1b8a606220dab1b69dd2673d6e6ad377.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1527a94d7/170642753/1527a94d793d1931eb3404b83ee2d210_max_476x317.jpeg",
+ "url": "property-photo/1527a94d7/170642753/1527a94d793d1931eb3404b83ee2d210.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e8d44c2d6/170642753/e8d44c2d60f0442786ee38f284a12865_max_476x317.jpeg",
+ "url": "property-photo/e8d44c2d6/170642753/e8d44c2d60f0442786ee38f284a12865.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0740232/170642753/4f0740232b8a0336cb09cf698484f0b2_max_476x317.jpeg",
+ "url": "property-photo/4f0740232/170642753/4f0740232b8a0336cb09cf698484f0b2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1cdbd6b4/170642753/a1cdbd6b4c5c829f8821d851ff409b48_max_476x317.jpeg",
+ "url": "property-photo/a1cdbd6b4/170642753/a1cdbd6b4c5c829f8821d851ff409b48.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2515a0de8/170642753/2515a0de8dbc0b94782746900d4b6361_max_476x317.jpeg",
+ "url": "property-photo/2515a0de8/170642753/2515a0de8dbc0b94782746900d4b6361.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f019db27/170642753/8f019db27bd462d540b81f0de2ee0166_max_476x317.jpeg",
+ "url": "property-photo/8f019db27/170642753/8f019db27bd462d540b81f0de2ee0166.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9c6e9ad/170642753/db9c6e9ad09f63d82f9cc7244452e9cb_max_476x317.jpeg",
+ "url": "property-photo/db9c6e9ad/170642753/db9c6e9ad09f63d82f9cc7244452e9cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3011a313/170642753/e3011a3137f6d87cf91371b2fd3c6a26_max_476x317.jpeg",
+ "url": "property-photo/e3011a313/170642753/e3011a3137f6d87cf91371b2fd3c6a26.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e4a80a8f9/170642753/e4a80a8f9b750c87dc8f5669ed8389cb_max_476x317.jpeg",
+ "url": "property-photo/e4a80a8f9/170642753/e4a80a8f9b750c87dc8f5669ed8389cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c03096a45/170642753/c03096a45a74d1eb9402ba6ec6b1a7c2_max_476x317.jpeg",
+ "url": "property-photo/c03096a45/170642753/c03096a45a74d1eb9402ba6ec6b1a7c2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4dd575c85/170642753/4dd575c853e38a5241256c5beab68918_max_476x317.jpeg",
+ "url": "property-photo/4dd575c85/170642753/4dd575c853e38a5241256c5beab68918.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1f7bfc894/170642753/1f7bfc894400c1e6a2a6a93f9fc5760e_max_476x317.jpeg",
+ "url": "property-photo/1f7bfc894/170642753/1f7bfc894400c1e6a2a6a93f9fc5760e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/025d8b076/170642753/025d8b0769e582dea7f7110699cc2a27_max_476x317.jpeg",
+ "url": "property-photo/025d8b076/170642753/025d8b0769e582dea7f7110699cc2a27.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54d6d14f0/170642753/54d6d14f05516a736d8f0d7a3dbdb340_max_476x317.jpeg",
+ "url": "property-photo/54d6d14f0/170642753/54d6d14f05516a736d8f0d7a3dbdb340.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f57b6e130/170642753/f57b6e130a79ee0f4063e64343d07c5f_max_476x317.jpeg",
+ "url": "property-photo/f57b6e130/170642753/f57b6e130a79ee0f4063e64343d07c5f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8ce111cad/170642753/8ce111cad1e3401c33fc07e54eadc5a6_max_476x317.jpeg",
+ "url": "property-photo/8ce111cad/170642753/8ce111cad1e3401c33fc07e54eadc5a6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6eafbac34/170642753/6eafbac34f3eda7afac45964963dc842_max_476x317.jpeg",
+ "url": "property-photo/6eafbac34/170642753/6eafbac34f3eda7afac45964963dc842.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/81925bd5d/170642753/81925bd5d187ad593efd3f15d685a0fc_max_476x317.jpeg",
+ "url": "property-photo/81925bd5d/170642753/81925bd5d187ad593efd3f15d685a0fc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/67ec73dc4/170642753/67ec73dc48ae2dc415beb59248f0114d_max_476x317.jpeg",
+ "url": "property-photo/67ec73dc4/170642753/67ec73dc48ae2dc415beb59248f0114d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4da2845d/170642753/d4da2845de19e4cef63d4c2f082f38b7_max_476x317.jpeg",
+ "url": "property-photo/d4da2845d/170642753/d4da2845de19e4cef63d4c2f082f38b7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/42010faa5/170642753/42010faa54dbcfd3880ec76c209eadfa_max_476x317.jpeg",
+ "url": "property-photo/42010faa5/170642753/42010faa54dbcfd3880ec76c209eadfa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/698870222/170642753/69887022287247a7ad958c156d96398e_max_476x317.jpeg",
+ "url": "property-photo/698870222/170642753/69887022287247a7ad958c156d96398e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ea2b88c8d/170642753/ea2b88c8df715c3325229fe0038b1b70_max_476x317.jpeg",
+ "url": "property-photo/ea2b88c8d/170642753/ea2b88c8df715c3325229fe0038b1b70.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-12-26T12:42:04Z"
+ },
+ "price": {
+ "amount": 1650000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,650,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 45525,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "contactTelephone": "020 3910 6305",
+ "branchDisplayName": "Martin & Co, Wanstead",
+ "branchName": "Wanstead",
+ "brandTradingName": "Martin & Co",
+ "branchLandingPageUrl": "/estate-agents/agent/Martin-and-Co/Wanstead-45525.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-12T13:43:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Premium Listing",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/170642753#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=170642753",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-12-26T12:36:45Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T03:37:43Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Detached",
+ "htmlDescription": "Detached"
+ },
+ {
+ "order": 2,
+ "description": "Off Street Parking",
+ "htmlDescription": "Off Street Parking"
+ },
+ {
+ "order": 3,
+ "description": "East facing Garden",
+ "htmlDescription": "East facing Garden"
+ },
+ {
+ "order": 4,
+ "description": "Cul-de-sac location",
+ "htmlDescription": "Cul-de-sac location "
+ },
+ {
+ "order": 5,
+ "description": "Close to high street and station",
+ "htmlDescription": "Close to high street and station "
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50_max_476x317.jpeg",
+ "url": "property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/47cf1320e/170642753/47cf1320edd363694d6c2bc1bd58d10d_max_476x317.jpeg",
+ "url": "property-photo/47cf1320e/170642753/47cf1320edd363694d6c2bc1bd58d10d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/673a7a6a4/170642753/673a7a6a461bcd3b37804983b3f40db4_max_476x317.jpeg",
+ "url": "property-photo/673a7a6a4/170642753/673a7a6a461bcd3b37804983b3f40db4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94d21b574/170642753/94d21b57433f2c3fe69cc01990d909df_max_476x317.jpeg",
+ "url": "property-photo/94d21b574/170642753/94d21b57433f2c3fe69cc01990d909df.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5683e2ae6/170642753/5683e2ae6384b63fbf3d57d84ed5edbd_max_476x317.jpeg",
+ "url": "property-photo/5683e2ae6/170642753/5683e2ae6384b63fbf3d57d84ed5edbd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b86da4026/170642753/b86da4026149718c6caac36d1a9a9291_max_476x317.jpeg",
+ "url": "property-photo/b86da4026/170642753/b86da4026149718c6caac36d1a9a9291.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/11b55c86c/170642753/11b55c86c439fbdc2ee8eb5a78d208d7_max_476x317.jpeg",
+ "url": "property-photo/11b55c86c/170642753/11b55c86c439fbdc2ee8eb5a78d208d7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7a0374e47/170642753/7a0374e4728e18ed765529b374048f2d_max_476x317.jpeg",
+ "url": "property-photo/7a0374e47/170642753/7a0374e4728e18ed765529b374048f2d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/212e4721f/170642753/212e4721fbf5b662df3ccd3d9e065243_max_476x317.jpeg",
+ "url": "property-photo/212e4721f/170642753/212e4721fbf5b662df3ccd3d9e065243.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1b8a60622/170642753/1b8a606220dab1b69dd2673d6e6ad377_max_476x317.jpeg",
+ "url": "property-photo/1b8a60622/170642753/1b8a606220dab1b69dd2673d6e6ad377.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1527a94d7/170642753/1527a94d793d1931eb3404b83ee2d210_max_476x317.jpeg",
+ "url": "property-photo/1527a94d7/170642753/1527a94d793d1931eb3404b83ee2d210.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e8d44c2d6/170642753/e8d44c2d60f0442786ee38f284a12865_max_476x317.jpeg",
+ "url": "property-photo/e8d44c2d6/170642753/e8d44c2d60f0442786ee38f284a12865.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0740232/170642753/4f0740232b8a0336cb09cf698484f0b2_max_476x317.jpeg",
+ "url": "property-photo/4f0740232/170642753/4f0740232b8a0336cb09cf698484f0b2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1cdbd6b4/170642753/a1cdbd6b4c5c829f8821d851ff409b48_max_476x317.jpeg",
+ "url": "property-photo/a1cdbd6b4/170642753/a1cdbd6b4c5c829f8821d851ff409b48.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2515a0de8/170642753/2515a0de8dbc0b94782746900d4b6361_max_476x317.jpeg",
+ "url": "property-photo/2515a0de8/170642753/2515a0de8dbc0b94782746900d4b6361.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f019db27/170642753/8f019db27bd462d540b81f0de2ee0166_max_476x317.jpeg",
+ "url": "property-photo/8f019db27/170642753/8f019db27bd462d540b81f0de2ee0166.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9c6e9ad/170642753/db9c6e9ad09f63d82f9cc7244452e9cb_max_476x317.jpeg",
+ "url": "property-photo/db9c6e9ad/170642753/db9c6e9ad09f63d82f9cc7244452e9cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3011a313/170642753/e3011a3137f6d87cf91371b2fd3c6a26_max_476x317.jpeg",
+ "url": "property-photo/e3011a313/170642753/e3011a3137f6d87cf91371b2fd3c6a26.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e4a80a8f9/170642753/e4a80a8f9b750c87dc8f5669ed8389cb_max_476x317.jpeg",
+ "url": "property-photo/e4a80a8f9/170642753/e4a80a8f9b750c87dc8f5669ed8389cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c03096a45/170642753/c03096a45a74d1eb9402ba6ec6b1a7c2_max_476x317.jpeg",
+ "url": "property-photo/c03096a45/170642753/c03096a45a74d1eb9402ba6ec6b1a7c2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4dd575c85/170642753/4dd575c853e38a5241256c5beab68918_max_476x317.jpeg",
+ "url": "property-photo/4dd575c85/170642753/4dd575c853e38a5241256c5beab68918.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1f7bfc894/170642753/1f7bfc894400c1e6a2a6a93f9fc5760e_max_476x317.jpeg",
+ "url": "property-photo/1f7bfc894/170642753/1f7bfc894400c1e6a2a6a93f9fc5760e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/025d8b076/170642753/025d8b0769e582dea7f7110699cc2a27_max_476x317.jpeg",
+ "url": "property-photo/025d8b076/170642753/025d8b0769e582dea7f7110699cc2a27.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54d6d14f0/170642753/54d6d14f05516a736d8f0d7a3dbdb340_max_476x317.jpeg",
+ "url": "property-photo/54d6d14f0/170642753/54d6d14f05516a736d8f0d7a3dbdb340.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f57b6e130/170642753/f57b6e130a79ee0f4063e64343d07c5f_max_476x317.jpeg",
+ "url": "property-photo/f57b6e130/170642753/f57b6e130a79ee0f4063e64343d07c5f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8ce111cad/170642753/8ce111cad1e3401c33fc07e54eadc5a6_max_476x317.jpeg",
+ "url": "property-photo/8ce111cad/170642753/8ce111cad1e3401c33fc07e54eadc5a6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6eafbac34/170642753/6eafbac34f3eda7afac45964963dc842_max_476x317.jpeg",
+ "url": "property-photo/6eafbac34/170642753/6eafbac34f3eda7afac45964963dc842.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/81925bd5d/170642753/81925bd5d187ad593efd3f15d685a0fc_max_476x317.jpeg",
+ "url": "property-photo/81925bd5d/170642753/81925bd5d187ad593efd3f15d685a0fc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/67ec73dc4/170642753/67ec73dc48ae2dc415beb59248f0114d_max_476x317.jpeg",
+ "url": "property-photo/67ec73dc4/170642753/67ec73dc48ae2dc415beb59248f0114d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4da2845d/170642753/d4da2845de19e4cef63d4c2f082f38b7_max_476x317.jpeg",
+ "url": "property-photo/d4da2845d/170642753/d4da2845de19e4cef63d4c2f082f38b7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/42010faa5/170642753/42010faa54dbcfd3880ec76c209eadfa_max_476x317.jpeg",
+ "url": "property-photo/42010faa5/170642753/42010faa54dbcfd3880ec76c209eadfa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/698870222/170642753/69887022287247a7ad958c156d96398e_max_476x317.jpeg",
+ "url": "property-photo/698870222/170642753/69887022287247a7ad958c156d96398e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ea2b88c8d/170642753/ea2b88c8df715c3325229fe0038b1b70_max_476x317.jpeg",
+ "url": "property-photo/ea2b88c8d/170642753/ea2b88c8df715c3325229fe0038b1b70.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3dce5fac3/170642753/3dce5fac31e24518d5be635ebb491e50_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Martin & Co, Wanstead",
+ "addedOrReduced": "Added on 26/12/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 169357616,
+ "bedrooms": 5,
+ "bathrooms": 3,
+ "numberOfImages": 35,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Guide price £1,600,000 - £1,625,000 | Chain free | Five double bedroom semi detached house | Contemporary open plan kitchen/diner | Skilfully extended & renovated | Two family bathrooms | Downstairs utility room & WC | 100ft + private rear garden | Off street parking for multiple vehicles & Side ...",
+ "displayAddress": "Hollybush Hill, Snaresbrook",
+ "countryCode": "GB",
+ "location": { "latitude": 51.577117, "longitude": 0.01755 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90_max_476x317.jpeg",
+ "url": "property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a39b1722/169357616/5a39b1722d349327bba5a2e7ffec46c6_max_476x317.jpeg",
+ "url": "property-photo/5a39b1722/169357616/5a39b1722d349327bba5a2e7ffec46c6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb72e7a13/169357616/cb72e7a1347bcf8b9ad59d8c441dbb53_max_476x317.jpeg",
+ "url": "property-photo/cb72e7a13/169357616/cb72e7a1347bcf8b9ad59d8c441dbb53.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ae7cf12/169357616/d0ae7cf1284ceb017fc9ce2d1f48be4f_max_476x317.jpeg",
+ "url": "property-photo/d0ae7cf12/169357616/d0ae7cf1284ceb017fc9ce2d1f48be4f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ef8e37cce/169357616/ef8e37cce6bf6f9e0ddfb9e1c1905d6e_max_476x317.jpeg",
+ "url": "property-photo/ef8e37cce/169357616/ef8e37cce6bf6f9e0ddfb9e1c1905d6e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbafee582/169357616/dbafee582fe7cd2090c08652d9e51a48_max_476x317.jpeg",
+ "url": "property-photo/dbafee582/169357616/dbafee582fe7cd2090c08652d9e51a48.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1fafc097d/169357616/1fafc097d6f978c5709fd307eba4a382_max_476x317.jpeg",
+ "url": "property-photo/1fafc097d/169357616/1fafc097d6f978c5709fd307eba4a382.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da021a017/169357616/da021a017cebf9a6cb17c456546e734f_max_476x317.jpeg",
+ "url": "property-photo/da021a017/169357616/da021a017cebf9a6cb17c456546e734f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84bd3ac03/169357616/84bd3ac03d3746b86168683f1629fd5e_max_476x317.jpeg",
+ "url": "property-photo/84bd3ac03/169357616/84bd3ac03d3746b86168683f1629fd5e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/74ec07638/169357616/74ec076384458ff1e292f9e16329c959_max_476x317.jpeg",
+ "url": "property-photo/74ec07638/169357616/74ec076384458ff1e292f9e16329c959.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4b50900a/169357616/d4b50900a806774fe007a46dc411d7c8_max_476x317.jpeg",
+ "url": "property-photo/d4b50900a/169357616/d4b50900a806774fe007a46dc411d7c8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c0c6ec2d/169357616/8c0c6ec2da8085ce63d79b90cb165dbc_max_476x317.jpeg",
+ "url": "property-photo/8c0c6ec2d/169357616/8c0c6ec2da8085ce63d79b90cb165dbc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/203c22bb5/169357616/203c22bb51e187c54be061fdfd47aa31_max_476x317.jpeg",
+ "url": "property-photo/203c22bb5/169357616/203c22bb51e187c54be061fdfd47aa31.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a83b4473/169357616/1a83b4473e3614f99d1fa787178d7bf4_max_476x317.jpeg",
+ "url": "property-photo/1a83b4473/169357616/1a83b4473e3614f99d1fa787178d7bf4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71d1d0141/169357616/71d1d01411444760f37d71915ba43d8a_max_476x317.jpeg",
+ "url": "property-photo/71d1d0141/169357616/71d1d01411444760f37d71915ba43d8a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd1ef1a61/169357616/bd1ef1a613852fb3259b83cd50ef3465_max_476x317.jpeg",
+ "url": "property-photo/bd1ef1a61/169357616/bd1ef1a613852fb3259b83cd50ef3465.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d8205a42a/169357616/d8205a42a93259dd6c1ff3e6bb9639b7_max_476x317.jpeg",
+ "url": "property-photo/d8205a42a/169357616/d8205a42a93259dd6c1ff3e6bb9639b7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f56e90763/169357616/f56e90763e77f9c87f81b88b1b61657f_max_476x317.jpeg",
+ "url": "property-photo/f56e90763/169357616/f56e90763e77f9c87f81b88b1b61657f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1ca626a1/169357616/c1ca626a1f504315ca0fc9c10b56e5c3_max_476x317.jpeg",
+ "url": "property-photo/c1ca626a1/169357616/c1ca626a1f504315ca0fc9c10b56e5c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1ff37d5e5/169357616/1ff37d5e5f4b1fbacd0537e68f34dc5c_max_476x317.jpeg",
+ "url": "property-photo/1ff37d5e5/169357616/1ff37d5e5f4b1fbacd0537e68f34dc5c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/545a1503c/169357616/545a1503c72ce97feeddab831ea40cb4_max_476x317.jpeg",
+ "url": "property-photo/545a1503c/169357616/545a1503c72ce97feeddab831ea40cb4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e947d3613/169357616/e947d361373c1aea977ad9fa70c44e22_max_476x317.jpeg",
+ "url": "property-photo/e947d3613/169357616/e947d361373c1aea977ad9fa70c44e22.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2f4ef8c22/169357616/2f4ef8c2297f5a6d8a6c352b44ee8519_max_476x317.jpeg",
+ "url": "property-photo/2f4ef8c22/169357616/2f4ef8c2297f5a6d8a6c352b44ee8519.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba43d4113/169357616/ba43d4113a62db84d94d09c254d9ac12_max_476x317.jpeg",
+ "url": "property-photo/ba43d4113/169357616/ba43d4113a62db84d94d09c254d9ac12.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62224c836/169357616/62224c8362b9e3083f842fd75eada0b4_max_476x317.jpeg",
+ "url": "property-photo/62224c836/169357616/62224c8362b9e3083f842fd75eada0b4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e9af38988/169357616/e9af38988e7f9c46eba04fed6b2fd3a2_max_476x317.jpeg",
+ "url": "property-photo/e9af38988/169357616/e9af38988e7f9c46eba04fed6b2fd3a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9e8ea747b/169357616/9e8ea747b121efd338c2a9dd3014f4b0_max_476x317.jpeg",
+ "url": "property-photo/9e8ea747b/169357616/9e8ea747b121efd338c2a9dd3014f4b0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc44f8874/169357616/cc44f88749c1b91e9f0c3081d8409593_max_476x317.jpeg",
+ "url": "property-photo/cc44f8874/169357616/cc44f88749c1b91e9f0c3081d8409593.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb5f158e8/169357616/cb5f158e81f208e3f5cbb30af2872f20_max_476x317.jpeg",
+ "url": "property-photo/cb5f158e8/169357616/cb5f158e81f208e3f5cbb30af2872f20.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7c920549/169357616/b7c9205496254df0f02e0abb5a5ea50b_max_476x317.jpeg",
+ "url": "property-photo/b7c920549/169357616/b7c9205496254df0f02e0abb5a5ea50b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/276f9ef14/169357616/276f9ef147481964bd274ad877ca1ab6_max_476x317.jpeg",
+ "url": "property-photo/276f9ef14/169357616/276f9ef147481964bd274ad877ca1ab6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99d3dfbb6/169357616/99d3dfbb688228bf95d202eee6f398b3_max_476x317.jpeg",
+ "url": "property-photo/99d3dfbb6/169357616/99d3dfbb688228bf95d202eee6f398b3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d83475da9/169357616/d83475da9242a15417fd3af87a41a6cb_max_476x317.jpeg",
+ "url": "property-photo/d83475da9/169357616/d83475da9242a15417fd3af87a41a6cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fdf3ab622/169357616/fdf3ab62225bcd232f30fc463066aedf_max_476x317.jpeg",
+ "url": "property-photo/fdf3ab622/169357616/fdf3ab62225bcd232f30fc463066aedf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c8c68274/169357616/6c8c68274e572932b9ec925efc70addc_max_476x317.jpeg",
+ "url": "property-photo/6c8c68274/169357616/6c8c68274e572932b9ec925efc70addc.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-01-28T14:15:46Z"
+ },
+ "price": {
+ "amount": 1600000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,600,000",
+ "displayPriceQualifier": "Guide Price"
+ }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 69505,
+ "brandPlusLogoURI": "/company/clogo_3502_0001.jpeg",
+ "contactTelephone": "020 3907 3687",
+ "branchDisplayName": "Churchill Estates, Wanstead",
+ "branchName": "Wanstead",
+ "brandTradingName": "Churchill Estates",
+ "branchLandingPageUrl": "/estate-agents/agent/Churchill-Estates/Wanstead-69505.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-09T15:35:28Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_3502_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "No Chain",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,208 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/169357616#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=169357616",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-11-14T16:19:07Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-05T02:34:17Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Guide price £1,600,000 - £1,625,000",
+ "htmlDescription": "Guide price £1,600,000 - £1,625,000"
+ },
+ {
+ "order": 2,
+ "description": "Chain free",
+ "htmlDescription": "Chain free"
+ },
+ {
+ "order": 3,
+ "description": "Five double bedroom semi detached house",
+ "htmlDescription": "Five double bedroom semi detached house"
+ },
+ {
+ "order": 4,
+ "description": "Contemporary open plan kitchen/diner",
+ "htmlDescription": "Contemporary open plan kitchen/diner"
+ },
+ {
+ "order": 5,
+ "description": "Skilfully extended & renovated",
+ "htmlDescription": "Skilfully extended & renovated"
+ },
+ {
+ "order": 6,
+ "description": "Two family bathrooms",
+ "htmlDescription": "Two family bathrooms"
+ },
+ {
+ "order": 7,
+ "description": "Downstairs utility room & WC",
+ "htmlDescription": "Downstairs utility room & WC"
+ },
+ {
+ "order": 8,
+ "description": "100ft + private rear garden",
+ "htmlDescription": "100ft + private rear garden"
+ },
+ {
+ "order": 9,
+ "description": "Off street parking for multiple vehicles & side access",
+ "htmlDescription": "Off street parking for multiple vehicles & side access"
+ },
+ {
+ "order": 10,
+ "description": "Close proximity to Wanstead High Street & Snaresbrook Central Line station (0.4 miles)",
+ "htmlDescription": "Close proximity to Wanstead High Street & Snaresbrook Central Line station (0.4 miles)"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90_max_476x317.jpeg",
+ "url": "property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a39b1722/169357616/5a39b1722d349327bba5a2e7ffec46c6_max_476x317.jpeg",
+ "url": "property-photo/5a39b1722/169357616/5a39b1722d349327bba5a2e7ffec46c6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb72e7a13/169357616/cb72e7a1347bcf8b9ad59d8c441dbb53_max_476x317.jpeg",
+ "url": "property-photo/cb72e7a13/169357616/cb72e7a1347bcf8b9ad59d8c441dbb53.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0ae7cf12/169357616/d0ae7cf1284ceb017fc9ce2d1f48be4f_max_476x317.jpeg",
+ "url": "property-photo/d0ae7cf12/169357616/d0ae7cf1284ceb017fc9ce2d1f48be4f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ef8e37cce/169357616/ef8e37cce6bf6f9e0ddfb9e1c1905d6e_max_476x317.jpeg",
+ "url": "property-photo/ef8e37cce/169357616/ef8e37cce6bf6f9e0ddfb9e1c1905d6e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbafee582/169357616/dbafee582fe7cd2090c08652d9e51a48_max_476x317.jpeg",
+ "url": "property-photo/dbafee582/169357616/dbafee582fe7cd2090c08652d9e51a48.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1fafc097d/169357616/1fafc097d6f978c5709fd307eba4a382_max_476x317.jpeg",
+ "url": "property-photo/1fafc097d/169357616/1fafc097d6f978c5709fd307eba4a382.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da021a017/169357616/da021a017cebf9a6cb17c456546e734f_max_476x317.jpeg",
+ "url": "property-photo/da021a017/169357616/da021a017cebf9a6cb17c456546e734f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84bd3ac03/169357616/84bd3ac03d3746b86168683f1629fd5e_max_476x317.jpeg",
+ "url": "property-photo/84bd3ac03/169357616/84bd3ac03d3746b86168683f1629fd5e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/74ec07638/169357616/74ec076384458ff1e292f9e16329c959_max_476x317.jpeg",
+ "url": "property-photo/74ec07638/169357616/74ec076384458ff1e292f9e16329c959.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4b50900a/169357616/d4b50900a806774fe007a46dc411d7c8_max_476x317.jpeg",
+ "url": "property-photo/d4b50900a/169357616/d4b50900a806774fe007a46dc411d7c8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c0c6ec2d/169357616/8c0c6ec2da8085ce63d79b90cb165dbc_max_476x317.jpeg",
+ "url": "property-photo/8c0c6ec2d/169357616/8c0c6ec2da8085ce63d79b90cb165dbc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/203c22bb5/169357616/203c22bb51e187c54be061fdfd47aa31_max_476x317.jpeg",
+ "url": "property-photo/203c22bb5/169357616/203c22bb51e187c54be061fdfd47aa31.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a83b4473/169357616/1a83b4473e3614f99d1fa787178d7bf4_max_476x317.jpeg",
+ "url": "property-photo/1a83b4473/169357616/1a83b4473e3614f99d1fa787178d7bf4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71d1d0141/169357616/71d1d01411444760f37d71915ba43d8a_max_476x317.jpeg",
+ "url": "property-photo/71d1d0141/169357616/71d1d01411444760f37d71915ba43d8a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd1ef1a61/169357616/bd1ef1a613852fb3259b83cd50ef3465_max_476x317.jpeg",
+ "url": "property-photo/bd1ef1a61/169357616/bd1ef1a613852fb3259b83cd50ef3465.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d8205a42a/169357616/d8205a42a93259dd6c1ff3e6bb9639b7_max_476x317.jpeg",
+ "url": "property-photo/d8205a42a/169357616/d8205a42a93259dd6c1ff3e6bb9639b7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f56e90763/169357616/f56e90763e77f9c87f81b88b1b61657f_max_476x317.jpeg",
+ "url": "property-photo/f56e90763/169357616/f56e90763e77f9c87f81b88b1b61657f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1ca626a1/169357616/c1ca626a1f504315ca0fc9c10b56e5c3_max_476x317.jpeg",
+ "url": "property-photo/c1ca626a1/169357616/c1ca626a1f504315ca0fc9c10b56e5c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1ff37d5e5/169357616/1ff37d5e5f4b1fbacd0537e68f34dc5c_max_476x317.jpeg",
+ "url": "property-photo/1ff37d5e5/169357616/1ff37d5e5f4b1fbacd0537e68f34dc5c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/545a1503c/169357616/545a1503c72ce97feeddab831ea40cb4_max_476x317.jpeg",
+ "url": "property-photo/545a1503c/169357616/545a1503c72ce97feeddab831ea40cb4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e947d3613/169357616/e947d361373c1aea977ad9fa70c44e22_max_476x317.jpeg",
+ "url": "property-photo/e947d3613/169357616/e947d361373c1aea977ad9fa70c44e22.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2f4ef8c22/169357616/2f4ef8c2297f5a6d8a6c352b44ee8519_max_476x317.jpeg",
+ "url": "property-photo/2f4ef8c22/169357616/2f4ef8c2297f5a6d8a6c352b44ee8519.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba43d4113/169357616/ba43d4113a62db84d94d09c254d9ac12_max_476x317.jpeg",
+ "url": "property-photo/ba43d4113/169357616/ba43d4113a62db84d94d09c254d9ac12.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62224c836/169357616/62224c8362b9e3083f842fd75eada0b4_max_476x317.jpeg",
+ "url": "property-photo/62224c836/169357616/62224c8362b9e3083f842fd75eada0b4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e9af38988/169357616/e9af38988e7f9c46eba04fed6b2fd3a2_max_476x317.jpeg",
+ "url": "property-photo/e9af38988/169357616/e9af38988e7f9c46eba04fed6b2fd3a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9e8ea747b/169357616/9e8ea747b121efd338c2a9dd3014f4b0_max_476x317.jpeg",
+ "url": "property-photo/9e8ea747b/169357616/9e8ea747b121efd338c2a9dd3014f4b0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc44f8874/169357616/cc44f88749c1b91e9f0c3081d8409593_max_476x317.jpeg",
+ "url": "property-photo/cc44f8874/169357616/cc44f88749c1b91e9f0c3081d8409593.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb5f158e8/169357616/cb5f158e81f208e3f5cbb30af2872f20_max_476x317.jpeg",
+ "url": "property-photo/cb5f158e8/169357616/cb5f158e81f208e3f5cbb30af2872f20.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7c920549/169357616/b7c9205496254df0f02e0abb5a5ea50b_max_476x317.jpeg",
+ "url": "property-photo/b7c920549/169357616/b7c9205496254df0f02e0abb5a5ea50b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/276f9ef14/169357616/276f9ef147481964bd274ad877ca1ab6_max_476x317.jpeg",
+ "url": "property-photo/276f9ef14/169357616/276f9ef147481964bd274ad877ca1ab6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/99d3dfbb6/169357616/99d3dfbb688228bf95d202eee6f398b3_max_476x317.jpeg",
+ "url": "property-photo/99d3dfbb6/169357616/99d3dfbb688228bf95d202eee6f398b3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d83475da9/169357616/d83475da9242a15417fd3af87a41a6cb_max_476x317.jpeg",
+ "url": "property-photo/d83475da9/169357616/d83475da9242a15417fd3af87a41a6cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fdf3ab622/169357616/fdf3ab62225bcd232f30fc463066aedf_max_476x317.jpeg",
+ "url": "property-photo/fdf3ab622/169357616/fdf3ab62225bcd232f30fc463066aedf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c8c68274/169357616/6c8c68274e572932b9ec925efc70addc_max_476x317.jpeg",
+ "url": "property-photo/6c8c68274/169357616/6c8c68274e572932b9ec925efc70addc.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3267ab5b9/169357616/3267ab5b91dc004ee1a358883a7c1f90_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Churchill Estates, Wanstead",
+ "addedOrReduced": "Added on 14/11/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172089626,
+ "bedrooms": 4,
+ "bathrooms": 2,
+ "numberOfImages": 18,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Located in Wanstead Village, overlooking Christchurch Green - Access to both Wanstead & Snaresbrook Underground Stations - Extended Loft & Rear - Period Features throughout - Two Reception Rooms - Open Plan Bespoke Kitchen & Dining Room - Downstairs WC & Utility Room - Primary Bedroom with En Su...",
+ "displayAddress": "Spratt Hall Road, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.575889, "longitude": 0.024617 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60_max_476x317.jpeg",
+ "url": "property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60.jpeg",
+ "caption": "spratt.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a535f1cad/172089626/a535f1cad870257ea02b23330fd789c2_max_476x317.jpeg",
+ "url": "property-photo/a535f1cad/172089626/a535f1cad870257ea02b23330fd789c2.jpeg",
+ "caption": "Spratt-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dc01a239b/172089626/dc01a239b0a988dd2bcc28d5bb3ba281_max_476x317.jpeg",
+ "url": "property-photo/dc01a239b/172089626/dc01a239b0a988dd2bcc28d5bb3ba281.jpeg",
+ "caption": "Spratt-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ec26591f/172089626/9ec26591f0376f0ea078d6fc8c958d69_max_476x317.jpeg",
+ "url": "property-photo/9ec26591f/172089626/9ec26591f0376f0ea078d6fc8c958d69.jpeg",
+ "caption": "Spratt-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e350355b2/172089626/e350355b23eb74cb96711bfb852a1395_max_476x317.jpeg",
+ "url": "property-photo/e350355b2/172089626/e350355b23eb74cb96711bfb852a1395.jpeg",
+ "caption": "Spratt-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e4ef188fd/172089626/e4ef188fda0da939767faf3c736c6f96_max_476x317.jpeg",
+ "url": "property-photo/e4ef188fd/172089626/e4ef188fda0da939767faf3c736c6f96.jpeg",
+ "caption": "Spratt-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/39f7ecd4f/172089626/39f7ecd4f0883c7eb02b343d089240a4_max_476x317.jpeg",
+ "url": "property-photo/39f7ecd4f/172089626/39f7ecd4f0883c7eb02b343d089240a4.jpeg",
+ "caption": "Spratt-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c661d73ad/172089626/c661d73addca781b070bd41942c6de32_max_476x317.jpeg",
+ "url": "property-photo/c661d73ad/172089626/c661d73addca781b070bd41942c6de32.jpeg",
+ "caption": "Spratt-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48bac37bb/172089626/48bac37bb5d54122d75ed4fb455a87f8_max_476x317.jpeg",
+ "url": "property-photo/48bac37bb/172089626/48bac37bb5d54122d75ed4fb455a87f8.jpeg",
+ "caption": "Spratt-64.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0e912bb4b/172089626/0e912bb4b326b543d94b38e11fdfc66c_max_476x317.jpeg",
+ "url": "property-photo/0e912bb4b/172089626/0e912bb4b326b543d94b38e11fdfc66c.jpeg",
+ "caption": "Spratt-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/451be2e9c/172089626/451be2e9c977d7aa154c18a85aca3812_max_476x317.jpeg",
+ "url": "property-photo/451be2e9c/172089626/451be2e9c977d7aa154c18a85aca3812.jpeg",
+ "caption": "Spratt-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d9f77e5f/172089626/3d9f77e5f669abc82dfcc1bee57c324e_max_476x317.jpeg",
+ "url": "property-photo/3d9f77e5f/172089626/3d9f77e5f669abc82dfcc1bee57c324e.jpeg",
+ "caption": "Spratt-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac27b52c5/172089626/ac27b52c547e3535a3a319c1c8640ee0_max_476x317.jpeg",
+ "url": "property-photo/ac27b52c5/172089626/ac27b52c547e3535a3a319c1c8640ee0.jpeg",
+ "caption": "Spratt-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/daa4e5ab9/172089626/daa4e5ab95c503a2b6a267df431508b3_max_476x317.jpeg",
+ "url": "property-photo/daa4e5ab9/172089626/daa4e5ab95c503a2b6a267df431508b3.jpeg",
+ "caption": "Spratt-76.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf2399f3d/172089626/bf2399f3d02b7f02bfe11e2d168c529f_max_476x317.jpeg",
+ "url": "property-photo/bf2399f3d/172089626/bf2399f3d02b7f02bfe11e2d168c529f.jpeg",
+ "caption": "Spratt-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b799c49b7/172089626/b799c49b736f776f2bf28ed4f5e6ceac_max_476x317.jpeg",
+ "url": "property-photo/b799c49b7/172089626/b799c49b736f776f2bf28ed4f5e6ceac.jpeg",
+ "caption": "Spratt-80.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0387aaaeb/172089626/0387aaaeb2240201ea9ee9eb01692a5f_max_476x317.jpeg",
+ "url": "property-photo/0387aaaeb/172089626/0387aaaeb2240201ea9ee9eb01692a5f.jpeg",
+ "caption": "spratt-84.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a514332ca/172089626/a514332cadb33bf24715e400b467c4f5_max_476x317.jpeg",
+ "url": "property-photo/a514332ca/172089626/a514332cadb33bf24715e400b467c4f5.jpeg",
+ "caption": "spratt-85.1.jpg"
+ }
+ ],
+ "propertySubType": "Terraced",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T16:21:49Z"
+ },
+ "price": {
+ "amount": 1600000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,600,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,043 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172089626#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=172089626",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-02-11T16:16:20Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T16:21:49Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Located in Wanstead Village, overlooking Christchurch Green",
+ "htmlDescription": "Located in Wanstead Village, overlooking Christchurch Green"
+ },
+ {
+ "order": 2,
+ "description": "Access to both Wanstead & Snaresbrook Underground Stations",
+ "htmlDescription": "Access to both Wanstead & Snaresbrook Underground Stations"
+ },
+ {
+ "order": 3,
+ "description": "Extended Loft & Rear",
+ "htmlDescription": "Extended Loft & Rear"
+ },
+ {
+ "order": 4,
+ "description": "Period Features Throughout",
+ "htmlDescription": "Period Features Throughout"
+ },
+ {
+ "order": 5,
+ "description": "Two Reception Rooms",
+ "htmlDescription": "Two Reception Rooms"
+ },
+ {
+ "order": 6,
+ "description": "Open Plan Bespoke Kitchen & Dining Room",
+ "htmlDescription": "Open Plan Bespoke Kitchen & Dining Room"
+ },
+ {
+ "order": 7,
+ "description": "Downstairs WC & Utility Room",
+ "htmlDescription": "Downstairs WC & Utility Room"
+ },
+ {
+ "order": 8,
+ "description": "Primary Bedroom With En Suite",
+ "htmlDescription": "Primary Bedroom With En Suite"
+ },
+ {
+ "order": 9,
+ "description": "Three Additional Bedrooms",
+ "htmlDescription": "Three Additional Bedrooms"
+ },
+ {
+ "order": 10,
+ "description": "City Style Landscaped Garden",
+ "htmlDescription": "City Style Landscaped Garden"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60_max_476x317.jpeg",
+ "url": "property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60.jpeg",
+ "caption": "spratt.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a535f1cad/172089626/a535f1cad870257ea02b23330fd789c2_max_476x317.jpeg",
+ "url": "property-photo/a535f1cad/172089626/a535f1cad870257ea02b23330fd789c2.jpeg",
+ "caption": "Spratt-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dc01a239b/172089626/dc01a239b0a988dd2bcc28d5bb3ba281_max_476x317.jpeg",
+ "url": "property-photo/dc01a239b/172089626/dc01a239b0a988dd2bcc28d5bb3ba281.jpeg",
+ "caption": "Spratt-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ec26591f/172089626/9ec26591f0376f0ea078d6fc8c958d69_max_476x317.jpeg",
+ "url": "property-photo/9ec26591f/172089626/9ec26591f0376f0ea078d6fc8c958d69.jpeg",
+ "caption": "Spratt-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e350355b2/172089626/e350355b23eb74cb96711bfb852a1395_max_476x317.jpeg",
+ "url": "property-photo/e350355b2/172089626/e350355b23eb74cb96711bfb852a1395.jpeg",
+ "caption": "Spratt-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e4ef188fd/172089626/e4ef188fda0da939767faf3c736c6f96_max_476x317.jpeg",
+ "url": "property-photo/e4ef188fd/172089626/e4ef188fda0da939767faf3c736c6f96.jpeg",
+ "caption": "Spratt-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/39f7ecd4f/172089626/39f7ecd4f0883c7eb02b343d089240a4_max_476x317.jpeg",
+ "url": "property-photo/39f7ecd4f/172089626/39f7ecd4f0883c7eb02b343d089240a4.jpeg",
+ "caption": "Spratt-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c661d73ad/172089626/c661d73addca781b070bd41942c6de32_max_476x317.jpeg",
+ "url": "property-photo/c661d73ad/172089626/c661d73addca781b070bd41942c6de32.jpeg",
+ "caption": "Spratt-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48bac37bb/172089626/48bac37bb5d54122d75ed4fb455a87f8_max_476x317.jpeg",
+ "url": "property-photo/48bac37bb/172089626/48bac37bb5d54122d75ed4fb455a87f8.jpeg",
+ "caption": "Spratt-64.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0e912bb4b/172089626/0e912bb4b326b543d94b38e11fdfc66c_max_476x317.jpeg",
+ "url": "property-photo/0e912bb4b/172089626/0e912bb4b326b543d94b38e11fdfc66c.jpeg",
+ "caption": "Spratt-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/451be2e9c/172089626/451be2e9c977d7aa154c18a85aca3812_max_476x317.jpeg",
+ "url": "property-photo/451be2e9c/172089626/451be2e9c977d7aa154c18a85aca3812.jpeg",
+ "caption": "Spratt-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d9f77e5f/172089626/3d9f77e5f669abc82dfcc1bee57c324e_max_476x317.jpeg",
+ "url": "property-photo/3d9f77e5f/172089626/3d9f77e5f669abc82dfcc1bee57c324e.jpeg",
+ "caption": "Spratt-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac27b52c5/172089626/ac27b52c547e3535a3a319c1c8640ee0_max_476x317.jpeg",
+ "url": "property-photo/ac27b52c5/172089626/ac27b52c547e3535a3a319c1c8640ee0.jpeg",
+ "caption": "Spratt-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/daa4e5ab9/172089626/daa4e5ab95c503a2b6a267df431508b3_max_476x317.jpeg",
+ "url": "property-photo/daa4e5ab9/172089626/daa4e5ab95c503a2b6a267df431508b3.jpeg",
+ "caption": "Spratt-76.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf2399f3d/172089626/bf2399f3d02b7f02bfe11e2d168c529f_max_476x317.jpeg",
+ "url": "property-photo/bf2399f3d/172089626/bf2399f3d02b7f02bfe11e2d168c529f.jpeg",
+ "caption": "Spratt-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b799c49b7/172089626/b799c49b736f776f2bf28ed4f5e6ceac_max_476x317.jpeg",
+ "url": "property-photo/b799c49b7/172089626/b799c49b736f776f2bf28ed4f5e6ceac.jpeg",
+ "caption": "Spratt-80.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0387aaaeb/172089626/0387aaaeb2240201ea9ee9eb01692a5f_max_476x317.jpeg",
+ "url": "property-photo/0387aaaeb/172089626/0387aaaeb2240201ea9ee9eb01692a5f.jpeg",
+ "caption": "spratt-84.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a514332ca/172089626/a514332cadb33bf24715e400b467c4f5_max_476x317.jpeg",
+ "url": "property-photo/a514332ca/172089626/a514332cadb33bf24715e400b467c4f5.jpeg",
+ "caption": "spratt-85.1.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a13ce9247/172089626/a13ce9247300c106f086cf97d9377e60_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom terraced house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171258350,
+ "bedrooms": 4,
+ "bathrooms": 3,
+ "numberOfImages": 20,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Petty Son & Prestwich are thrilled to present this four-bedroom detached family home, brimming with charm and modern elegance. Featuring stunning parquet flooring, a spacious driveway, garage, balcony, and a beautifully maintained garden, this property is a true gem.",
+ "displayAddress": "Forest Close, Snaresbrook",
+ "countryCode": "GB",
+ "location": { "latitude": 51.579883, "longitude": 0.019209 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47_max_476x317.jpeg",
+ "url": "property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5938f639f/171258350/5938f639f441ae289430813885b89295_max_476x317.jpeg",
+ "url": "property-photo/5938f639f/171258350/5938f639f441ae289430813885b89295.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c6490f635/171258350/c6490f635ee429e168fe517c3c1fdcda_max_476x317.jpeg",
+ "url": "property-photo/c6490f635/171258350/c6490f635ee429e168fe517c3c1fdcda.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a0a3e357f/171258350/a0a3e357f18dc772dfdffc7ded44e447_max_476x317.jpeg",
+ "url": "property-photo/a0a3e357f/171258350/a0a3e357f18dc772dfdffc7ded44e447.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/86025b9da/171258350/86025b9daa2ca2289f89d03e4261ea4e_max_476x317.jpeg",
+ "url": "property-photo/86025b9da/171258350/86025b9daa2ca2289f89d03e4261ea4e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/978732c02/171258350/978732c0228c59365765bf01c712d248_max_476x317.jpeg",
+ "url": "property-photo/978732c02/171258350/978732c0228c59365765bf01c712d248.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e14d9e32b/171258350/e14d9e32b4e2e27c3c6d3eccbe24a156_max_476x317.jpeg",
+ "url": "property-photo/e14d9e32b/171258350/e14d9e32b4e2e27c3c6d3eccbe24a156.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e49a10851/171258350/e49a10851bf867589e278a79fe3f1679_max_476x317.jpeg",
+ "url": "property-photo/e49a10851/171258350/e49a10851bf867589e278a79fe3f1679.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/935712909/171258350/93571290917f02afe4c17e8f38aff26c_max_476x317.jpeg",
+ "url": "property-photo/935712909/171258350/93571290917f02afe4c17e8f38aff26c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/082f248ef/171258350/082f248ef329b9fc44335b6c13f0c95a_max_476x317.jpeg",
+ "url": "property-photo/082f248ef/171258350/082f248ef329b9fc44335b6c13f0c95a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6151d8d63/171258350/6151d8d630ffa69d0bfc2fd6382e171d_max_476x317.jpeg",
+ "url": "property-photo/6151d8d63/171258350/6151d8d630ffa69d0bfc2fd6382e171d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e969f754f/171258350/e969f754ff7438ded4de2f62e2f15ada_max_476x317.jpeg",
+ "url": "property-photo/e969f754f/171258350/e969f754ff7438ded4de2f62e2f15ada.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f77f268b/171258350/8f77f268b897bd36fb72cd68701269c4_max_476x317.jpeg",
+ "url": "property-photo/8f77f268b/171258350/8f77f268b897bd36fb72cd68701269c4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53029c2bb/171258350/53029c2bb31036652ad46533bbd836f2_max_476x317.jpeg",
+ "url": "property-photo/53029c2bb/171258350/53029c2bb31036652ad46533bbd836f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c36fc0bf/171258350/5c36fc0bfb23a5722653ae7deffd0a65_max_476x317.jpeg",
+ "url": "property-photo/5c36fc0bf/171258350/5c36fc0bfb23a5722653ae7deffd0a65.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3d4f3126/171258350/e3d4f312623649ef2a24a113837c7fc2_max_476x317.jpeg",
+ "url": "property-photo/e3d4f3126/171258350/e3d4f312623649ef2a24a113837c7fc2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4d2e4cbec/171258350/4d2e4cbecc0db889c1a3363e57f37ca2_max_476x317.jpeg",
+ "url": "property-photo/4d2e4cbec/171258350/4d2e4cbecc0db889c1a3363e57f37ca2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b78ea8d2/171258350/2b78ea8d271ba5d2063900d2e8cc719e_max_476x317.jpeg",
+ "url": "property-photo/2b78ea8d2/171258350/2b78ea8d271ba5d2063900d2e8cc719e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da2debd6f/171258350/da2debd6f1dcf0fe7831a3fa000c914a_max_476x317.jpeg",
+ "url": "property-photo/da2debd6f/171258350/da2debd6f1dcf0fe7831a3fa000c914a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6275bc8ff/171258350/6275bc8ff5f7e9acba0c1ff9cbb7f640_max_476x317.jpeg",
+ "url": "property-photo/6275bc8ff/171258350/6275bc8ff5f7e9acba0c1ff9cbb7f640.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-01-21T14:54:04Z"
+ },
+ "price": {
+ "amount": 1575000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,575,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 70202,
+ "brandPlusLogoURI": "/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "contactTelephone": "020 3879 9971",
+ "branchDisplayName": "Petty Son & Prestwich Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Petty Son & Prestwich Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Petty-Son-and-Prestwich-Ltd/London-70202.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-30T17:30:19Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,033 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171258350#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=171258350",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-01-21T14:48:56Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-12T16:22:33Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Detached family home",
+ "htmlDescription": "Detached family home"
+ },
+ {
+ "order": 2,
+ "description": "Four bedrooms",
+ "htmlDescription": "Four bedrooms"
+ },
+ {
+ "order": 3,
+ "description": "Three reception rooms",
+ "htmlDescription": "Three reception rooms"
+ },
+ {
+ "order": 4,
+ "description": "Spacious entrance hall",
+ "htmlDescription": "Spacious entrance hall"
+ },
+ {
+ "order": 5,
+ "description": "Garage and off street parking",
+ "htmlDescription": "Garage and off street parking"
+ },
+ { "order": 6, "description": "Balcony", "htmlDescription": "Balcony" },
+ {
+ "order": 7,
+ "description": "Downstairs W.C",
+ "htmlDescription": "Downstairs W.C"
+ },
+ {
+ "order": 8,
+ "description": "Large family bathroom & en-suite shower room",
+ "htmlDescription": "Large family bathroom & en-suite shower room"
+ },
+ {
+ "order": 9,
+ "description": "0.2 Miles to Snaresbrook Central Line Station & High Street",
+ "htmlDescription": "0.2 Miles to Snaresbrook Central Line Station & High Street"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47_max_476x317.jpeg",
+ "url": "property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5938f639f/171258350/5938f639f441ae289430813885b89295_max_476x317.jpeg",
+ "url": "property-photo/5938f639f/171258350/5938f639f441ae289430813885b89295.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c6490f635/171258350/c6490f635ee429e168fe517c3c1fdcda_max_476x317.jpeg",
+ "url": "property-photo/c6490f635/171258350/c6490f635ee429e168fe517c3c1fdcda.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a0a3e357f/171258350/a0a3e357f18dc772dfdffc7ded44e447_max_476x317.jpeg",
+ "url": "property-photo/a0a3e357f/171258350/a0a3e357f18dc772dfdffc7ded44e447.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/86025b9da/171258350/86025b9daa2ca2289f89d03e4261ea4e_max_476x317.jpeg",
+ "url": "property-photo/86025b9da/171258350/86025b9daa2ca2289f89d03e4261ea4e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/978732c02/171258350/978732c0228c59365765bf01c712d248_max_476x317.jpeg",
+ "url": "property-photo/978732c02/171258350/978732c0228c59365765bf01c712d248.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e14d9e32b/171258350/e14d9e32b4e2e27c3c6d3eccbe24a156_max_476x317.jpeg",
+ "url": "property-photo/e14d9e32b/171258350/e14d9e32b4e2e27c3c6d3eccbe24a156.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e49a10851/171258350/e49a10851bf867589e278a79fe3f1679_max_476x317.jpeg",
+ "url": "property-photo/e49a10851/171258350/e49a10851bf867589e278a79fe3f1679.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/935712909/171258350/93571290917f02afe4c17e8f38aff26c_max_476x317.jpeg",
+ "url": "property-photo/935712909/171258350/93571290917f02afe4c17e8f38aff26c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/082f248ef/171258350/082f248ef329b9fc44335b6c13f0c95a_max_476x317.jpeg",
+ "url": "property-photo/082f248ef/171258350/082f248ef329b9fc44335b6c13f0c95a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6151d8d63/171258350/6151d8d630ffa69d0bfc2fd6382e171d_max_476x317.jpeg",
+ "url": "property-photo/6151d8d63/171258350/6151d8d630ffa69d0bfc2fd6382e171d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e969f754f/171258350/e969f754ff7438ded4de2f62e2f15ada_max_476x317.jpeg",
+ "url": "property-photo/e969f754f/171258350/e969f754ff7438ded4de2f62e2f15ada.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f77f268b/171258350/8f77f268b897bd36fb72cd68701269c4_max_476x317.jpeg",
+ "url": "property-photo/8f77f268b/171258350/8f77f268b897bd36fb72cd68701269c4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/53029c2bb/171258350/53029c2bb31036652ad46533bbd836f2_max_476x317.jpeg",
+ "url": "property-photo/53029c2bb/171258350/53029c2bb31036652ad46533bbd836f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c36fc0bf/171258350/5c36fc0bfb23a5722653ae7deffd0a65_max_476x317.jpeg",
+ "url": "property-photo/5c36fc0bf/171258350/5c36fc0bfb23a5722653ae7deffd0a65.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3d4f3126/171258350/e3d4f312623649ef2a24a113837c7fc2_max_476x317.jpeg",
+ "url": "property-photo/e3d4f3126/171258350/e3d4f312623649ef2a24a113837c7fc2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4d2e4cbec/171258350/4d2e4cbecc0db889c1a3363e57f37ca2_max_476x317.jpeg",
+ "url": "property-photo/4d2e4cbec/171258350/4d2e4cbecc0db889c1a3363e57f37ca2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b78ea8d2/171258350/2b78ea8d271ba5d2063900d2e8cc719e_max_476x317.jpeg",
+ "url": "property-photo/2b78ea8d2/171258350/2b78ea8d271ba5d2063900d2e8cc719e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da2debd6f/171258350/da2debd6f1dcf0fe7831a3fa000c914a_max_476x317.jpeg",
+ "url": "property-photo/da2debd6f/171258350/da2debd6f1dcf0fe7831a3fa000c914a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6275bc8ff/171258350/6275bc8ff5f7e9acba0c1ff9cbb7f640_max_476x317.jpeg",
+ "url": "property-photo/6275bc8ff/171258350/6275bc8ff5f7e9acba0c1ff9cbb7f640.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/938c17056/171258350/938c1705662be85dda189f9a9adc3c47_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Petty Son & Prestwich Ltd, London",
+ "addedOrReduced": "Added on 21/01/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 167920679,
+ "bedrooms": 5,
+ "bathrooms": 3,
+ "numberOfImages": 17,
+ "numberOfFloorplans": 2,
+ "numberOfVirtualTours": 0,
+ "summary": "OVER 3000 SQUARE FEET | CHAIN FREE | 1920'S PERIOD | OFF STREET PARKING | GARAGE | 94 FOOT GARDEN | PERIOD FEATURES",
+ "displayAddress": "Blake Hall Road, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.5699, "longitude": 0.02385 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012_max_476x317.jpeg",
+ "url": "property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012.jpeg",
+ "caption": "ExtL 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13ae49d3c/167920679/13ae49d3c9ecb36be0871da237904904_max_476x317.jpeg",
+ "url": "property-photo/13ae49d3c/167920679/13ae49d3c9ecb36be0871da237904904.jpeg",
+ "caption": "Garden 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f59b11d/167920679/91f59b11da8bbaf1251bd2912d140e4f_max_476x317.jpeg",
+ "url": "property-photo/91f59b11d/167920679/91f59b11da8bbaf1251bd2912d140e4f.jpeg",
+ "caption": "Garden 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c974f130/167920679/3c974f130632f71db3c107c5bce04c49_max_476x317.jpeg",
+ "url": "property-photo/3c974f130/167920679/3c974f130632f71db3c107c5bce04c49.jpeg",
+ "caption": "Reception 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/196cf60a7/167920679/196cf60a79dd8fb6a41e0ad5bf8c3b0d_max_476x317.jpeg",
+ "url": "property-photo/196cf60a7/167920679/196cf60a79dd8fb6a41e0ad5bf8c3b0d.jpeg",
+ "caption": "Kitchen 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9918853ba/167920679/9918853ba39fe572ec09cbdcbf37685f_max_476x317.jpeg",
+ "url": "property-photo/9918853ba/167920679/9918853ba39fe572ec09cbdcbf37685f.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5303488b8/167920679/5303488b82f479cf724fb0c66e889fe0_max_476x317.jpeg",
+ "url": "property-photo/5303488b8/167920679/5303488b82f479cf724fb0c66e889fe0.jpeg",
+ "caption": "Kitchen 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c58800a03/167920679/c58800a03863fed32ac7ab0df5f5a170_max_476x317.jpeg",
+ "url": "property-photo/c58800a03/167920679/c58800a03863fed32ac7ab0df5f5a170.jpeg",
+ "caption": "Bathroom top"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fef8d52ff/167920679/fef8d52ffece78fd619398e5b7d597dc_max_476x317.jpeg",
+ "url": "property-photo/fef8d52ff/167920679/fef8d52ffece78fd619398e5b7d597dc.jpeg",
+ "caption": "Bedroom 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90961cc92/167920679/90961cc927c5701de77a66124075294e_max_476x317.jpeg",
+ "url": "property-photo/90961cc92/167920679/90961cc927c5701de77a66124075294e.jpeg",
+ "caption": "Bedroom 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c42284770/167920679/c4228477027e79956a99d005a8c207e4_max_476x317.jpeg",
+ "url": "property-photo/c42284770/167920679/c4228477027e79956a99d005a8c207e4.jpeg",
+ "caption": "Bedroom 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2630ea5e5/167920679/2630ea5e5333bcbe886daaca3d703249_max_476x317.jpeg",
+ "url": "property-photo/2630ea5e5/167920679/2630ea5e5333bcbe886daaca3d703249.jpeg",
+ "caption": "Bedroom 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/105fcfbf5/167920679/105fcfbf52f1a97434ca4298fbd26c4b_max_476x317.jpeg",
+ "url": "property-photo/105fcfbf5/167920679/105fcfbf52f1a97434ca4298fbd26c4b.jpeg",
+ "caption": "Dining Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d9a18adf5/167920679/d9a18adf57574f87b5a8e80ddcb6938f_max_476x317.jpeg",
+ "url": "property-photo/d9a18adf5/167920679/d9a18adf57574f87b5a8e80ddcb6938f.jpeg",
+ "caption": "Reception 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/049b86e79/167920679/049b86e79da78cf9ce9647415e950b2c_max_476x317.jpeg",
+ "url": "property-photo/049b86e79/167920679/049b86e79da78cf9ce9647415e950b2c.jpeg",
+ "caption": "Reception 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c69eed59d/167920679/c69eed59dd791e411d79da627445504a_max_476x317.jpeg",
+ "url": "property-photo/c69eed59d/167920679/c69eed59dd791e411d79da627445504a.jpeg",
+ "caption": "Shower"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fda459ed2/167920679/fda459ed224f8472490b5cc829f8a81a_max_476x317.jpeg",
+ "url": "property-photo/fda459ed2/167920679/fda459ed224f8472490b5cc829f8a81a.jpeg",
+ "caption": "Utility"
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2025-12-26T12:42:35Z"
+ },
+ "price": {
+ "amount": 1550000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,550,000",
+ "displayPriceQualifier": "Offers in Region of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 45525,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "contactTelephone": "020 3910 6305",
+ "branchDisplayName": "Martin & Co, Wanstead",
+ "branchName": "Wanstead",
+ "brandTradingName": "Martin & Co",
+ "branchLandingPageUrl": "/estate-agents/agent/Martin-and-Co/Wanstead-45525.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-12T13:43:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/167920679#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=167920679",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-10-09T12:23:46Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T12:07:42Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "CHAIN FREE",
+ "htmlDescription": "CHAIN FREE"
+ },
+ {
+ "order": 2,
+ "description": "OFF STREET PARKING",
+ "htmlDescription": "OFF STREET PARKING"
+ },
+ { "order": 3, "description": "GARAGE", "htmlDescription": "GARAGE" }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012_max_476x317.jpeg",
+ "url": "property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012.jpeg",
+ "caption": "ExtL 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13ae49d3c/167920679/13ae49d3c9ecb36be0871da237904904_max_476x317.jpeg",
+ "url": "property-photo/13ae49d3c/167920679/13ae49d3c9ecb36be0871da237904904.jpeg",
+ "caption": "Garden 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f59b11d/167920679/91f59b11da8bbaf1251bd2912d140e4f_max_476x317.jpeg",
+ "url": "property-photo/91f59b11d/167920679/91f59b11da8bbaf1251bd2912d140e4f.jpeg",
+ "caption": "Garden 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c974f130/167920679/3c974f130632f71db3c107c5bce04c49_max_476x317.jpeg",
+ "url": "property-photo/3c974f130/167920679/3c974f130632f71db3c107c5bce04c49.jpeg",
+ "caption": "Reception 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/196cf60a7/167920679/196cf60a79dd8fb6a41e0ad5bf8c3b0d_max_476x317.jpeg",
+ "url": "property-photo/196cf60a7/167920679/196cf60a79dd8fb6a41e0ad5bf8c3b0d.jpeg",
+ "caption": "Kitchen 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9918853ba/167920679/9918853ba39fe572ec09cbdcbf37685f_max_476x317.jpeg",
+ "url": "property-photo/9918853ba/167920679/9918853ba39fe572ec09cbdcbf37685f.jpeg",
+ "caption": "Bathroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5303488b8/167920679/5303488b82f479cf724fb0c66e889fe0_max_476x317.jpeg",
+ "url": "property-photo/5303488b8/167920679/5303488b82f479cf724fb0c66e889fe0.jpeg",
+ "caption": "Kitchen 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c58800a03/167920679/c58800a03863fed32ac7ab0df5f5a170_max_476x317.jpeg",
+ "url": "property-photo/c58800a03/167920679/c58800a03863fed32ac7ab0df5f5a170.jpeg",
+ "caption": "Bathroom top"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fef8d52ff/167920679/fef8d52ffece78fd619398e5b7d597dc_max_476x317.jpeg",
+ "url": "property-photo/fef8d52ff/167920679/fef8d52ffece78fd619398e5b7d597dc.jpeg",
+ "caption": "Bedroom 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90961cc92/167920679/90961cc927c5701de77a66124075294e_max_476x317.jpeg",
+ "url": "property-photo/90961cc92/167920679/90961cc927c5701de77a66124075294e.jpeg",
+ "caption": "Bedroom 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c42284770/167920679/c4228477027e79956a99d005a8c207e4_max_476x317.jpeg",
+ "url": "property-photo/c42284770/167920679/c4228477027e79956a99d005a8c207e4.jpeg",
+ "caption": "Bedroom 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2630ea5e5/167920679/2630ea5e5333bcbe886daaca3d703249_max_476x317.jpeg",
+ "url": "property-photo/2630ea5e5/167920679/2630ea5e5333bcbe886daaca3d703249.jpeg",
+ "caption": "Bedroom 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/105fcfbf5/167920679/105fcfbf52f1a97434ca4298fbd26c4b_max_476x317.jpeg",
+ "url": "property-photo/105fcfbf5/167920679/105fcfbf52f1a97434ca4298fbd26c4b.jpeg",
+ "caption": "Dining Room"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d9a18adf5/167920679/d9a18adf57574f87b5a8e80ddcb6938f_max_476x317.jpeg",
+ "url": "property-photo/d9a18adf5/167920679/d9a18adf57574f87b5a8e80ddcb6938f.jpeg",
+ "caption": "Reception 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/049b86e79/167920679/049b86e79da78cf9ce9647415e950b2c_max_476x317.jpeg",
+ "url": "property-photo/049b86e79/167920679/049b86e79da78cf9ce9647415e950b2c.jpeg",
+ "caption": "Reception 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c69eed59d/167920679/c69eed59dd791e411d79da627445504a_max_476x317.jpeg",
+ "url": "property-photo/c69eed59d/167920679/c69eed59dd791e411d79da627445504a.jpeg",
+ "caption": "Shower"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fda459ed2/167920679/fda459ed224f8472490b5cc829f8a81a_max_476x317.jpeg",
+ "url": "property-photo/fda459ed2/167920679/fda459ed224f8472490b5cc829f8a81a.jpeg",
+ "caption": "Utility"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/29f1ea1bb/167920679/29f1ea1bbc3d5a14b929f856048d3012_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Martin & Co, Wanstead",
+ "addedOrReduced": "Reduced on 26/12/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 166536284,
+ "bedrooms": 6,
+ "bathrooms": 0,
+ "numberOfImages": 34,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "CHAIN FREE | 6/7 BEDROOM SEMI DETACHED | LARGE DRIVEWAY | GARAGE | 3 RECEPTION ROOMS | UTILITY ROOM | 4 BATHROOMS | CINEMA ROOM | OVER 3000 SQ FEET | 0.4 MILES TO SNARESBROOK STATION & WANSTEAD HIGH ST",
+ "displayAddress": "Hollybush Hill, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.57782, "longitude": 0.01814 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f_max_476x317.jpeg",
+ "url": "property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6812b495/166536284/b6812b495b4711026e51dea3fc77f3a8_max_476x317.jpeg",
+ "url": "property-photo/b6812b495/166536284/b6812b495b4711026e51dea3fc77f3a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5269d80c4/166536284/5269d80c46e004e7613429eb1333f5c9_max_476x317.jpeg",
+ "url": "property-photo/5269d80c4/166536284/5269d80c46e004e7613429eb1333f5c9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e9b8ad1bd/166536284/e9b8ad1bd70cf8a8276a3819261664e0_max_476x317.jpeg",
+ "url": "property-photo/e9b8ad1bd/166536284/e9b8ad1bd70cf8a8276a3819261664e0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/489ada0ca/166536284/489ada0ca3462f9c62f2366c423c014f_max_476x317.jpeg",
+ "url": "property-photo/489ada0ca/166536284/489ada0ca3462f9c62f2366c423c014f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e72a8fd38/166536284/e72a8fd386e9c0b53ca880db9bfdf6f2_max_476x317.jpeg",
+ "url": "property-photo/e72a8fd38/166536284/e72a8fd386e9c0b53ca880db9bfdf6f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1fde6ca5/166536284/f1fde6ca51dfa8f596c77d6b653ed452_max_476x317.jpeg",
+ "url": "property-photo/f1fde6ca5/166536284/f1fde6ca51dfa8f596c77d6b653ed452.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06b606b5c/166536284/06b606b5c3e8ba313293a36eca0c872d_max_476x317.jpeg",
+ "url": "property-photo/06b606b5c/166536284/06b606b5c3e8ba313293a36eca0c872d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71d4d65f6/166536284/71d4d65f6505d54a8a5f18de402ad92b_max_476x317.jpeg",
+ "url": "property-photo/71d4d65f6/166536284/71d4d65f6505d54a8a5f18de402ad92b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da6edc28a/166536284/da6edc28a6416e4a8456c9a974ebc264_max_476x317.jpeg",
+ "url": "property-photo/da6edc28a/166536284/da6edc28a6416e4a8456c9a974ebc264.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bdebd3289/166536284/bdebd3289394ff2a6b088eedecff5897_max_476x317.jpeg",
+ "url": "property-photo/bdebd3289/166536284/bdebd3289394ff2a6b088eedecff5897.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45c18f15c/166536284/45c18f15c06644a1362fdeeb456a0884_max_476x317.jpeg",
+ "url": "property-photo/45c18f15c/166536284/45c18f15c06644a1362fdeeb456a0884.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7e7ab3ae/166536284/b7e7ab3ae12adc7cbd35558fe5a766a2_max_476x317.jpeg",
+ "url": "property-photo/b7e7ab3ae/166536284/b7e7ab3ae12adc7cbd35558fe5a766a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/55e5fb70b/166536284/55e5fb70be773cadf1fe615b88a2ced9_max_476x317.jpeg",
+ "url": "property-photo/55e5fb70b/166536284/55e5fb70be773cadf1fe615b88a2ced9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37dd2ca/166536284/6c37dd2ca3d149e5bed9a87a7a666fc4_max_476x317.jpeg",
+ "url": "property-photo/6c37dd2ca/166536284/6c37dd2ca3d149e5bed9a87a7a666fc4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/802f382eb/166536284/802f382ebc4d750a755fecf52fc303c4_max_476x317.jpeg",
+ "url": "property-photo/802f382eb/166536284/802f382ebc4d750a755fecf52fc303c4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d157931d6/166536284/d157931d6262a96dfb54adb3e26895c3_max_476x317.jpeg",
+ "url": "property-photo/d157931d6/166536284/d157931d6262a96dfb54adb3e26895c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71daa8098/166536284/71daa8098c31f30c3930e3a86a3e9acc_max_476x317.jpeg",
+ "url": "property-photo/71daa8098/166536284/71daa8098c31f30c3930e3a86a3e9acc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b86ce29ea/166536284/b86ce29ea54bb32429d36688c6e09e42_max_476x317.jpeg",
+ "url": "property-photo/b86ce29ea/166536284/b86ce29ea54bb32429d36688c6e09e42.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/420821382/166536284/420821382c0b3f6215c0b6cb61512ca8_max_476x317.jpeg",
+ "url": "property-photo/420821382/166536284/420821382c0b3f6215c0b6cb61512ca8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/86447d756/166536284/86447d756bcb16cc26dd137f7764f416_max_476x317.jpeg",
+ "url": "property-photo/86447d756/166536284/86447d756bcb16cc26dd137f7764f416.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/85d66f001/166536284/85d66f001f18e6c244de45c8b11b998a_max_476x317.jpeg",
+ "url": "property-photo/85d66f001/166536284/85d66f001f18e6c244de45c8b11b998a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b8412824c/166536284/b8412824c9c352b0adbbe8df96661add_max_476x317.jpeg",
+ "url": "property-photo/b8412824c/166536284/b8412824c9c352b0adbbe8df96661add.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/608e584f5/166536284/608e584f507c0384d8b5616b89268147_max_476x317.jpeg",
+ "url": "property-photo/608e584f5/166536284/608e584f507c0384d8b5616b89268147.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f61e9b9c/166536284/6f61e9b9c6ecf414ae05810d392c1653_max_476x317.jpeg",
+ "url": "property-photo/6f61e9b9c/166536284/6f61e9b9c6ecf414ae05810d392c1653.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ff86def5c/166536284/ff86def5cd837993183bd0cdff944d22_max_476x317.jpeg",
+ "url": "property-photo/ff86def5c/166536284/ff86def5cd837993183bd0cdff944d22.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ec575b027/166536284/ec575b027d7cf038fd900795820080a8_max_476x317.jpeg",
+ "url": "property-photo/ec575b027/166536284/ec575b027d7cf038fd900795820080a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8fa1c5fb1/166536284/8fa1c5fb184ced8c4213471b6d9f4709_max_476x317.jpeg",
+ "url": "property-photo/8fa1c5fb1/166536284/8fa1c5fb184ced8c4213471b6d9f4709.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/43216f328/166536284/43216f32836d4c5fd86c3430cd051475_max_476x317.jpeg",
+ "url": "property-photo/43216f328/166536284/43216f32836d4c5fd86c3430cd051475.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d8741e3e/166536284/6d8741e3e13973ff07bec9c1a84480cd_max_476x317.jpeg",
+ "url": "property-photo/6d8741e3e/166536284/6d8741e3e13973ff07bec9c1a84480cd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa0a0396e/166536284/fa0a0396e3f7db9d6710003bac716bef_max_476x317.jpeg",
+ "url": "property-photo/fa0a0396e/166536284/fa0a0396e3f7db9d6710003bac716bef.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cf5172a49/166536284/cf5172a4983c62819304a04d253f83e4_max_476x317.jpeg",
+ "url": "property-photo/cf5172a49/166536284/cf5172a4983c62819304a04d253f83e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/21acc891e/166536284/21acc891ee8a1d7ccc69cc04f3b2c07a_max_476x317.jpeg",
+ "url": "property-photo/21acc891e/166536284/21acc891ee8a1d7ccc69cc04f3b2c07a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8334b361d/166536284/8334b361d167f32ff14b6f7059900029_max_476x317.jpeg",
+ "url": "property-photo/8334b361d/166536284/8334b361d167f32ff14b6f7059900029.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-04T12:08:27Z"
+ },
+ "price": {
+ "amount": 1500000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,500,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 45525,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "contactTelephone": "020 3910 6305",
+ "branchDisplayName": "Martin & Co, Wanstead",
+ "branchName": "Wanstead",
+ "brandTradingName": "Martin & Co",
+ "branchLandingPageUrl": "/estate-agents/agent/Martin-and-Co/Wanstead-45525.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-12T13:43:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_80819_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/166536284#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=166536284",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-09-03T13:30:05Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-12T03:39:15Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "CHAIN FREE",
+ "htmlDescription": "CHAIN FREE"
+ },
+ {
+ "order": 2,
+ "description": "3 RECEPTION ROOMS",
+ "htmlDescription": "3 RECEPTION ROOMS"
+ },
+ {
+ "order": 3,
+ "description": "6/7 BEDROOMS & 4 BATHROOMS",
+ "htmlDescription": "6/7 BEDROOMS & 4 BATHROOMS"
+ },
+ {
+ "order": 4,
+ "description": "OVER 3000 SQUARE FOOT",
+ "htmlDescription": "OVER 3000 SQUARE FOOT"
+ },
+ {
+ "order": 5,
+ "description": "KITCHEN PLUS UTILITY ROOM",
+ "htmlDescription": "KITCHEN PLUS UTILITY ROOM"
+ },
+ {
+ "order": 6,
+ "description": "DRIVEWAY & GARAGE",
+ "htmlDescription": "DRIVEWAY & GARAGE"
+ },
+ {
+ "order": 7,
+ "description": "0.4 MILES TO SNARESBROOK STATION & WANSTEAD HIGH ST",
+ "htmlDescription": "0.4 MILES TO SNARESBROOK STATION & WANSTEAD HIGH ST"
+ },
+ {
+ "order": 8,
+ "description": "EPC - D - COUNCIL TAX - G",
+ "htmlDescription": "EPC - D - COUNCIL TAX - G"
+ },
+ {
+ "order": 9,
+ "description": "LARGE REAR GARDEN",
+ "htmlDescription": "LARGE REAR GARDEN"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f_max_476x317.jpeg",
+ "url": "property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6812b495/166536284/b6812b495b4711026e51dea3fc77f3a8_max_476x317.jpeg",
+ "url": "property-photo/b6812b495/166536284/b6812b495b4711026e51dea3fc77f3a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5269d80c4/166536284/5269d80c46e004e7613429eb1333f5c9_max_476x317.jpeg",
+ "url": "property-photo/5269d80c4/166536284/5269d80c46e004e7613429eb1333f5c9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e9b8ad1bd/166536284/e9b8ad1bd70cf8a8276a3819261664e0_max_476x317.jpeg",
+ "url": "property-photo/e9b8ad1bd/166536284/e9b8ad1bd70cf8a8276a3819261664e0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/489ada0ca/166536284/489ada0ca3462f9c62f2366c423c014f_max_476x317.jpeg",
+ "url": "property-photo/489ada0ca/166536284/489ada0ca3462f9c62f2366c423c014f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e72a8fd38/166536284/e72a8fd386e9c0b53ca880db9bfdf6f2_max_476x317.jpeg",
+ "url": "property-photo/e72a8fd38/166536284/e72a8fd386e9c0b53ca880db9bfdf6f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f1fde6ca5/166536284/f1fde6ca51dfa8f596c77d6b653ed452_max_476x317.jpeg",
+ "url": "property-photo/f1fde6ca5/166536284/f1fde6ca51dfa8f596c77d6b653ed452.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06b606b5c/166536284/06b606b5c3e8ba313293a36eca0c872d_max_476x317.jpeg",
+ "url": "property-photo/06b606b5c/166536284/06b606b5c3e8ba313293a36eca0c872d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71d4d65f6/166536284/71d4d65f6505d54a8a5f18de402ad92b_max_476x317.jpeg",
+ "url": "property-photo/71d4d65f6/166536284/71d4d65f6505d54a8a5f18de402ad92b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/da6edc28a/166536284/da6edc28a6416e4a8456c9a974ebc264_max_476x317.jpeg",
+ "url": "property-photo/da6edc28a/166536284/da6edc28a6416e4a8456c9a974ebc264.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bdebd3289/166536284/bdebd3289394ff2a6b088eedecff5897_max_476x317.jpeg",
+ "url": "property-photo/bdebd3289/166536284/bdebd3289394ff2a6b088eedecff5897.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45c18f15c/166536284/45c18f15c06644a1362fdeeb456a0884_max_476x317.jpeg",
+ "url": "property-photo/45c18f15c/166536284/45c18f15c06644a1362fdeeb456a0884.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7e7ab3ae/166536284/b7e7ab3ae12adc7cbd35558fe5a766a2_max_476x317.jpeg",
+ "url": "property-photo/b7e7ab3ae/166536284/b7e7ab3ae12adc7cbd35558fe5a766a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/55e5fb70b/166536284/55e5fb70be773cadf1fe615b88a2ced9_max_476x317.jpeg",
+ "url": "property-photo/55e5fb70b/166536284/55e5fb70be773cadf1fe615b88a2ced9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37dd2ca/166536284/6c37dd2ca3d149e5bed9a87a7a666fc4_max_476x317.jpeg",
+ "url": "property-photo/6c37dd2ca/166536284/6c37dd2ca3d149e5bed9a87a7a666fc4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/802f382eb/166536284/802f382ebc4d750a755fecf52fc303c4_max_476x317.jpeg",
+ "url": "property-photo/802f382eb/166536284/802f382ebc4d750a755fecf52fc303c4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d157931d6/166536284/d157931d6262a96dfb54adb3e26895c3_max_476x317.jpeg",
+ "url": "property-photo/d157931d6/166536284/d157931d6262a96dfb54adb3e26895c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/71daa8098/166536284/71daa8098c31f30c3930e3a86a3e9acc_max_476x317.jpeg",
+ "url": "property-photo/71daa8098/166536284/71daa8098c31f30c3930e3a86a3e9acc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b86ce29ea/166536284/b86ce29ea54bb32429d36688c6e09e42_max_476x317.jpeg",
+ "url": "property-photo/b86ce29ea/166536284/b86ce29ea54bb32429d36688c6e09e42.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/420821382/166536284/420821382c0b3f6215c0b6cb61512ca8_max_476x317.jpeg",
+ "url": "property-photo/420821382/166536284/420821382c0b3f6215c0b6cb61512ca8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/86447d756/166536284/86447d756bcb16cc26dd137f7764f416_max_476x317.jpeg",
+ "url": "property-photo/86447d756/166536284/86447d756bcb16cc26dd137f7764f416.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/85d66f001/166536284/85d66f001f18e6c244de45c8b11b998a_max_476x317.jpeg",
+ "url": "property-photo/85d66f001/166536284/85d66f001f18e6c244de45c8b11b998a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b8412824c/166536284/b8412824c9c352b0adbbe8df96661add_max_476x317.jpeg",
+ "url": "property-photo/b8412824c/166536284/b8412824c9c352b0adbbe8df96661add.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/608e584f5/166536284/608e584f507c0384d8b5616b89268147_max_476x317.jpeg",
+ "url": "property-photo/608e584f5/166536284/608e584f507c0384d8b5616b89268147.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f61e9b9c/166536284/6f61e9b9c6ecf414ae05810d392c1653_max_476x317.jpeg",
+ "url": "property-photo/6f61e9b9c/166536284/6f61e9b9c6ecf414ae05810d392c1653.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ff86def5c/166536284/ff86def5cd837993183bd0cdff944d22_max_476x317.jpeg",
+ "url": "property-photo/ff86def5c/166536284/ff86def5cd837993183bd0cdff944d22.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ec575b027/166536284/ec575b027d7cf038fd900795820080a8_max_476x317.jpeg",
+ "url": "property-photo/ec575b027/166536284/ec575b027d7cf038fd900795820080a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8fa1c5fb1/166536284/8fa1c5fb184ced8c4213471b6d9f4709_max_476x317.jpeg",
+ "url": "property-photo/8fa1c5fb1/166536284/8fa1c5fb184ced8c4213471b6d9f4709.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/43216f328/166536284/43216f32836d4c5fd86c3430cd051475_max_476x317.jpeg",
+ "url": "property-photo/43216f328/166536284/43216f32836d4c5fd86c3430cd051475.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d8741e3e/166536284/6d8741e3e13973ff07bec9c1a84480cd_max_476x317.jpeg",
+ "url": "property-photo/6d8741e3e/166536284/6d8741e3e13973ff07bec9c1a84480cd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa0a0396e/166536284/fa0a0396e3f7db9d6710003bac716bef_max_476x317.jpeg",
+ "url": "property-photo/fa0a0396e/166536284/fa0a0396e3f7db9d6710003bac716bef.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cf5172a49/166536284/cf5172a4983c62819304a04d253f83e4_max_476x317.jpeg",
+ "url": "property-photo/cf5172a49/166536284/cf5172a4983c62819304a04d253f83e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/21acc891e/166536284/21acc891ee8a1d7ccc69cc04f3b2c07a_max_476x317.jpeg",
+ "url": "property-photo/21acc891e/166536284/21acc891ee8a1d7ccc69cc04f3b2c07a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8334b361d/166536284/8334b361d167f32ff14b6f7059900029_max_476x317.jpeg",
+ "url": "property-photo/8334b361d/166536284/8334b361d167f32ff14b6f7059900029.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/80bd71249/166536284/80bd7124925ab76b78bc146b9a5a536f_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Martin & Co, Wanstead",
+ "addedOrReduced": "Reduced on 04/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "6 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171954710,
+ "bedrooms": 5,
+ "bathrooms": 2,
+ "numberOfImages": 21,
+ "numberOfFloorplans": 4,
+ "numberOfVirtualTours": 0,
+ "summary": "We are pleased to offer this well maintained semi-detached 5 Bedroom house located in Wanstead Village. This property is just a short distance from Wanstead High Street and Wanstead Central Line Tube Station. An internal viewing is highly advised.",
+ "displayAddress": "Seagry Road, London, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.57154, "longitude": 0.02738 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425_max_476x317.jpeg",
+ "url": "property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ab233945/171954710/7ab233945f755a4fa1ed255bafe1ffb5_max_476x317.jpeg",
+ "url": "property-photo/7ab233945/171954710/7ab233945f755a4fa1ed255bafe1ffb5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/876337c97/171954710/876337c972de4fd31560e7028a4c7ff2_max_476x317.jpeg",
+ "url": "property-photo/876337c97/171954710/876337c972de4fd31560e7028a4c7ff2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d378e1473/171954710/d378e1473d91354d671c1800a7db3df9_max_476x317.jpeg",
+ "url": "property-photo/d378e1473/171954710/d378e1473d91354d671c1800a7db3df9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12dca3cc7/171954710/12dca3cc729e6e2b80003d77eee03f6f_max_476x317.jpeg",
+ "url": "property-photo/12dca3cc7/171954710/12dca3cc729e6e2b80003d77eee03f6f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13b49a931/171954710/13b49a931ba710577b455b1af91242ed_max_476x317.jpeg",
+ "url": "property-photo/13b49a931/171954710/13b49a931ba710577b455b1af91242ed.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/456c3323e/171954710/456c3323ecef8f4442eccc95c39cb759_max_476x317.jpeg",
+ "url": "property-photo/456c3323e/171954710/456c3323ecef8f4442eccc95c39cb759.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b67d439bd/171954710/b67d439bd3406e478e34e22ecb14c3fd_max_476x317.jpeg",
+ "url": "property-photo/b67d439bd/171954710/b67d439bd3406e478e34e22ecb14c3fd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/992bb3950/171954710/992bb39505b02793d094cfa8bc3ec964_max_476x317.jpeg",
+ "url": "property-photo/992bb3950/171954710/992bb39505b02793d094cfa8bc3ec964.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/587271e88/171954710/587271e8871eb7d2c99325158f72c619_max_476x317.jpeg",
+ "url": "property-photo/587271e88/171954710/587271e8871eb7d2c99325158f72c619.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac992c130/171954710/ac992c1308e8f6ea12144a83d7f393c3_max_476x317.jpeg",
+ "url": "property-photo/ac992c130/171954710/ac992c1308e8f6ea12144a83d7f393c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9536ee20f/171954710/9536ee20fc6fc921d2b2c89e071f1a40_max_476x317.jpeg",
+ "url": "property-photo/9536ee20f/171954710/9536ee20fc6fc921d2b2c89e071f1a40.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f818d2c3d/171954710/f818d2c3d31f554b444267e1254e89b2_max_476x317.jpeg",
+ "url": "property-photo/f818d2c3d/171954710/f818d2c3d31f554b444267e1254e89b2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/22727188e/171954710/22727188ebeae22d27cd88add1439f5e_max_476x317.jpeg",
+ "url": "property-photo/22727188e/171954710/22727188ebeae22d27cd88add1439f5e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4b9a6835b/171954710/4b9a6835b4e38897bb4b542eb27f6018_max_476x317.jpeg",
+ "url": "property-photo/4b9a6835b/171954710/4b9a6835b4e38897bb4b542eb27f6018.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1df528dd2/171954710/1df528dd209396068ed84d2784f001be_max_476x317.jpeg",
+ "url": "property-photo/1df528dd2/171954710/1df528dd209396068ed84d2784f001be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65b2f9106/171954710/65b2f91060e78eb74a555f5268e1fd81_max_476x317.jpeg",
+ "url": "property-photo/65b2f9106/171954710/65b2f91060e78eb74a555f5268e1fd81.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d7cfe0b2/171954710/6d7cfe0b2c4f3ee6d83432812e40fa18_max_476x317.jpeg",
+ "url": "property-photo/6d7cfe0b2/171954710/6d7cfe0b2c4f3ee6d83432812e40fa18.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a68ca9cbc/171954710/a68ca9cbc79998bb763e55268d0144e0_max_476x317.jpeg",
+ "url": "property-photo/a68ca9cbc/171954710/a68ca9cbc79998bb763e55268d0144e0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/35b8aa757/171954710/35b8aa757d2ee17eea6f5d43c2bb6953_max_476x317.jpeg",
+ "url": "property-photo/35b8aa757/171954710/35b8aa757d2ee17eea6f5d43c2bb6953.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/acd2c9207/171954710/acd2c9207ff81882441fbe9a391c202e_max_476x317.jpeg",
+ "url": "property-photo/acd2c9207/171954710/acd2c9207ff81882441fbe9a391c202e.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2025-10-02T12:04:49Z"
+ },
+ "price": {
+ "amount": 1425000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,425,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 30897,
+ "brandPlusLogoURI": "/company/clogo_8127_0003.jpg",
+ "contactTelephone": "020 4572 8123",
+ "branchDisplayName": "Circa Residential Property, South Woodford",
+ "branchName": "South Woodford",
+ "brandTradingName": "Circa Residential Property",
+ "branchLandingPageUrl": "/estate-agents/agent/Circa-Residential-Property/South-Woodford-30897.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-11-19T09:42:22Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_8127_0003.jpg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "1,905 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171954710#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=171954710",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-02-06T15:50:17Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-06T15:56:04Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Extremely Well Presented Semi-Detached House",
+ "htmlDescription": "Extremely Well Presented Semi-Detached House"
+ },
+ {
+ "order": 2,
+ "description": "Loft Conversion w/ Double Glazed Doors to Juilet Balcony + En-Suite Shower",
+ "htmlDescription": "Loft Conversion w/ Double Glazed Doors to Juilet Balcony + En-Suite Shower "
+ },
+ {
+ "order": 3,
+ "description": "Two Bright Spacious Reception Rooms",
+ "htmlDescription": "Two Bright Spacious Reception Rooms"
+ },
+ {
+ "order": 4,
+ "description": "Contemproary Fitted Kitchen Including Integrated Appliances",
+ "htmlDescription": "Contemproary Fitted Kitchen Including Integrated Appliances"
+ },
+ {
+ "order": 5,
+ "description": "Ground Floor W/C",
+ "htmlDescription": "Ground Floor W/C"
+ },
+ {
+ "order": 6,
+ "description": "Modern First Floor Tiled Bathroom with Separate Shower Cubical",
+ "htmlDescription": "Modern First Floor Tiled Bathroom with Separate Shower Cubical"
+ },
+ {
+ "order": 7,
+ "description": "Laminated Wood Flooring + Carpets Throughout",
+ "htmlDescription": "Laminated Wood Flooring + Carpets Throughout"
+ },
+ {
+ "order": 8,
+ "description": "2 Car Driveway",
+ "htmlDescription": "2 Car Driveway"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425_max_476x317.jpeg",
+ "url": "property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ab233945/171954710/7ab233945f755a4fa1ed255bafe1ffb5_max_476x317.jpeg",
+ "url": "property-photo/7ab233945/171954710/7ab233945f755a4fa1ed255bafe1ffb5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/876337c97/171954710/876337c972de4fd31560e7028a4c7ff2_max_476x317.jpeg",
+ "url": "property-photo/876337c97/171954710/876337c972de4fd31560e7028a4c7ff2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d378e1473/171954710/d378e1473d91354d671c1800a7db3df9_max_476x317.jpeg",
+ "url": "property-photo/d378e1473/171954710/d378e1473d91354d671c1800a7db3df9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12dca3cc7/171954710/12dca3cc729e6e2b80003d77eee03f6f_max_476x317.jpeg",
+ "url": "property-photo/12dca3cc7/171954710/12dca3cc729e6e2b80003d77eee03f6f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13b49a931/171954710/13b49a931ba710577b455b1af91242ed_max_476x317.jpeg",
+ "url": "property-photo/13b49a931/171954710/13b49a931ba710577b455b1af91242ed.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/456c3323e/171954710/456c3323ecef8f4442eccc95c39cb759_max_476x317.jpeg",
+ "url": "property-photo/456c3323e/171954710/456c3323ecef8f4442eccc95c39cb759.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b67d439bd/171954710/b67d439bd3406e478e34e22ecb14c3fd_max_476x317.jpeg",
+ "url": "property-photo/b67d439bd/171954710/b67d439bd3406e478e34e22ecb14c3fd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/992bb3950/171954710/992bb39505b02793d094cfa8bc3ec964_max_476x317.jpeg",
+ "url": "property-photo/992bb3950/171954710/992bb39505b02793d094cfa8bc3ec964.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/587271e88/171954710/587271e8871eb7d2c99325158f72c619_max_476x317.jpeg",
+ "url": "property-photo/587271e88/171954710/587271e8871eb7d2c99325158f72c619.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac992c130/171954710/ac992c1308e8f6ea12144a83d7f393c3_max_476x317.jpeg",
+ "url": "property-photo/ac992c130/171954710/ac992c1308e8f6ea12144a83d7f393c3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9536ee20f/171954710/9536ee20fc6fc921d2b2c89e071f1a40_max_476x317.jpeg",
+ "url": "property-photo/9536ee20f/171954710/9536ee20fc6fc921d2b2c89e071f1a40.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f818d2c3d/171954710/f818d2c3d31f554b444267e1254e89b2_max_476x317.jpeg",
+ "url": "property-photo/f818d2c3d/171954710/f818d2c3d31f554b444267e1254e89b2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/22727188e/171954710/22727188ebeae22d27cd88add1439f5e_max_476x317.jpeg",
+ "url": "property-photo/22727188e/171954710/22727188ebeae22d27cd88add1439f5e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4b9a6835b/171954710/4b9a6835b4e38897bb4b542eb27f6018_max_476x317.jpeg",
+ "url": "property-photo/4b9a6835b/171954710/4b9a6835b4e38897bb4b542eb27f6018.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1df528dd2/171954710/1df528dd209396068ed84d2784f001be_max_476x317.jpeg",
+ "url": "property-photo/1df528dd2/171954710/1df528dd209396068ed84d2784f001be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65b2f9106/171954710/65b2f91060e78eb74a555f5268e1fd81_max_476x317.jpeg",
+ "url": "property-photo/65b2f9106/171954710/65b2f91060e78eb74a555f5268e1fd81.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d7cfe0b2/171954710/6d7cfe0b2c4f3ee6d83432812e40fa18_max_476x317.jpeg",
+ "url": "property-photo/6d7cfe0b2/171954710/6d7cfe0b2c4f3ee6d83432812e40fa18.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a68ca9cbc/171954710/a68ca9cbc79998bb763e55268d0144e0_max_476x317.jpeg",
+ "url": "property-photo/a68ca9cbc/171954710/a68ca9cbc79998bb763e55268d0144e0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/35b8aa757/171954710/35b8aa757d2ee17eea6f5d43c2bb6953_max_476x317.jpeg",
+ "url": "property-photo/35b8aa757/171954710/35b8aa757d2ee17eea6f5d43c2bb6953.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/acd2c9207/171954710/acd2c9207ff81882441fbe9a391c202e_max_476x317.jpeg",
+ "url": "property-photo/acd2c9207/171954710/acd2c9207ff81882441fbe9a391c202e.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5cf87b21e/171954710/5cf87b21e44c6e3e748794458125c425_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Circa Residential Property, South Woodford",
+ "addedOrReduced": "Reduced on 02/10/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171755978,
+ "bedrooms": 5,
+ "bathrooms": 4,
+ "numberOfImages": 24,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Chain Free - Desirable Location - Excellent Transport Links - Garden With Versatile Outbuilding - Utility Room & Downstairs Shower Room - Multiple Reception Rooms - Character Features - Open Plan Kitchen & Living Room - Five Bedrooms, Three With En Suite Access - Over 2,300 SQ FT of Living Space ...",
+ "displayAddress": "Cambridge Road, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.573795, "longitude": 0.019432 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec_max_476x317.jpeg",
+ "url": "property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec.jpeg",
+ "caption": "Cambridge-70.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/aaa886485/171755978/aaa8864853741b72f716052bd7e50c6d_max_476x317.jpeg",
+ "url": "property-photo/aaa886485/171755978/aaa8864853741b72f716052bd7e50c6d.jpeg",
+ "caption": "Cambridge-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/39ac5344b/171755978/39ac5344b19c75e1b206fc917b586321_max_476x317.jpeg",
+ "url": "property-photo/39ac5344b/171755978/39ac5344b19c75e1b206fc917b586321.jpeg",
+ "caption": "Cambridge-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12e4f2304/171755978/12e4f230400edeb6f5000accd5ad34d2_max_476x317.jpeg",
+ "url": "property-photo/12e4f2304/171755978/12e4f230400edeb6f5000accd5ad34d2.jpeg",
+ "caption": "Cambridge-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9436a9a/171755978/db9436a9ae5765fab382f01b8442d661_max_476x317.jpeg",
+ "url": "property-photo/db9436a9a/171755978/db9436a9ae5765fab382f01b8442d661.jpeg",
+ "caption": "Cambridge-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1926ddb1/171755978/e1926ddb14ad4671f266fa47f59eea3c_max_476x317.jpeg",
+ "url": "property-photo/e1926ddb1/171755978/e1926ddb14ad4671f266fa47f59eea3c.jpeg",
+ "caption": "Cambridge-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d2eef4ca5/171755978/d2eef4ca5836d8a1a5613741a3c63daf_max_476x317.jpeg",
+ "url": "property-photo/d2eef4ca5/171755978/d2eef4ca5836d8a1a5613741a3c63daf.jpeg",
+ "caption": "Cambridge-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65ada7125/171755978/65ada712548f916a9c9cf7aa93ddd792_max_476x317.jpeg",
+ "url": "property-photo/65ada7125/171755978/65ada712548f916a9c9cf7aa93ddd792.jpeg",
+ "caption": "Cambridge-60.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f2d91c37d/171755978/f2d91c37d0fae6364f1a3e360ab043b1_max_476x317.jpeg",
+ "url": "property-photo/f2d91c37d/171755978/f2d91c37d0fae6364f1a3e360ab043b1.jpeg",
+ "caption": "Cambridge-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9482461/171755978/db9482461909a23d6a5c9d1f6b731eed_max_476x317.jpeg",
+ "url": "property-photo/db9482461/171755978/db9482461909a23d6a5c9d1f6b731eed.jpeg",
+ "caption": "Cambridge-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/708bf0def/171755978/708bf0defda66fb64bdc982f3575a549_max_476x317.jpeg",
+ "url": "property-photo/708bf0def/171755978/708bf0defda66fb64bdc982f3575a549.jpeg",
+ "caption": "Cambridge-28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/836d22c7d/171755978/836d22c7d341b8b620fb236b28efb975_max_476x317.jpeg",
+ "url": "property-photo/836d22c7d/171755978/836d22c7d341b8b620fb236b28efb975.jpeg",
+ "caption": "Cambridge-30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c1aaa99b/171755978/5c1aaa99b25632e3e648962d0659b5d3_max_476x317.jpeg",
+ "url": "property-photo/5c1aaa99b/171755978/5c1aaa99b25632e3e648962d0659b5d3.jpeg",
+ "caption": "Cambridge-32.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fed93f4a6/171755978/fed93f4a65a8cb078853148d5650b3ae_max_476x317.jpeg",
+ "url": "property-photo/fed93f4a6/171755978/fed93f4a65a8cb078853148d5650b3ae.jpeg",
+ "caption": "Cambridge-33.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d8afc5b7/171755978/3d8afc5b706f881d59033196a1874d3d_max_476x317.jpeg",
+ "url": "property-photo/3d8afc5b7/171755978/3d8afc5b706f881d59033196a1874d3d.jpeg",
+ "caption": "Cambridge-38.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/739ea3019/171755978/739ea3019fb6b5b97090f8091051d9c4_max_476x317.jpeg",
+ "url": "property-photo/739ea3019/171755978/739ea3019fb6b5b97090f8091051d9c4.jpeg",
+ "caption": "Cambridge-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d7349076/171755978/5d7349076b74c0043ca1782c988b6ed7_max_476x317.jpeg",
+ "url": "property-photo/5d7349076/171755978/5d7349076b74c0043ca1782c988b6ed7.jpeg",
+ "caption": "Cambridge-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e21feffd9/171755978/e21feffd9fb1f97b855c726ec3ea4ec7_max_476x317.jpeg",
+ "url": "property-photo/e21feffd9/171755978/e21feffd9fb1f97b855c726ec3ea4ec7.jpeg",
+ "caption": "Cambridge-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d9c8ff70f/171755978/d9c8ff70f8685267c3d6288f4fe39c39_max_476x317.jpeg",
+ "url": "property-photo/d9c8ff70f/171755978/d9c8ff70f8685267c3d6288f4fe39c39.jpeg",
+ "caption": "Cambridge-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f97195184/171755978/f97195184b187bc9783441e8aeb7e05e_max_476x317.jpeg",
+ "url": "property-photo/f97195184/171755978/f97195184b187bc9783441e8aeb7e05e.jpeg",
+ "caption": "Cambridge-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a7535a05f/171755978/a7535a05f0e08c56d8bf2de08117e02f_max_476x317.jpeg",
+ "url": "property-photo/a7535a05f/171755978/a7535a05f0e08c56d8bf2de08117e02f.jpeg",
+ "caption": "Cambridge-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/82dccc045/171755978/82dccc04583a64ac4ee3b972c5a6acf0_max_476x317.jpeg",
+ "url": "property-photo/82dccc045/171755978/82dccc04583a64ac4ee3b972c5a6acf0.jpeg",
+ "caption": "Cambridge-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/03c34a4c7/171755978/03c34a4c76bd1a2099e0ed3dce92596c_max_476x317.jpeg",
+ "url": "property-photo/03c34a4c7/171755978/03c34a4c76bd1a2099e0ed3dce92596c.jpeg",
+ "caption": "Cambridge-68.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e14a1329/171755978/3e14a132995458aa8af6f487748d28bb_max_476x317.jpeg",
+ "url": "property-photo/3e14a1329/171755978/3e14a132995458aa8af6f487748d28bb.jpeg",
+ "caption": "Cambridge-71.1.jpg"
+ }
+ ],
+ "propertySubType": "Terraced",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-02T17:25:07Z"
+ },
+ "price": {
+ "amount": 1350000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,350,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Period Property",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,356 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171755978#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=171755978",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-02-02T17:20:03Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T10:12:28Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Chain Free",
+ "htmlDescription": "Chain Free"
+ },
+ {
+ "order": 2,
+ "description": "Excellent Transport Links",
+ "htmlDescription": "Excellent Transport Links"
+ },
+ {
+ "order": 3,
+ "description": "Garden With Versatile Outbuilding",
+ "htmlDescription": "Garden With Versatile Outbuilding"
+ },
+ {
+ "order": 4,
+ "description": "Utility Room & Downstairs Shower Room",
+ "htmlDescription": "Utility Room & Downstairs Shower Room"
+ },
+ {
+ "order": 5,
+ "description": "Multiple Reception Rooms",
+ "htmlDescription": "Multiple Reception Rooms"
+ },
+ {
+ "order": 6,
+ "description": "Character Features",
+ "htmlDescription": "Character Features"
+ },
+ {
+ "order": 7,
+ "description": "Open Plan Kitchen & Living Room",
+ "htmlDescription": "Open Plan Kitchen & Living Room"
+ },
+ {
+ "order": 8,
+ "description": "Five Bedrooms, Three With En Suite Access",
+ "htmlDescription": "Five Bedrooms, Three With En Suite Access"
+ },
+ {
+ "order": 9,
+ "description": "Over 2,300 SQ FT of Living Space",
+ "htmlDescription": "Over 2,300 SQ FT of Living Space"
+ },
+ {
+ "order": 10,
+ "description": "Triple Glazing",
+ "htmlDescription": "Triple Glazing"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec_max_476x317.jpeg",
+ "url": "property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec.jpeg",
+ "caption": "Cambridge-70.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/aaa886485/171755978/aaa8864853741b72f716052bd7e50c6d_max_476x317.jpeg",
+ "url": "property-photo/aaa886485/171755978/aaa8864853741b72f716052bd7e50c6d.jpeg",
+ "caption": "Cambridge-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/39ac5344b/171755978/39ac5344b19c75e1b206fc917b586321_max_476x317.jpeg",
+ "url": "property-photo/39ac5344b/171755978/39ac5344b19c75e1b206fc917b586321.jpeg",
+ "caption": "Cambridge-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12e4f2304/171755978/12e4f230400edeb6f5000accd5ad34d2_max_476x317.jpeg",
+ "url": "property-photo/12e4f2304/171755978/12e4f230400edeb6f5000accd5ad34d2.jpeg",
+ "caption": "Cambridge-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9436a9a/171755978/db9436a9ae5765fab382f01b8442d661_max_476x317.jpeg",
+ "url": "property-photo/db9436a9a/171755978/db9436a9ae5765fab382f01b8442d661.jpeg",
+ "caption": "Cambridge-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e1926ddb1/171755978/e1926ddb14ad4671f266fa47f59eea3c_max_476x317.jpeg",
+ "url": "property-photo/e1926ddb1/171755978/e1926ddb14ad4671f266fa47f59eea3c.jpeg",
+ "caption": "Cambridge-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d2eef4ca5/171755978/d2eef4ca5836d8a1a5613741a3c63daf_max_476x317.jpeg",
+ "url": "property-photo/d2eef4ca5/171755978/d2eef4ca5836d8a1a5613741a3c63daf.jpeg",
+ "caption": "Cambridge-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65ada7125/171755978/65ada712548f916a9c9cf7aa93ddd792_max_476x317.jpeg",
+ "url": "property-photo/65ada7125/171755978/65ada712548f916a9c9cf7aa93ddd792.jpeg",
+ "caption": "Cambridge-60.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f2d91c37d/171755978/f2d91c37d0fae6364f1a3e360ab043b1_max_476x317.jpeg",
+ "url": "property-photo/f2d91c37d/171755978/f2d91c37d0fae6364f1a3e360ab043b1.jpeg",
+ "caption": "Cambridge-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db9482461/171755978/db9482461909a23d6a5c9d1f6b731eed_max_476x317.jpeg",
+ "url": "property-photo/db9482461/171755978/db9482461909a23d6a5c9d1f6b731eed.jpeg",
+ "caption": "Cambridge-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/708bf0def/171755978/708bf0defda66fb64bdc982f3575a549_max_476x317.jpeg",
+ "url": "property-photo/708bf0def/171755978/708bf0defda66fb64bdc982f3575a549.jpeg",
+ "caption": "Cambridge-28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/836d22c7d/171755978/836d22c7d341b8b620fb236b28efb975_max_476x317.jpeg",
+ "url": "property-photo/836d22c7d/171755978/836d22c7d341b8b620fb236b28efb975.jpeg",
+ "caption": "Cambridge-30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c1aaa99b/171755978/5c1aaa99b25632e3e648962d0659b5d3_max_476x317.jpeg",
+ "url": "property-photo/5c1aaa99b/171755978/5c1aaa99b25632e3e648962d0659b5d3.jpeg",
+ "caption": "Cambridge-32.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fed93f4a6/171755978/fed93f4a65a8cb078853148d5650b3ae_max_476x317.jpeg",
+ "url": "property-photo/fed93f4a6/171755978/fed93f4a65a8cb078853148d5650b3ae.jpeg",
+ "caption": "Cambridge-33.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d8afc5b7/171755978/3d8afc5b706f881d59033196a1874d3d_max_476x317.jpeg",
+ "url": "property-photo/3d8afc5b7/171755978/3d8afc5b706f881d59033196a1874d3d.jpeg",
+ "caption": "Cambridge-38.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/739ea3019/171755978/739ea3019fb6b5b97090f8091051d9c4_max_476x317.jpeg",
+ "url": "property-photo/739ea3019/171755978/739ea3019fb6b5b97090f8091051d9c4.jpeg",
+ "caption": "Cambridge-40.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d7349076/171755978/5d7349076b74c0043ca1782c988b6ed7_max_476x317.jpeg",
+ "url": "property-photo/5d7349076/171755978/5d7349076b74c0043ca1782c988b6ed7.jpeg",
+ "caption": "Cambridge-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e21feffd9/171755978/e21feffd9fb1f97b855c726ec3ea4ec7_max_476x317.jpeg",
+ "url": "property-photo/e21feffd9/171755978/e21feffd9fb1f97b855c726ec3ea4ec7.jpeg",
+ "caption": "Cambridge-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d9c8ff70f/171755978/d9c8ff70f8685267c3d6288f4fe39c39_max_476x317.jpeg",
+ "url": "property-photo/d9c8ff70f/171755978/d9c8ff70f8685267c3d6288f4fe39c39.jpeg",
+ "caption": "Cambridge-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f97195184/171755978/f97195184b187bc9783441e8aeb7e05e_max_476x317.jpeg",
+ "url": "property-photo/f97195184/171755978/f97195184b187bc9783441e8aeb7e05e.jpeg",
+ "caption": "Cambridge-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a7535a05f/171755978/a7535a05f0e08c56d8bf2de08117e02f_max_476x317.jpeg",
+ "url": "property-photo/a7535a05f/171755978/a7535a05f0e08c56d8bf2de08117e02f.jpeg",
+ "caption": "Cambridge-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/82dccc045/171755978/82dccc04583a64ac4ee3b972c5a6acf0_max_476x317.jpeg",
+ "url": "property-photo/82dccc045/171755978/82dccc04583a64ac4ee3b972c5a6acf0.jpeg",
+ "caption": "Cambridge-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/03c34a4c7/171755978/03c34a4c76bd1a2099e0ed3dce92596c_max_476x317.jpeg",
+ "url": "property-photo/03c34a4c7/171755978/03c34a4c76bd1a2099e0ed3dce92596c.jpeg",
+ "caption": "Cambridge-68.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3e14a1329/171755978/3e14a132995458aa8af6f487748d28bb_max_476x317.jpeg",
+ "url": "property-photo/3e14a1329/171755978/3e14a132995458aa8af6f487748d28bb.jpeg",
+ "caption": "Cambridge-71.1.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2bee2e4ee/171755978/2bee2e4ee2a0c27742a9f73ec15a07ec_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Added on 02/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "5 bedroom terraced house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 168206459,
+ "bedrooms": 4,
+ "bathrooms": 2,
+ "numberOfImages": 38,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Petty Son & Prestwich present to market this elegant four-bedroom Edwardian family home with garage, enviably positioned enjoying direct access via a private gate, and views over, the stunning Wanstead Park.",
+ "displayAddress": "Woodlands Avenue, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.565513, "longitude": 0.030693 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10_max_476x317.jpeg",
+ "url": "property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffd596702/168206459/ffd596702006ae72cbaca8b3c9157b05_max_476x317.jpeg",
+ "url": "property-photo/ffd596702/168206459/ffd596702006ae72cbaca8b3c9157b05.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a2c12704/168206459/1a2c127042c636a8e45830a62d550694_max_476x317.jpeg",
+ "url": "property-photo/1a2c12704/168206459/1a2c127042c636a8e45830a62d550694.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b5229cda/168206459/2b5229cda20b509d611756132a5783a1_max_476x317.jpeg",
+ "url": "property-photo/2b5229cda/168206459/2b5229cda20b509d611756132a5783a1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/728294771/168206459/728294771a3d9ddc8f6dc8def9c1ee5f_max_476x317.jpeg",
+ "url": "property-photo/728294771/168206459/728294771a3d9ddc8f6dc8def9c1ee5f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c84e9535/168206459/1c84e953578099c4bfdb99e1c5cc21dd_max_476x317.jpeg",
+ "url": "property-photo/1c84e9535/168206459/1c84e953578099c4bfdb99e1c5cc21dd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/56fde56c6/168206459/56fde56c6873a46d765db9f50300503e_max_476x317.jpeg",
+ "url": "property-photo/56fde56c6/168206459/56fde56c6873a46d765db9f50300503e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3d9399db/168206459/e3d9399dba5d6dea29e4106ac5d83199_max_476x317.jpeg",
+ "url": "property-photo/e3d9399db/168206459/e3d9399dba5d6dea29e4106ac5d83199.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a7baa9f1c/168206459/a7baa9f1cf444994f02321f735bdaf32_max_476x317.jpeg",
+ "url": "property-photo/a7baa9f1c/168206459/a7baa9f1cf444994f02321f735bdaf32.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1bad8caf0/168206459/1bad8caf0a73b92b66cea674ce8ebaeb_max_476x317.jpeg",
+ "url": "property-photo/1bad8caf0/168206459/1bad8caf0a73b92b66cea674ce8ebaeb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9fa663f84/168206459/9fa663f849188959c98505a194a15226_max_476x317.jpeg",
+ "url": "property-photo/9fa663f84/168206459/9fa663f849188959c98505a194a15226.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/08c694b06/168206459/08c694b06bffad84df67a4439337a42c_max_476x317.jpeg",
+ "url": "property-photo/08c694b06/168206459/08c694b06bffad84df67a4439337a42c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f9179d1a/168206459/0f9179d1a83a6c82dd2719e7fd8547b4_max_476x317.jpeg",
+ "url": "property-photo/0f9179d1a/168206459/0f9179d1a83a6c82dd2719e7fd8547b4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd71cc050/168206459/cd71cc050616453691f124c1cee9cb5d_max_476x317.jpeg",
+ "url": "property-photo/cd71cc050/168206459/cd71cc050616453691f124c1cee9cb5d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02c870698/168206459/02c870698b8c849b3f2706acdf3b32ae_max_476x317.jpeg",
+ "url": "property-photo/02c870698/168206459/02c870698b8c849b3f2706acdf3b32ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83858d136/168206459/83858d1361fb2b5c6672f0b95b45f687_max_476x317.jpeg",
+ "url": "property-photo/83858d136/168206459/83858d1361fb2b5c6672f0b95b45f687.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9897b2b25/168206459/9897b2b25428adffcdf7938badb481bc_max_476x317.jpeg",
+ "url": "property-photo/9897b2b25/168206459/9897b2b25428adffcdf7938badb481bc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d33ce6d2c/168206459/d33ce6d2cabd4c069afe6060cf7b47b5_max_476x317.jpeg",
+ "url": "property-photo/d33ce6d2c/168206459/d33ce6d2cabd4c069afe6060cf7b47b5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f47343097/168206459/f473430978e78ca137ddee81e4912828_max_476x317.jpeg",
+ "url": "property-photo/f47343097/168206459/f473430978e78ca137ddee81e4912828.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2ace89924/168206459/2ace899241b194fdada079085967d39c_max_476x317.jpeg",
+ "url": "property-photo/2ace89924/168206459/2ace899241b194fdada079085967d39c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9e0f39e3d/168206459/9e0f39e3db43929a1581aee664d3a711_max_476x317.jpeg",
+ "url": "property-photo/9e0f39e3d/168206459/9e0f39e3db43929a1581aee664d3a711.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/58705ae74/168206459/58705ae741ad32f391b6661e60db0465_max_476x317.jpeg",
+ "url": "property-photo/58705ae74/168206459/58705ae741ad32f391b6661e60db0465.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/901289536/168206459/901289536efc1d8abd587917c56a5c0c_max_476x317.jpeg",
+ "url": "property-photo/901289536/168206459/901289536efc1d8abd587917c56a5c0c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a8d716e48/168206459/a8d716e485a75222c3e07c5c3bb5dc29_max_476x317.jpeg",
+ "url": "property-photo/a8d716e48/168206459/a8d716e485a75222c3e07c5c3bb5dc29.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45b988f38/168206459/45b988f387e20b6e38037df65a4ba10f_max_476x317.jpeg",
+ "url": "property-photo/45b988f38/168206459/45b988f387e20b6e38037df65a4ba10f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9eff3d6fc/168206459/9eff3d6fc9ede63e5c8ddd54c121ccd0_max_476x317.jpeg",
+ "url": "property-photo/9eff3d6fc/168206459/9eff3d6fc9ede63e5c8ddd54c121ccd0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/810fb0c28/168206459/810fb0c2893b7747b2119c50665cdb7f_max_476x317.jpeg",
+ "url": "property-photo/810fb0c28/168206459/810fb0c2893b7747b2119c50665cdb7f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/77cded2d2/168206459/77cded2d20d0431fe41e21674797af2a_max_476x317.jpeg",
+ "url": "property-photo/77cded2d2/168206459/77cded2d20d0431fe41e21674797af2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ffb84d2d/168206459/9ffb84d2ddd38b74b7a6ddd4d293f5d9_max_476x317.jpeg",
+ "url": "property-photo/9ffb84d2d/168206459/9ffb84d2ddd38b74b7a6ddd4d293f5d9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d1bc770ee/168206459/d1bc770eeebe7306b75fb42d7096285b_max_476x317.jpeg",
+ "url": "property-photo/d1bc770ee/168206459/d1bc770eeebe7306b75fb42d7096285b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cdc434180/168206459/cdc434180c2af55582f127695e8dd972_max_476x317.jpeg",
+ "url": "property-photo/cdc434180/168206459/cdc434180c2af55582f127695e8dd972.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e003e8998/168206459/e003e8998c0597f68b1f73e974139001_max_476x317.jpeg",
+ "url": "property-photo/e003e8998/168206459/e003e8998c0597f68b1f73e974139001.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2939aae4/168206459/c2939aae4b26e766f350f9238fe0d256_max_476x317.jpeg",
+ "url": "property-photo/c2939aae4/168206459/c2939aae4b26e766f350f9238fe0d256.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ba02595f/168206459/5ba02595fcf867ea2702a8414777508a_max_476x317.jpeg",
+ "url": "property-photo/5ba02595f/168206459/5ba02595fcf867ea2702a8414777508a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/352b31687/168206459/352b31687ddb14b57c3df2b6a8e21195_max_476x317.jpeg",
+ "url": "property-photo/352b31687/168206459/352b31687ddb14b57c3df2b6a8e21195.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e0cc210d/168206459/7e0cc210daf82a8686c11723b38a76f2_max_476x317.jpeg",
+ "url": "property-photo/7e0cc210d/168206459/7e0cc210daf82a8686c11723b38a76f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d39d09744/168206459/d39d0974479c716fe325815650164de9_max_476x317.jpeg",
+ "url": "property-photo/d39d09744/168206459/d39d0974479c716fe325815650164de9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9cfbfb231/168206459/9cfbfb231f495cd32e010fd0a91fdb2a_max_476x317.jpeg",
+ "url": "property-photo/9cfbfb231/168206459/9cfbfb231f495cd32e010fd0a91fdb2a.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-10-15T14:29:03Z"
+ },
+ "price": {
+ "amount": 1350000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,350,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 70202,
+ "brandPlusLogoURI": "/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "contactTelephone": "020 3879 9971",
+ "branchDisplayName": "Petty Son & Prestwich Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Petty Son & Prestwich Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Petty-Son-and-Prestwich-Ltd/London-70202.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-30T17:30:19Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "1,824 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/168206459#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=168206459",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-10-15T14:23:28Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T14:03:00Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Semi-detached Edwardian home",
+ "htmlDescription": "Semi-detached Edwardian home"
+ },
+ {
+ "order": 2,
+ "description": "Direct access to Wanstead Park via secure, rear gate",
+ "htmlDescription": "Direct access to Wanstead Park via secure, rear gate"
+ },
+ {
+ "order": 3,
+ "description": "Fully extended and presented beautifully",
+ "htmlDescription": "Fully extended and presented beautifully"
+ },
+ {
+ "order": 4,
+ "description": "Large kitchen/diner/family space",
+ "htmlDescription": "Large kitchen/diner/family space"
+ },
+ {
+ "order": 5,
+ "description": "Elegant formal sitting room",
+ "htmlDescription": "Elegant formal sitting room"
+ },
+ {
+ "order": 6,
+ "description": "An abundance of original features",
+ "htmlDescription": "An abundance of original features"
+ },
+ {
+ "order": 7,
+ "description": "1.5 Miles to Manor Park Station on the Elizabeth Line",
+ "htmlDescription": "1.5 Miles to Manor Park Station on the Elizabeth Line"
+ },
+ {
+ "order": 8,
+ "description": "Large family bathroom & en-suite to principal",
+ "htmlDescription": "Large family bathroom & en-suite to principal"
+ },
+ {
+ "order": 9,
+ "description": "Cellar and ground floor W.C",
+ "htmlDescription": "Cellar and ground floor W.C"
+ },
+ {
+ "order": 10,
+ "description": "Landscaped rear garden with garage",
+ "htmlDescription": "Landscaped rear garden with garage"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10_max_476x317.jpeg",
+ "url": "property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffd596702/168206459/ffd596702006ae72cbaca8b3c9157b05_max_476x317.jpeg",
+ "url": "property-photo/ffd596702/168206459/ffd596702006ae72cbaca8b3c9157b05.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a2c12704/168206459/1a2c127042c636a8e45830a62d550694_max_476x317.jpeg",
+ "url": "property-photo/1a2c12704/168206459/1a2c127042c636a8e45830a62d550694.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2b5229cda/168206459/2b5229cda20b509d611756132a5783a1_max_476x317.jpeg",
+ "url": "property-photo/2b5229cda/168206459/2b5229cda20b509d611756132a5783a1.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/728294771/168206459/728294771a3d9ddc8f6dc8def9c1ee5f_max_476x317.jpeg",
+ "url": "property-photo/728294771/168206459/728294771a3d9ddc8f6dc8def9c1ee5f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c84e9535/168206459/1c84e953578099c4bfdb99e1c5cc21dd_max_476x317.jpeg",
+ "url": "property-photo/1c84e9535/168206459/1c84e953578099c4bfdb99e1c5cc21dd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/56fde56c6/168206459/56fde56c6873a46d765db9f50300503e_max_476x317.jpeg",
+ "url": "property-photo/56fde56c6/168206459/56fde56c6873a46d765db9f50300503e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e3d9399db/168206459/e3d9399dba5d6dea29e4106ac5d83199_max_476x317.jpeg",
+ "url": "property-photo/e3d9399db/168206459/e3d9399dba5d6dea29e4106ac5d83199.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a7baa9f1c/168206459/a7baa9f1cf444994f02321f735bdaf32_max_476x317.jpeg",
+ "url": "property-photo/a7baa9f1c/168206459/a7baa9f1cf444994f02321f735bdaf32.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1bad8caf0/168206459/1bad8caf0a73b92b66cea674ce8ebaeb_max_476x317.jpeg",
+ "url": "property-photo/1bad8caf0/168206459/1bad8caf0a73b92b66cea674ce8ebaeb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9fa663f84/168206459/9fa663f849188959c98505a194a15226_max_476x317.jpeg",
+ "url": "property-photo/9fa663f84/168206459/9fa663f849188959c98505a194a15226.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/08c694b06/168206459/08c694b06bffad84df67a4439337a42c_max_476x317.jpeg",
+ "url": "property-photo/08c694b06/168206459/08c694b06bffad84df67a4439337a42c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f9179d1a/168206459/0f9179d1a83a6c82dd2719e7fd8547b4_max_476x317.jpeg",
+ "url": "property-photo/0f9179d1a/168206459/0f9179d1a83a6c82dd2719e7fd8547b4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd71cc050/168206459/cd71cc050616453691f124c1cee9cb5d_max_476x317.jpeg",
+ "url": "property-photo/cd71cc050/168206459/cd71cc050616453691f124c1cee9cb5d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/02c870698/168206459/02c870698b8c849b3f2706acdf3b32ae_max_476x317.jpeg",
+ "url": "property-photo/02c870698/168206459/02c870698b8c849b3f2706acdf3b32ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83858d136/168206459/83858d1361fb2b5c6672f0b95b45f687_max_476x317.jpeg",
+ "url": "property-photo/83858d136/168206459/83858d1361fb2b5c6672f0b95b45f687.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9897b2b25/168206459/9897b2b25428adffcdf7938badb481bc_max_476x317.jpeg",
+ "url": "property-photo/9897b2b25/168206459/9897b2b25428adffcdf7938badb481bc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d33ce6d2c/168206459/d33ce6d2cabd4c069afe6060cf7b47b5_max_476x317.jpeg",
+ "url": "property-photo/d33ce6d2c/168206459/d33ce6d2cabd4c069afe6060cf7b47b5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f47343097/168206459/f473430978e78ca137ddee81e4912828_max_476x317.jpeg",
+ "url": "property-photo/f47343097/168206459/f473430978e78ca137ddee81e4912828.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2ace89924/168206459/2ace899241b194fdada079085967d39c_max_476x317.jpeg",
+ "url": "property-photo/2ace89924/168206459/2ace899241b194fdada079085967d39c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9e0f39e3d/168206459/9e0f39e3db43929a1581aee664d3a711_max_476x317.jpeg",
+ "url": "property-photo/9e0f39e3d/168206459/9e0f39e3db43929a1581aee664d3a711.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/58705ae74/168206459/58705ae741ad32f391b6661e60db0465_max_476x317.jpeg",
+ "url": "property-photo/58705ae74/168206459/58705ae741ad32f391b6661e60db0465.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/901289536/168206459/901289536efc1d8abd587917c56a5c0c_max_476x317.jpeg",
+ "url": "property-photo/901289536/168206459/901289536efc1d8abd587917c56a5c0c.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a8d716e48/168206459/a8d716e485a75222c3e07c5c3bb5dc29_max_476x317.jpeg",
+ "url": "property-photo/a8d716e48/168206459/a8d716e485a75222c3e07c5c3bb5dc29.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/45b988f38/168206459/45b988f387e20b6e38037df65a4ba10f_max_476x317.jpeg",
+ "url": "property-photo/45b988f38/168206459/45b988f387e20b6e38037df65a4ba10f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9eff3d6fc/168206459/9eff3d6fc9ede63e5c8ddd54c121ccd0_max_476x317.jpeg",
+ "url": "property-photo/9eff3d6fc/168206459/9eff3d6fc9ede63e5c8ddd54c121ccd0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/810fb0c28/168206459/810fb0c2893b7747b2119c50665cdb7f_max_476x317.jpeg",
+ "url": "property-photo/810fb0c28/168206459/810fb0c2893b7747b2119c50665cdb7f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/77cded2d2/168206459/77cded2d20d0431fe41e21674797af2a_max_476x317.jpeg",
+ "url": "property-photo/77cded2d2/168206459/77cded2d20d0431fe41e21674797af2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ffb84d2d/168206459/9ffb84d2ddd38b74b7a6ddd4d293f5d9_max_476x317.jpeg",
+ "url": "property-photo/9ffb84d2d/168206459/9ffb84d2ddd38b74b7a6ddd4d293f5d9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d1bc770ee/168206459/d1bc770eeebe7306b75fb42d7096285b_max_476x317.jpeg",
+ "url": "property-photo/d1bc770ee/168206459/d1bc770eeebe7306b75fb42d7096285b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cdc434180/168206459/cdc434180c2af55582f127695e8dd972_max_476x317.jpeg",
+ "url": "property-photo/cdc434180/168206459/cdc434180c2af55582f127695e8dd972.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e003e8998/168206459/e003e8998c0597f68b1f73e974139001_max_476x317.jpeg",
+ "url": "property-photo/e003e8998/168206459/e003e8998c0597f68b1f73e974139001.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2939aae4/168206459/c2939aae4b26e766f350f9238fe0d256_max_476x317.jpeg",
+ "url": "property-photo/c2939aae4/168206459/c2939aae4b26e766f350f9238fe0d256.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5ba02595f/168206459/5ba02595fcf867ea2702a8414777508a_max_476x317.jpeg",
+ "url": "property-photo/5ba02595f/168206459/5ba02595fcf867ea2702a8414777508a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/352b31687/168206459/352b31687ddb14b57c3df2b6a8e21195_max_476x317.jpeg",
+ "url": "property-photo/352b31687/168206459/352b31687ddb14b57c3df2b6a8e21195.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e0cc210d/168206459/7e0cc210daf82a8686c11723b38a76f2_max_476x317.jpeg",
+ "url": "property-photo/7e0cc210d/168206459/7e0cc210daf82a8686c11723b38a76f2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d39d09744/168206459/d39d0974479c716fe325815650164de9_max_476x317.jpeg",
+ "url": "property-photo/d39d09744/168206459/d39d0974479c716fe325815650164de9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9cfbfb231/168206459/9cfbfb231f495cd32e010fd0a91fdb2a_max_476x317.jpeg",
+ "url": "property-photo/9cfbfb231/168206459/9cfbfb231f495cd32e010fd0a91fdb2a.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f2898495/168206459/6f2898495d7b5f6926f3be6ef0e4ab10_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Petty Son & Prestwich Ltd, London",
+ "addedOrReduced": "Added on 15/10/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 168469889,
+ "bedrooms": 4,
+ "bathrooms": 3,
+ "numberOfImages": 41,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Desirable Location - Great Transport Links -Spacious Garden - Garage & Adjoining Outbuilding - Off Road Parking - Multiple Reception Rooms - Open Plan Kitchen & Dining Room - Downstairs Family Shower Room - Utility Room - Primary Bedroom With En Suite - Three Additional Bedrooms - Contemporary Fa...",
+ "displayAddress": "Preston Drive, Wanstead, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.579093, "longitude": 0.035973 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21_max_476x317.jpeg",
+ "url": "property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21.jpeg",
+ "caption": "Preston-81.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7c0da6e12/168469889/7c0da6e124d375ed26f5a03f60d233e1_max_476x317.jpeg",
+ "url": "property-photo/7c0da6e12/168469889/7c0da6e124d375ed26f5a03f60d233e1.jpeg",
+ "caption": "Preston-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d27408e4/168469889/2d27408e4889d8bfc9dcb66e8bcb0a3c_max_476x317.jpeg",
+ "url": "property-photo/2d27408e4/168469889/2d27408e4889d8bfc9dcb66e8bcb0a3c.jpeg",
+ "caption": "Preston-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c22a82c1/168469889/2c22a82c15ca641f0bba1013ded5fbd6_max_476x317.jpeg",
+ "url": "property-photo/2c22a82c1/168469889/2c22a82c15ca641f0bba1013ded5fbd6.jpeg",
+ "caption": "Preston-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bae32b231/168469889/bae32b231a305b47f9962ddbd7f78335_max_476x317.jpeg",
+ "url": "property-photo/bae32b231/168469889/bae32b231a305b47f9962ddbd7f78335.jpeg",
+ "caption": "Preston-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffb37fc87/168469889/ffb37fc87f4a4661f3015647be004176_max_476x317.jpeg",
+ "url": "property-photo/ffb37fc87/168469889/ffb37fc87f4a4661f3015647be004176.jpeg",
+ "caption": "Preston-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/519a666b4/168469889/519a666b4c600c4927e8681a1d718208_max_476x317.jpeg",
+ "url": "property-photo/519a666b4/168469889/519a666b4c600c4927e8681a1d718208.jpeg",
+ "caption": "Preston-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/19f6323bb/168469889/19f6323bbf0c98e7c79e52bdbfee515e_max_476x317.jpeg",
+ "url": "property-photo/19f6323bb/168469889/19f6323bbf0c98e7c79e52bdbfee515e.jpeg",
+ "caption": "Preston-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fdfd94f36/168469889/fdfd94f363c0c41d253e4b176392706b_max_476x317.jpeg",
+ "url": "property-photo/fdfd94f36/168469889/fdfd94f363c0c41d253e4b176392706b.jpeg",
+ "caption": "Preston-48.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d58c3d82d/168469889/d58c3d82d2c6f4671135930a0c72a32a_max_476x317.jpeg",
+ "url": "property-photo/d58c3d82d/168469889/d58c3d82d2c6f4671135930a0c72a32a.jpeg",
+ "caption": "Preston-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8852be63d/168469889/8852be63d856d2aea229673edf3458cc_max_476x317.jpeg",
+ "url": "property-photo/8852be63d/168469889/8852be63d856d2aea229673edf3458cc.jpeg",
+ "caption": "Preston-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12fb46947/168469889/12fb4694773eee99ccb19edb160f1276_max_476x317.jpeg",
+ "url": "property-photo/12fb46947/168469889/12fb4694773eee99ccb19edb160f1276.jpeg",
+ "caption": "Preston-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36d7b7959/168469889/36d7b795943d5499592791aed38d0cb1_max_476x317.jpeg",
+ "url": "property-photo/36d7b7959/168469889/36d7b795943d5499592791aed38d0cb1.jpeg",
+ "caption": "Preston-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcafc8e84/168469889/bcafc8e8481b8f012bd82e82ab25484d_max_476x317.jpeg",
+ "url": "property-photo/bcafc8e84/168469889/bcafc8e8481b8f012bd82e82ab25484d.jpeg",
+ "caption": "Preston-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2748842d8/168469889/2748842d8ba53bc6ffcfe413e8debd31_max_476x317.jpeg",
+ "url": "property-photo/2748842d8/168469889/2748842d8ba53bc6ffcfe413e8debd31.jpeg",
+ "caption": "Preston-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0aeb50d8a/168469889/0aeb50d8a9f1f8a5146b52295a1cfff5_max_476x317.jpeg",
+ "url": "property-photo/0aeb50d8a/168469889/0aeb50d8a9f1f8a5146b52295a1cfff5.jpeg",
+ "caption": "Preston-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3b1c4c18b/168469889/3b1c4c18bf170111543cadfba8abe138_max_476x317.jpeg",
+ "url": "property-photo/3b1c4c18b/168469889/3b1c4c18bf170111543cadfba8abe138.jpeg",
+ "caption": "Preston-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25e6beb88/168469889/25e6beb888576aeeeeda5ab1a1bccb54_max_476x317.jpeg",
+ "url": "property-photo/25e6beb88/168469889/25e6beb888576aeeeeda5ab1a1bccb54.jpeg",
+ "caption": "Preston-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91327c096/168469889/91327c096b728b143cd281587e7ef132_max_476x317.jpeg",
+ "url": "property-photo/91327c096/168469889/91327c096b728b143cd281587e7ef132.jpeg",
+ "caption": "Preston-58.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/723fc87e2/168469889/723fc87e2d5591976e50a03dc32c7c16_max_476x317.jpeg",
+ "url": "property-photo/723fc87e2/168469889/723fc87e2d5591976e50a03dc32c7c16.jpeg",
+ "caption": "Preston-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e8a54ee76/168469889/e8a54ee761cbaf6d8b870e101dd681dd_max_476x317.jpeg",
+ "url": "property-photo/e8a54ee76/168469889/e8a54ee761cbaf6d8b870e101dd681dd.jpeg",
+ "caption": "Preston-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebf6801fe/168469889/ebf6801fe40e272102709f6c28e85909_max_476x317.jpeg",
+ "url": "property-photo/ebf6801fe/168469889/ebf6801fe40e272102709f6c28e85909.jpeg",
+ "caption": "Preston-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/578a312bb/168469889/578a312bb3f0ee28e24559c3ffd65207_max_476x317.jpeg",
+ "url": "property-photo/578a312bb/168469889/578a312bb3f0ee28e24559c3ffd65207.jpeg",
+ "caption": "Preston-63.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a90f1b14e/168469889/a90f1b14e6eeb19ec6c802015705edeb_max_476x317.jpeg",
+ "url": "property-photo/a90f1b14e/168469889/a90f1b14e6eeb19ec6c802015705edeb.jpeg",
+ "caption": "Preston-64.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ad007918f/168469889/ad007918fc71e1a740a1f4aa309242fa_max_476x317.jpeg",
+ "url": "property-photo/ad007918f/168469889/ad007918fc71e1a740a1f4aa309242fa.jpeg",
+ "caption": "Preston-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/51b09a140/168469889/51b09a140366a3624eb64d15f7aca418_max_476x317.jpeg",
+ "url": "property-photo/51b09a140/168469889/51b09a140366a3624eb64d15f7aca418.jpeg",
+ "caption": "Preston-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b4021f73/168469889/5b4021f737c9368e4bb9069ff1377d80_max_476x317.jpeg",
+ "url": "property-photo/5b4021f73/168469889/5b4021f737c9368e4bb9069ff1377d80.jpeg",
+ "caption": "Preston-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/73cecb1b8/168469889/73cecb1b81c358ea1953bc54a29b1d0a_max_476x317.jpeg",
+ "url": "property-photo/73cecb1b8/168469889/73cecb1b81c358ea1953bc54a29b1d0a.jpeg",
+ "caption": "Preston-68.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54bcf900a/168469889/54bcf900af7bb09672da95f5741227dd_max_476x317.jpeg",
+ "url": "property-photo/54bcf900a/168469889/54bcf900af7bb09672da95f5741227dd.jpeg",
+ "caption": "Preston-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/091aefd71/168469889/091aefd71a4e3bbc5c3134afece534cd_max_476x317.jpeg",
+ "url": "property-photo/091aefd71/168469889/091aefd71a4e3bbc5c3134afece534cd.jpeg",
+ "caption": "Preston-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e214347ba/168469889/e214347ba7bb4a22ad8044193c68bcf8_max_476x317.jpeg",
+ "url": "property-photo/e214347ba/168469889/e214347ba7bb4a22ad8044193c68bcf8.jpeg",
+ "caption": "Preston-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/88cf9f0cd/168469889/88cf9f0cd1591563e85ec9d133c027c3_max_476x317.jpeg",
+ "url": "property-photo/88cf9f0cd/168469889/88cf9f0cd1591563e85ec9d133c027c3.jpeg",
+ "caption": "Preston-72.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f891d1f9/168469889/3f891d1f9c55894d680ef01662d9ad53_max_476x317.jpeg",
+ "url": "property-photo/3f891d1f9/168469889/3f891d1f9c55894d680ef01662d9ad53.jpeg",
+ "caption": "Preston-73.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6ea6e41cc/168469889/6ea6e41cc7e50eb7ddfab52cc641b8f5_max_476x317.jpeg",
+ "url": "property-photo/6ea6e41cc/168469889/6ea6e41cc7e50eb7ddfab52cc641b8f5.jpeg",
+ "caption": "Preston-74.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8c61d266/168469889/c8c61d266faebef745fead87448c616a_max_476x317.jpeg",
+ "url": "property-photo/c8c61d266/168469889/c8c61d266faebef745fead87448c616a.jpeg",
+ "caption": "Preston-75.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ce48ce3f/168469889/4ce48ce3f3e4e0df94e9ec81f6267fb8_max_476x317.jpeg",
+ "url": "property-photo/4ce48ce3f/168469889/4ce48ce3f3e4e0df94e9ec81f6267fb8.jpeg",
+ "caption": "Preston-76.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9defbfe43/168469889/9defbfe43573c019f590b7c5ceac5275_max_476x317.jpeg",
+ "url": "property-photo/9defbfe43/168469889/9defbfe43573c019f590b7c5ceac5275.jpeg",
+ "caption": "Preston-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ed006979/168469889/0ed006979dc2185c8b3b6bc124b0a7a9_max_476x317.jpeg",
+ "url": "property-photo/0ed006979/168469889/0ed006979dc2185c8b3b6bc124b0a7a9.jpeg",
+ "caption": "Preston-78.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fad7dbc86/168469889/fad7dbc86ef417389bf8c48bb97cf3c5_max_476x317.jpeg",
+ "url": "property-photo/fad7dbc86/168469889/fad7dbc86ef417389bf8c48bb97cf3c5.jpeg",
+ "caption": "Preston-79.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/de6cffb56/168469889/de6cffb5640507984924288dd332f400_max_476x317.jpeg",
+ "url": "property-photo/de6cffb56/168469889/de6cffb5640507984924288dd332f400.jpeg",
+ "caption": "Preston-82.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7fac58b8c/168469889/7fac58b8c92bacef04655d115be9a734_max_476x317.jpeg",
+ "url": "property-photo/7fac58b8c/168469889/7fac58b8c92bacef04655d115be9a734.jpeg",
+ "caption": "Preston-84.1.jpg"
+ }
+ ],
+ "propertySubType": "End of Terrace",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-09T10:04:12Z"
+ },
+ "price": {
+ "amount": 1350000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,350,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 273152,
+ "brandPlusLogoURI": "/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "contactTelephone": "020 8138 0636",
+ "branchDisplayName": "Durden & Hunt, Wanstead & East London",
+ "branchName": "Wanstead & East London",
+ "brandTradingName": "Durden & Hunt",
+ "branchLandingPageUrl": "/estate-agents/agent/Durden-and-Hunt/Wanstead-and-East-London-273152.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-01T10:42:02Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/274k/273152/branch_rmchoice_logo_273152_0000.png",
+ "primaryBrandColour": "#000000"
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,804 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/168469889#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=168469889",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-10-22T10:01:36Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-09T10:04:14Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Desirable Location",
+ "htmlDescription": "Desirable Location"
+ },
+ {
+ "order": 2,
+ "description": "Great Transport Links",
+ "htmlDescription": "Great Transport Links"
+ },
+ {
+ "order": 3,
+ "description": "Spacious Garden",
+ "htmlDescription": "Spacious Garden"
+ },
+ {
+ "order": 4,
+ "description": "Garage & Adjoining Outbuilding",
+ "htmlDescription": "Garage & Adjoining Outbuilding"
+ },
+ {
+ "order": 5,
+ "description": "Off Road Parking",
+ "htmlDescription": "Off Road Parking"
+ },
+ {
+ "order": 6,
+ "description": "Multiple Reception Rooms",
+ "htmlDescription": "Multiple Reception Rooms"
+ },
+ {
+ "order": 7,
+ "description": "Open Plan Kitchen & Dining Room",
+ "htmlDescription": "Open Plan Kitchen & Dining Room"
+ },
+ {
+ "order": 8,
+ "description": "Downstairs Family Shower Room",
+ "htmlDescription": "Downstairs Family Shower Room"
+ },
+ {
+ "order": 9,
+ "description": "Utility Room",
+ "htmlDescription": "Utility Room"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21_max_476x317.jpeg",
+ "url": "property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21.jpeg",
+ "caption": "Preston-81.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7c0da6e12/168469889/7c0da6e124d375ed26f5a03f60d233e1_max_476x317.jpeg",
+ "url": "property-photo/7c0da6e12/168469889/7c0da6e124d375ed26f5a03f60d233e1.jpeg",
+ "caption": "Preston-41.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d27408e4/168469889/2d27408e4889d8bfc9dcb66e8bcb0a3c_max_476x317.jpeg",
+ "url": "property-photo/2d27408e4/168469889/2d27408e4889d8bfc9dcb66e8bcb0a3c.jpeg",
+ "caption": "Preston-42.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c22a82c1/168469889/2c22a82c15ca641f0bba1013ded5fbd6_max_476x317.jpeg",
+ "url": "property-photo/2c22a82c1/168469889/2c22a82c15ca641f0bba1013ded5fbd6.jpeg",
+ "caption": "Preston-43.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bae32b231/168469889/bae32b231a305b47f9962ddbd7f78335_max_476x317.jpeg",
+ "url": "property-photo/bae32b231/168469889/bae32b231a305b47f9962ddbd7f78335.jpeg",
+ "caption": "Preston-44.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffb37fc87/168469889/ffb37fc87f4a4661f3015647be004176_max_476x317.jpeg",
+ "url": "property-photo/ffb37fc87/168469889/ffb37fc87f4a4661f3015647be004176.jpeg",
+ "caption": "Preston-45.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/519a666b4/168469889/519a666b4c600c4927e8681a1d718208_max_476x317.jpeg",
+ "url": "property-photo/519a666b4/168469889/519a666b4c600c4927e8681a1d718208.jpeg",
+ "caption": "Preston-46.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/19f6323bb/168469889/19f6323bbf0c98e7c79e52bdbfee515e_max_476x317.jpeg",
+ "url": "property-photo/19f6323bb/168469889/19f6323bbf0c98e7c79e52bdbfee515e.jpeg",
+ "caption": "Preston-47.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fdfd94f36/168469889/fdfd94f363c0c41d253e4b176392706b_max_476x317.jpeg",
+ "url": "property-photo/fdfd94f36/168469889/fdfd94f363c0c41d253e4b176392706b.jpeg",
+ "caption": "Preston-48.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d58c3d82d/168469889/d58c3d82d2c6f4671135930a0c72a32a_max_476x317.jpeg",
+ "url": "property-photo/d58c3d82d/168469889/d58c3d82d2c6f4671135930a0c72a32a.jpeg",
+ "caption": "Preston-49.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8852be63d/168469889/8852be63d856d2aea229673edf3458cc_max_476x317.jpeg",
+ "url": "property-photo/8852be63d/168469889/8852be63d856d2aea229673edf3458cc.jpeg",
+ "caption": "Preston-50.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/12fb46947/168469889/12fb4694773eee99ccb19edb160f1276_max_476x317.jpeg",
+ "url": "property-photo/12fb46947/168469889/12fb4694773eee99ccb19edb160f1276.jpeg",
+ "caption": "Preston-51.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36d7b7959/168469889/36d7b795943d5499592791aed38d0cb1_max_476x317.jpeg",
+ "url": "property-photo/36d7b7959/168469889/36d7b795943d5499592791aed38d0cb1.jpeg",
+ "caption": "Preston-52.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcafc8e84/168469889/bcafc8e8481b8f012bd82e82ab25484d_max_476x317.jpeg",
+ "url": "property-photo/bcafc8e84/168469889/bcafc8e8481b8f012bd82e82ab25484d.jpeg",
+ "caption": "Preston-53.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2748842d8/168469889/2748842d8ba53bc6ffcfe413e8debd31_max_476x317.jpeg",
+ "url": "property-photo/2748842d8/168469889/2748842d8ba53bc6ffcfe413e8debd31.jpeg",
+ "caption": "Preston-54.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0aeb50d8a/168469889/0aeb50d8a9f1f8a5146b52295a1cfff5_max_476x317.jpeg",
+ "url": "property-photo/0aeb50d8a/168469889/0aeb50d8a9f1f8a5146b52295a1cfff5.jpeg",
+ "caption": "Preston-55.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3b1c4c18b/168469889/3b1c4c18bf170111543cadfba8abe138_max_476x317.jpeg",
+ "url": "property-photo/3b1c4c18b/168469889/3b1c4c18bf170111543cadfba8abe138.jpeg",
+ "caption": "Preston-56.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25e6beb88/168469889/25e6beb888576aeeeeda5ab1a1bccb54_max_476x317.jpeg",
+ "url": "property-photo/25e6beb88/168469889/25e6beb888576aeeeeda5ab1a1bccb54.jpeg",
+ "caption": "Preston-57.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91327c096/168469889/91327c096b728b143cd281587e7ef132_max_476x317.jpeg",
+ "url": "property-photo/91327c096/168469889/91327c096b728b143cd281587e7ef132.jpeg",
+ "caption": "Preston-58.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/723fc87e2/168469889/723fc87e2d5591976e50a03dc32c7c16_max_476x317.jpeg",
+ "url": "property-photo/723fc87e2/168469889/723fc87e2d5591976e50a03dc32c7c16.jpeg",
+ "caption": "Preston-59.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e8a54ee76/168469889/e8a54ee761cbaf6d8b870e101dd681dd_max_476x317.jpeg",
+ "url": "property-photo/e8a54ee76/168469889/e8a54ee761cbaf6d8b870e101dd681dd.jpeg",
+ "caption": "Preston-61.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ebf6801fe/168469889/ebf6801fe40e272102709f6c28e85909_max_476x317.jpeg",
+ "url": "property-photo/ebf6801fe/168469889/ebf6801fe40e272102709f6c28e85909.jpeg",
+ "caption": "Preston-62.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/578a312bb/168469889/578a312bb3f0ee28e24559c3ffd65207_max_476x317.jpeg",
+ "url": "property-photo/578a312bb/168469889/578a312bb3f0ee28e24559c3ffd65207.jpeg",
+ "caption": "Preston-63.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a90f1b14e/168469889/a90f1b14e6eeb19ec6c802015705edeb_max_476x317.jpeg",
+ "url": "property-photo/a90f1b14e/168469889/a90f1b14e6eeb19ec6c802015705edeb.jpeg",
+ "caption": "Preston-64.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ad007918f/168469889/ad007918fc71e1a740a1f4aa309242fa_max_476x317.jpeg",
+ "url": "property-photo/ad007918f/168469889/ad007918fc71e1a740a1f4aa309242fa.jpeg",
+ "caption": "Preston-65.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/51b09a140/168469889/51b09a140366a3624eb64d15f7aca418_max_476x317.jpeg",
+ "url": "property-photo/51b09a140/168469889/51b09a140366a3624eb64d15f7aca418.jpeg",
+ "caption": "Preston-66.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b4021f73/168469889/5b4021f737c9368e4bb9069ff1377d80_max_476x317.jpeg",
+ "url": "property-photo/5b4021f73/168469889/5b4021f737c9368e4bb9069ff1377d80.jpeg",
+ "caption": "Preston-67.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/73cecb1b8/168469889/73cecb1b81c358ea1953bc54a29b1d0a_max_476x317.jpeg",
+ "url": "property-photo/73cecb1b8/168469889/73cecb1b81c358ea1953bc54a29b1d0a.jpeg",
+ "caption": "Preston-68.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54bcf900a/168469889/54bcf900af7bb09672da95f5741227dd_max_476x317.jpeg",
+ "url": "property-photo/54bcf900a/168469889/54bcf900af7bb09672da95f5741227dd.jpeg",
+ "caption": "Preston-69.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/091aefd71/168469889/091aefd71a4e3bbc5c3134afece534cd_max_476x317.jpeg",
+ "url": "property-photo/091aefd71/168469889/091aefd71a4e3bbc5c3134afece534cd.jpeg",
+ "caption": "Preston-70.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e214347ba/168469889/e214347ba7bb4a22ad8044193c68bcf8_max_476x317.jpeg",
+ "url": "property-photo/e214347ba/168469889/e214347ba7bb4a22ad8044193c68bcf8.jpeg",
+ "caption": "Preston-71.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/88cf9f0cd/168469889/88cf9f0cd1591563e85ec9d133c027c3_max_476x317.jpeg",
+ "url": "property-photo/88cf9f0cd/168469889/88cf9f0cd1591563e85ec9d133c027c3.jpeg",
+ "caption": "Preston-72.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f891d1f9/168469889/3f891d1f9c55894d680ef01662d9ad53_max_476x317.jpeg",
+ "url": "property-photo/3f891d1f9/168469889/3f891d1f9c55894d680ef01662d9ad53.jpeg",
+ "caption": "Preston-73.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6ea6e41cc/168469889/6ea6e41cc7e50eb7ddfab52cc641b8f5_max_476x317.jpeg",
+ "url": "property-photo/6ea6e41cc/168469889/6ea6e41cc7e50eb7ddfab52cc641b8f5.jpeg",
+ "caption": "Preston-74.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8c61d266/168469889/c8c61d266faebef745fead87448c616a_max_476x317.jpeg",
+ "url": "property-photo/c8c61d266/168469889/c8c61d266faebef745fead87448c616a.jpeg",
+ "caption": "Preston-75.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ce48ce3f/168469889/4ce48ce3f3e4e0df94e9ec81f6267fb8_max_476x317.jpeg",
+ "url": "property-photo/4ce48ce3f/168469889/4ce48ce3f3e4e0df94e9ec81f6267fb8.jpeg",
+ "caption": "Preston-76.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9defbfe43/168469889/9defbfe43573c019f590b7c5ceac5275_max_476x317.jpeg",
+ "url": "property-photo/9defbfe43/168469889/9defbfe43573c019f590b7c5ceac5275.jpeg",
+ "caption": "Preston-77.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ed006979/168469889/0ed006979dc2185c8b3b6bc124b0a7a9_max_476x317.jpeg",
+ "url": "property-photo/0ed006979/168469889/0ed006979dc2185c8b3b6bc124b0a7a9.jpeg",
+ "caption": "Preston-78.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fad7dbc86/168469889/fad7dbc86ef417389bf8c48bb97cf3c5_max_476x317.jpeg",
+ "url": "property-photo/fad7dbc86/168469889/fad7dbc86ef417389bf8c48bb97cf3c5.jpeg",
+ "caption": "Preston-79.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/de6cffb56/168469889/de6cffb5640507984924288dd332f400_max_476x317.jpeg",
+ "url": "property-photo/de6cffb56/168469889/de6cffb5640507984924288dd332f400.jpeg",
+ "caption": "Preston-82.1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7fac58b8c/168469889/7fac58b8c92bacef04655d115be9a734_max_476x317.jpeg",
+ "url": "property-photo/7fac58b8c/168469889/7fac58b8c92bacef04655d115be9a734.jpeg",
+ "caption": "Preston-84.1.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0b23405cb/168469889/0b23405cbaed314cbb2dfdffb99bdb21_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Durden & Hunt, Wanstead & East London",
+ "addedOrReduced": "Reduced on 09/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom end of terrace house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 165590606,
+ "bedrooms": 6,
+ "bathrooms": 5,
+ "numberOfImages": 17,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Located on the desirable Fairlop Road, this impressive six-bedroom home offers expansive living space, a versatile layout, and a prime location just moments from Leytonstone Underground Station. The property features two large reception rooms both with high ceilings the large, bright...",
+ "displayAddress": "Fairlop Road, London, E11",
+ "countryCode": "GB",
+ "location": { "latitude": 51.56989, "longitude": 0.00336 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786_max_476x317.jpeg",
+ "url": "property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786.jpeg",
+ "caption": "Picture No. 20"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e829b259/165590606/7e829b25949c3e799fdff0112339a8f3_max_476x317.jpeg",
+ "url": "property-photo/7e829b259/165590606/7e829b25949c3e799fdff0112339a8f3.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f34e33a66/165590606/f34e33a66d25da81108468bea6fa0bfc_max_476x317.jpeg",
+ "url": "property-photo/f34e33a66/165590606/f34e33a66d25da81108468bea6fa0bfc.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5409cf6e8/165590606/5409cf6e8939b2693471bc1bec66637b_max_476x317.jpeg",
+ "url": "property-photo/5409cf6e8/165590606/5409cf6e8939b2693471bc1bec66637b.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/999be9f06/165590606/999be9f060624e103587d9921ac86d27_max_476x317.jpeg",
+ "url": "property-photo/999be9f06/165590606/999be9f060624e103587d9921ac86d27.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5deda01af/165590606/5deda01af33a0851ca04563c0f016f97_max_476x317.jpeg",
+ "url": "property-photo/5deda01af/165590606/5deda01af33a0851ca04563c0f016f97.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33e6bb985/165590606/33e6bb98562f5bd9950ce20150670c8d_max_476x317.jpeg",
+ "url": "property-photo/33e6bb985/165590606/33e6bb98562f5bd9950ce20150670c8d.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/999aaa748/165590606/999aaa748a446cb91de68d5681a4d897_max_476x317.jpeg",
+ "url": "property-photo/999aaa748/165590606/999aaa748a446cb91de68d5681a4d897.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6715976d2/165590606/6715976d252d25454cce7c00e506892e_max_476x317.jpeg",
+ "url": "property-photo/6715976d2/165590606/6715976d252d25454cce7c00e506892e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba6bbb6a2/165590606/ba6bbb6a204b35b088ef029689e0b459_max_476x317.jpeg",
+ "url": "property-photo/ba6bbb6a2/165590606/ba6bbb6a204b35b088ef029689e0b459.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ce294dd64/165590606/ce294dd646bea34ce171647a6f781a3e_max_476x317.jpeg",
+ "url": "property-photo/ce294dd64/165590606/ce294dd646bea34ce171647a6f781a3e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/42cea391d/165590606/42cea391d6bf4e53b0344a369af3105e_max_476x317.jpeg",
+ "url": "property-photo/42cea391d/165590606/42cea391d6bf4e53b0344a369af3105e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eec46ffda/165590606/eec46ffda9885e752cb2cf0fe36e22e8_max_476x317.jpeg",
+ "url": "property-photo/eec46ffda/165590606/eec46ffda9885e752cb2cf0fe36e22e8.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2ae4ba4c/165590606/c2ae4ba4cbcff99f3592940ca0393870_max_476x317.jpeg",
+ "url": "property-photo/c2ae4ba4c/165590606/c2ae4ba4cbcff99f3592940ca0393870.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/abc9537df/165590606/abc9537df1dd0156b0998b251d54b255_max_476x317.jpeg",
+ "url": "property-photo/abc9537df/165590606/abc9537df1dd0156b0998b251d54b255.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee829fe8d/165590606/ee829fe8de2377858049ee18aad050a5_max_476x317.jpeg",
+ "url": "property-photo/ee829fe8d/165590606/ee829fe8de2377858049ee18aad050a5.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3685916f1/165590606/3685916f18deb7b8b1cd8be161ccf2e9_max_476x317.jpeg",
+ "url": "property-photo/3685916f1/165590606/3685916f18deb7b8b1cd8be161ccf2e9.jpeg",
+ "caption": "Photo"
+ }
+ ],
+ "propertySubType": "Semi-Detached",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2025-08-11T09:57:02Z"
+ },
+ "price": {
+ "amount": 1250000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ { "displayPrice": "£1,250,000", "displayPriceQualifier": "" }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 568,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_71570_0002.jpeg",
+ "contactTelephone": "020 3869 5337",
+ "branchDisplayName": "Bairstow Eves, Leytonstone",
+ "branchName": "Leytonstone",
+ "brandTradingName": "Bairstow Eves",
+ "branchLandingPageUrl": "/estate-agents/agent/Bairstow-Eves/Leytonstone-568.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-09-10T14:56:55Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_71570_0002.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": {
+ "productLabelText": "Premium Listing",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/165590606#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=165590606",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2025-08-11T09:51:08Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-12T01:57:00Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786_max_476x317.jpeg",
+ "url": "property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786.jpeg",
+ "caption": "Picture No. 20"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e829b259/165590606/7e829b25949c3e799fdff0112339a8f3_max_476x317.jpeg",
+ "url": "property-photo/7e829b259/165590606/7e829b25949c3e799fdff0112339a8f3.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f34e33a66/165590606/f34e33a66d25da81108468bea6fa0bfc_max_476x317.jpeg",
+ "url": "property-photo/f34e33a66/165590606/f34e33a66d25da81108468bea6fa0bfc.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5409cf6e8/165590606/5409cf6e8939b2693471bc1bec66637b_max_476x317.jpeg",
+ "url": "property-photo/5409cf6e8/165590606/5409cf6e8939b2693471bc1bec66637b.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/999be9f06/165590606/999be9f060624e103587d9921ac86d27_max_476x317.jpeg",
+ "url": "property-photo/999be9f06/165590606/999be9f060624e103587d9921ac86d27.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5deda01af/165590606/5deda01af33a0851ca04563c0f016f97_max_476x317.jpeg",
+ "url": "property-photo/5deda01af/165590606/5deda01af33a0851ca04563c0f016f97.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33e6bb985/165590606/33e6bb98562f5bd9950ce20150670c8d_max_476x317.jpeg",
+ "url": "property-photo/33e6bb985/165590606/33e6bb98562f5bd9950ce20150670c8d.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/999aaa748/165590606/999aaa748a446cb91de68d5681a4d897_max_476x317.jpeg",
+ "url": "property-photo/999aaa748/165590606/999aaa748a446cb91de68d5681a4d897.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6715976d2/165590606/6715976d252d25454cce7c00e506892e_max_476x317.jpeg",
+ "url": "property-photo/6715976d2/165590606/6715976d252d25454cce7c00e506892e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba6bbb6a2/165590606/ba6bbb6a204b35b088ef029689e0b459_max_476x317.jpeg",
+ "url": "property-photo/ba6bbb6a2/165590606/ba6bbb6a204b35b088ef029689e0b459.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ce294dd64/165590606/ce294dd646bea34ce171647a6f781a3e_max_476x317.jpeg",
+ "url": "property-photo/ce294dd64/165590606/ce294dd646bea34ce171647a6f781a3e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/42cea391d/165590606/42cea391d6bf4e53b0344a369af3105e_max_476x317.jpeg",
+ "url": "property-photo/42cea391d/165590606/42cea391d6bf4e53b0344a369af3105e.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eec46ffda/165590606/eec46ffda9885e752cb2cf0fe36e22e8_max_476x317.jpeg",
+ "url": "property-photo/eec46ffda/165590606/eec46ffda9885e752cb2cf0fe36e22e8.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2ae4ba4c/165590606/c2ae4ba4cbcff99f3592940ca0393870_max_476x317.jpeg",
+ "url": "property-photo/c2ae4ba4c/165590606/c2ae4ba4cbcff99f3592940ca0393870.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/abc9537df/165590606/abc9537df1dd0156b0998b251d54b255_max_476x317.jpeg",
+ "url": "property-photo/abc9537df/165590606/abc9537df1dd0156b0998b251d54b255.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee829fe8d/165590606/ee829fe8de2377858049ee18aad050a5_max_476x317.jpeg",
+ "url": "property-photo/ee829fe8d/165590606/ee829fe8de2377858049ee18aad050a5.jpeg",
+ "caption": "Photo"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3685916f1/165590606/3685916f18deb7b8b1cd8be161ccf2e9_max_476x317.jpeg",
+ "url": "property-photo/3685916f1/165590606/3685916f18deb7b8b1cd8be161ccf2e9.jpeg",
+ "caption": "Photo"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/406858709/165590606/406858709eeb8f194d635afd6bf1d786_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Bairstow Eves, Leytonstone",
+ "addedOrReduced": "Added on 11/08/2025",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "6 bedroom semi-detached house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171831986,
+ "bedrooms": 4,
+ "bathrooms": 2,
+ "numberOfImages": 35,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Petty Son and Prestwich are delighted to offer this beautifully extended four bedroom Edwardian residence, enviably positioned within the highly sought after Lakehouse Estate, a designated conservation area celebrated for its elegant period homes, leafy tree lined avenues and immediate proximity ...",
+ "displayAddress": "Belgrave Road, Wanstead",
+ "countryCode": "GB",
+ "location": { "latitude": 51.563972, "longitude": 0.020991 },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae_max_476x317.jpeg",
+ "url": "property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7e19bc40/171831986/d7e19bc40b4057ade30cc67e1c0b80a2_max_476x317.jpeg",
+ "url": "property-photo/d7e19bc40/171831986/d7e19bc40b4057ade30cc67e1c0b80a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46af35b81/171831986/46af35b817b44215c62ff7ba2b11972a_max_476x317.jpeg",
+ "url": "property-photo/46af35b81/171831986/46af35b817b44215c62ff7ba2b11972a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dd7050f6/171831986/1dd7050f6d09415bed6098faa1ce1c5a_max_476x317.jpeg",
+ "url": "property-photo/1dd7050f6/171831986/1dd7050f6d09415bed6098faa1ce1c5a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d2f60a0/171831986/48d2f60a0cdef21def0df5c9ea33ade2_max_476x317.jpeg",
+ "url": "property-photo/48d2f60a0/171831986/48d2f60a0cdef21def0df5c9ea33ade2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7f1ee8e8/171831986/f7f1ee8e8d01b84c393a187c0f010fb5_max_476x317.jpeg",
+ "url": "property-photo/f7f1ee8e8/171831986/f7f1ee8e8d01b84c393a187c0f010fb5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3872d8b7a/171831986/3872d8b7a3248587e191ad63ab8392ab_max_476x317.jpeg",
+ "url": "property-photo/3872d8b7a/171831986/3872d8b7a3248587e191ad63ab8392ab.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fb76fd41f/171831986/fb76fd41fdf71df83da8721d287c31eb_max_476x317.jpeg",
+ "url": "property-photo/fb76fd41f/171831986/fb76fd41fdf71df83da8721d287c31eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c3840fb4b/171831986/c3840fb4bbf60ca8d19d6ceefed28adb_max_476x317.jpeg",
+ "url": "property-photo/c3840fb4b/171831986/c3840fb4bbf60ca8d19d6ceefed28adb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b15eed1f/171831986/6b15eed1f540544cd2f3190d4d2a484a_max_476x317.jpeg",
+ "url": "property-photo/6b15eed1f/171831986/6b15eed1f540544cd2f3190d4d2a484a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/34672e1b8/171831986/34672e1b84dc922be8cf25ec1109bc94_max_476x317.jpeg",
+ "url": "property-photo/34672e1b8/171831986/34672e1b84dc922be8cf25ec1109bc94.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5969318c3/171831986/5969318c31f1a87a020490b73e78fb20_max_476x317.jpeg",
+ "url": "property-photo/5969318c3/171831986/5969318c31f1a87a020490b73e78fb20.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/edab48c4f/171831986/edab48c4ff1561763332471f7a0f2828_max_476x317.jpeg",
+ "url": "property-photo/edab48c4f/171831986/edab48c4ff1561763332471f7a0f2828.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83ed5bdf0/171831986/83ed5bdf024d9644bfed57e655f3fb9f_max_476x317.jpeg",
+ "url": "property-photo/83ed5bdf0/171831986/83ed5bdf024d9644bfed57e655f3fb9f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b018fce34/171831986/b018fce3431286bd1e44e8be51ade5e7_max_476x317.jpeg",
+ "url": "property-photo/b018fce34/171831986/b018fce3431286bd1e44e8be51ade5e7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d406c486/171831986/6d406c486f14750f9ebd1bb3ba0ae21d_max_476x317.jpeg",
+ "url": "property-photo/6d406c486/171831986/6d406c486f14750f9ebd1bb3ba0ae21d.jpeg",
+ "caption": "Front (Exterior)"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e58319488/171831986/e583194882a36a96fba2ec9727f224ca_max_476x317.jpeg",
+ "url": "property-photo/e58319488/171831986/e583194882a36a96fba2ec9727f224ca.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79db63590/171831986/79db63590513117926bf789f87e0d2a8_max_476x317.jpeg",
+ "url": "property-photo/79db63590/171831986/79db63590513117926bf789f87e0d2a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b7e65510/171831986/5b7e65510f508adff9229c315744ab47_max_476x317.jpeg",
+ "url": "property-photo/5b7e65510/171831986/5b7e65510f508adff9229c315744ab47.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d413e7c8/171831986/2d413e7c814dd3420ca574fe51aa0233_max_476x317.jpeg",
+ "url": "property-photo/2d413e7c8/171831986/2d413e7c814dd3420ca574fe51aa0233.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f55505d4/171831986/0f55505d4c1dbc65f82b4ebca98bb1c0_max_476x317.jpeg",
+ "url": "property-photo/0f55505d4/171831986/0f55505d4c1dbc65f82b4ebca98bb1c0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9d8755378/171831986/9d87553781a7e46f4cf756bafca0db80_max_476x317.jpeg",
+ "url": "property-photo/9d8755378/171831986/9d87553781a7e46f4cf756bafca0db80.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/763a9bc47/171831986/763a9bc47b3ddcbb354541d1b8d5ccc2_max_476x317.jpeg",
+ "url": "property-photo/763a9bc47/171831986/763a9bc47b3ddcbb354541d1b8d5ccc2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/becaeb577/171831986/becaeb57742b32380ff8c89de44342eb_max_476x317.jpeg",
+ "url": "property-photo/becaeb577/171831986/becaeb57742b32380ff8c89de44342eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dd68120c/171831986/7dd68120c528faa41336e5c0e32bb65d_max_476x317.jpeg",
+ "url": "property-photo/7dd68120c/171831986/7dd68120c528faa41336e5c0e32bb65d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/09c2c341a/171831986/09c2c341a544ae71de13783189939ec3_max_476x317.jpeg",
+ "url": "property-photo/09c2c341a/171831986/09c2c341a544ae71de13783189939ec3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f39746d2/171831986/0f39746d2453df4dca20a146e688dffb_max_476x317.jpeg",
+ "url": "property-photo/0f39746d2/171831986/0f39746d2453df4dca20a146e688dffb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/726acdd0b/171831986/726acdd0bee61add18a28f362a4df903_max_476x317.jpeg",
+ "url": "property-photo/726acdd0b/171831986/726acdd0bee61add18a28f362a4df903.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e0d528d1f/171831986/e0d528d1f94ad263a44a8071a5b8696e_max_476x317.jpeg",
+ "url": "property-photo/e0d528d1f/171831986/e0d528d1f94ad263a44a8071a5b8696e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a52618b9/171831986/3a52618b98679bab67bcfab7de1a9276_max_476x317.jpeg",
+ "url": "property-photo/3a52618b9/171831986/3a52618b98679bab67bcfab7de1a9276.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/87c56dac4/171831986/87c56dac42383420c450a0973690f7fe_max_476x317.jpeg",
+ "url": "property-photo/87c56dac4/171831986/87c56dac42383420c450a0973690f7fe.jpeg",
+ "caption": "Rear Garden"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b52b067e/171831986/6b52b067ecdd09ffe8b62820aa04468a_max_476x317.jpeg",
+ "url": "property-photo/6b52b067e/171831986/6b52b067ecdd09ffe8b62820aa04468a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b28c08ba/171831986/5b28c08ba5169ec325371f20efc7d900_max_476x317.jpeg",
+ "url": "property-photo/5b28c08ba/171831986/5b28c08ba5169ec325371f20efc7d900.jpeg",
+ "caption": "Rear Garden"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e789f97ee/171831986/e789f97eecb586e8c6a3bf02b38ac666_max_476x317.jpeg",
+ "url": "property-photo/e789f97ee/171831986/e789f97eecb586e8c6a3bf02b38ac666.jpeg",
+ "caption": "Exterior"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06e7d67f3/171831986/06e7d67f3d8ca395899c0ef487007b46_max_476x317.png",
+ "url": "property-photo/06e7d67f3/171831986/06e7d67f3d8ca395899c0ef487007b46.png",
+ "caption": "Rear Garden"
+ }
+ ],
+ "propertySubType": "House",
+ "tenure": { "tenureType": "FREEHOLD" },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-04T12:14:02Z"
+ },
+ "price": {
+ "amount": 1250000,
+ "frequency": "not specified",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,250,000",
+ "displayPriceQualifier": "Offers in Excess of"
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 70202,
+ "brandPlusLogoURI": "/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "contactTelephone": "020 3879 9971",
+ "branchDisplayName": "Petty Son & Prestwich Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Petty Son & Prestwich Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Petty-Son-and-Prestwich-Ltd/London-70202.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-30T17:30:19Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/71k/70202/branch_rmchoice_logo_70202_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "buy",
+ "productLabel": { "productLabelText": null, "spotlightLabel": false },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "2,236 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171831986#/?channel=RES_BUY",
+ "contactUrl": "/property-for-sale/contactBranch.html?propertyId=171831986",
+ "staticMapUrl": null,
+ "channel": "BUY",
+ "firstVisibleDate": "2026-02-04T12:08:29Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": { "matchingLozenges": [] },
+ "streetView": { "showStreetView": true },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T14:14:01Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Four bedroom Edwardian home",
+ "htmlDescription": "Four bedroom Edwardian home"
+ },
+ {
+ "order": 2,
+ "description": "Beautifully extended",
+ "htmlDescription": "Beautifully extended"
+ },
+ {
+ "order": 3,
+ "description": "Large rear garden with direct access to woodland",
+ "htmlDescription": "Large rear garden with direct access to woodland"
+ },
+ { "order": 4, "description": "Cellar", "htmlDescription": "Cellar" },
+ {
+ "order": 5,
+ "description": "Period features throughout",
+ "htmlDescription": "Period features throughout"
+ },
+ {
+ "order": 6,
+ "description": "Ensuite to principle bedroom",
+ "htmlDescription": "Ensuite to principle bedroom"
+ },
+ {
+ "order": 7,
+ "description": "0.9 miles to Leytonstone Underground Station",
+ "htmlDescription": "0.9 miles to Leytonstone Underground Station"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae_max_476x317.jpeg",
+ "url": "property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7e19bc40/171831986/d7e19bc40b4057ade30cc67e1c0b80a2_max_476x317.jpeg",
+ "url": "property-photo/d7e19bc40/171831986/d7e19bc40b4057ade30cc67e1c0b80a2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/46af35b81/171831986/46af35b817b44215c62ff7ba2b11972a_max_476x317.jpeg",
+ "url": "property-photo/46af35b81/171831986/46af35b817b44215c62ff7ba2b11972a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dd7050f6/171831986/1dd7050f6d09415bed6098faa1ce1c5a_max_476x317.jpeg",
+ "url": "property-photo/1dd7050f6/171831986/1dd7050f6d09415bed6098faa1ce1c5a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d2f60a0/171831986/48d2f60a0cdef21def0df5c9ea33ade2_max_476x317.jpeg",
+ "url": "property-photo/48d2f60a0/171831986/48d2f60a0cdef21def0df5c9ea33ade2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7f1ee8e8/171831986/f7f1ee8e8d01b84c393a187c0f010fb5_max_476x317.jpeg",
+ "url": "property-photo/f7f1ee8e8/171831986/f7f1ee8e8d01b84c393a187c0f010fb5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3872d8b7a/171831986/3872d8b7a3248587e191ad63ab8392ab_max_476x317.jpeg",
+ "url": "property-photo/3872d8b7a/171831986/3872d8b7a3248587e191ad63ab8392ab.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fb76fd41f/171831986/fb76fd41fdf71df83da8721d287c31eb_max_476x317.jpeg",
+ "url": "property-photo/fb76fd41f/171831986/fb76fd41fdf71df83da8721d287c31eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c3840fb4b/171831986/c3840fb4bbf60ca8d19d6ceefed28adb_max_476x317.jpeg",
+ "url": "property-photo/c3840fb4b/171831986/c3840fb4bbf60ca8d19d6ceefed28adb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b15eed1f/171831986/6b15eed1f540544cd2f3190d4d2a484a_max_476x317.jpeg",
+ "url": "property-photo/6b15eed1f/171831986/6b15eed1f540544cd2f3190d4d2a484a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/34672e1b8/171831986/34672e1b84dc922be8cf25ec1109bc94_max_476x317.jpeg",
+ "url": "property-photo/34672e1b8/171831986/34672e1b84dc922be8cf25ec1109bc94.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5969318c3/171831986/5969318c31f1a87a020490b73e78fb20_max_476x317.jpeg",
+ "url": "property-photo/5969318c3/171831986/5969318c31f1a87a020490b73e78fb20.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/edab48c4f/171831986/edab48c4ff1561763332471f7a0f2828_max_476x317.jpeg",
+ "url": "property-photo/edab48c4f/171831986/edab48c4ff1561763332471f7a0f2828.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83ed5bdf0/171831986/83ed5bdf024d9644bfed57e655f3fb9f_max_476x317.jpeg",
+ "url": "property-photo/83ed5bdf0/171831986/83ed5bdf024d9644bfed57e655f3fb9f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b018fce34/171831986/b018fce3431286bd1e44e8be51ade5e7_max_476x317.jpeg",
+ "url": "property-photo/b018fce34/171831986/b018fce3431286bd1e44e8be51ade5e7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6d406c486/171831986/6d406c486f14750f9ebd1bb3ba0ae21d_max_476x317.jpeg",
+ "url": "property-photo/6d406c486/171831986/6d406c486f14750f9ebd1bb3ba0ae21d.jpeg",
+ "caption": "Front (Exterior)"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e58319488/171831986/e583194882a36a96fba2ec9727f224ca_max_476x317.jpeg",
+ "url": "property-photo/e58319488/171831986/e583194882a36a96fba2ec9727f224ca.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79db63590/171831986/79db63590513117926bf789f87e0d2a8_max_476x317.jpeg",
+ "url": "property-photo/79db63590/171831986/79db63590513117926bf789f87e0d2a8.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b7e65510/171831986/5b7e65510f508adff9229c315744ab47_max_476x317.jpeg",
+ "url": "property-photo/5b7e65510/171831986/5b7e65510f508adff9229c315744ab47.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2d413e7c8/171831986/2d413e7c814dd3420ca574fe51aa0233_max_476x317.jpeg",
+ "url": "property-photo/2d413e7c8/171831986/2d413e7c814dd3420ca574fe51aa0233.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f55505d4/171831986/0f55505d4c1dbc65f82b4ebca98bb1c0_max_476x317.jpeg",
+ "url": "property-photo/0f55505d4/171831986/0f55505d4c1dbc65f82b4ebca98bb1c0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9d8755378/171831986/9d87553781a7e46f4cf756bafca0db80_max_476x317.jpeg",
+ "url": "property-photo/9d8755378/171831986/9d87553781a7e46f4cf756bafca0db80.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/763a9bc47/171831986/763a9bc47b3ddcbb354541d1b8d5ccc2_max_476x317.jpeg",
+ "url": "property-photo/763a9bc47/171831986/763a9bc47b3ddcbb354541d1b8d5ccc2.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/becaeb577/171831986/becaeb57742b32380ff8c89de44342eb_max_476x317.jpeg",
+ "url": "property-photo/becaeb577/171831986/becaeb57742b32380ff8c89de44342eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dd68120c/171831986/7dd68120c528faa41336e5c0e32bb65d_max_476x317.jpeg",
+ "url": "property-photo/7dd68120c/171831986/7dd68120c528faa41336e5c0e32bb65d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/09c2c341a/171831986/09c2c341a544ae71de13783189939ec3_max_476x317.jpeg",
+ "url": "property-photo/09c2c341a/171831986/09c2c341a544ae71de13783189939ec3.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f39746d2/171831986/0f39746d2453df4dca20a146e688dffb_max_476x317.jpeg",
+ "url": "property-photo/0f39746d2/171831986/0f39746d2453df4dca20a146e688dffb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/726acdd0b/171831986/726acdd0bee61add18a28f362a4df903_max_476x317.jpeg",
+ "url": "property-photo/726acdd0b/171831986/726acdd0bee61add18a28f362a4df903.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e0d528d1f/171831986/e0d528d1f94ad263a44a8071a5b8696e_max_476x317.jpeg",
+ "url": "property-photo/e0d528d1f/171831986/e0d528d1f94ad263a44a8071a5b8696e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a52618b9/171831986/3a52618b98679bab67bcfab7de1a9276_max_476x317.jpeg",
+ "url": "property-photo/3a52618b9/171831986/3a52618b98679bab67bcfab7de1a9276.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/87c56dac4/171831986/87c56dac42383420c450a0973690f7fe_max_476x317.jpeg",
+ "url": "property-photo/87c56dac4/171831986/87c56dac42383420c450a0973690f7fe.jpeg",
+ "caption": "Rear Garden"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b52b067e/171831986/6b52b067ecdd09ffe8b62820aa04468a_max_476x317.jpeg",
+ "url": "property-photo/6b52b067e/171831986/6b52b067ecdd09ffe8b62820aa04468a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b28c08ba/171831986/5b28c08ba5169ec325371f20efc7d900_max_476x317.jpeg",
+ "url": "property-photo/5b28c08ba/171831986/5b28c08ba5169ec325371f20efc7d900.jpeg",
+ "caption": "Rear Garden"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e789f97ee/171831986/e789f97eecb586e8c6a3bf02b38ac666_max_476x317.jpeg",
+ "url": "property-photo/e789f97ee/171831986/e789f97eecb586e8c6a3bf02b38ac666.jpeg",
+ "caption": "Exterior"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06e7d67f3/171831986/06e7d67f3d8ca395899c0ef487007b46_max_476x317.png",
+ "url": "property-photo/06e7d67f3/171831986/06e7d67f3d8ca395899c0ef487007b46.png",
+ "caption": "Rear Garden"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/473517ea3/171831986/473517ea33a46d55c238d8f7509531ae_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Petty Son & Prestwich Ltd, London",
+ "addedOrReduced": "Added on 04/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "4 bedroom house for sale",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ }
+ ],
+ "resultCount": "279",
+ "searchParameters": {
+ "locationIdentifier": "OUTCODE^746",
+ "numberOfPropertiesPerPage": "24",
+ "radius": "0.0",
+ "sortType": "2",
+ "index": "0",
+ "propertyTypes": [],
+ "tenureTypes": [],
+ "viewType": "LIST",
+ "mustHave": [],
+ "dontShow": [],
+ "furnishTypes": [],
+ "channel": "BUY",
+ "areaSizeUnit": "sqft",
+ "currencyCode": "GBP",
+ "keywords": [],
+ "tags": []
+ },
+ "searchParametersDescription": "Properties For Sale in E11",
+ "sidebarModel": {
+ "soldHousePricesLinks": {
+ "heading": "Sold House Prices",
+ "subHeading": "What did properties sell for in E11?",
+ "model": [
+ {
+ "text": "View house prices in E11",
+ "url": "/house-prices/e11.html",
+ "noFollow": false
+ }
+ ],
+ "headingLink": null
+ },
+ "relatedHouseSearches": null,
+ "relatedFlatSearches": null,
+ "relatedPopularSearches": null,
+ "relatedRegionsSearches": null,
+ "relatedSuggestedSearches": {
+ "heading": "Suggested Links",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "Estate agents in E11",
+ "url": "/estate-agents/find.html?locationIdentifier=OUTCODE^746",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ },
+ "channelSwitchLink": {
+ "heading": "Channel Switch",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "See properties to rent in E11",
+ "url": "/property-to-rent/find.html?locationIdentifier=OUTCODE^746",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ },
+ "relatedStudentLinks": null,
+ "branchMPU": null,
+ "countryGuideMPU": null,
+ "suggestedLinks": {
+ "heading": "Suggested Links",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "Estate agents in E11",
+ "url": "/estate-agents/find.html?locationIdentifier=OUTCODE^746",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ }
+ },
+ "keywordCount": 0,
+ "pageTitle": "Properties For Sale in E11 | Rightmove",
+ "metaDescription": "Flats & Houses For Sale in E11 - Find properties with Rightmove - the UK's largest selection of properties.",
+ "seoModel": {
+ "canonicalUrl": "https://www.rightmove.co.uk/property-for-sale/E11.html",
+ "metaRobots": ""
+ },
+ "timestamp": 1770978328899,
+ "urlPath": null,
+ "staticMapUrl": "https://media.rightmove.co.uk:443/map/_generate?width=360&height=380&polygonFillColor=%232E8E8914&polygonLineColor=%232E8E89FF&mapPolygon=guvyHKzElBCPhErDSbAa%40%5BWn%40k%40TTjAZ%5CtByEx%40nCjI%7CKxCiFnAIbC%7BExBIvA%7EBpF%7CFgAzDhBdDhDqG%7CExI%60CwA%60Cc%40M%7D%40r%40e%40BR%60AAHNXCXc%40h%40bAh%40LIqAn%40Sp%40%5CdAe%40%40i%40iCwR_%40g%40Mm%40C%5BdAqAv%40Dq%40wLeAFt%40y%40lBoFMaGhAyAlBTjAkB_%40GmAmBD_%40%5CaDi%40kCeBeBm%40oCgAuAsCqBwAuKkBiCyAmEyFgTy%40kFe%40%7D%40bGiHr%40sAOgDVeFiBQc%40aBJk%40j%40q%40lCEdAo%40AaHeIA%7DOCuIy%40sO%7CBDk%40nF%7DJr%40iBF%7BAy%40wUe%40BaAcAiE%40w%40w%40iACgAf%40qAL%7DAE%7BHoB%60%40iH%5BmELaJg%40wA%7EC_H%7ED_o%40AyUu%40MuVvRqH%7CNQ%5D_InNaBzBoAfGe%40f%40w%40BmIaDsCoGqFgFcQ%60JuGbCyAFmCi%40mHP%60DhPa%40%7EBLfA%5DtAm%40t%40m%40fB_%40VDfBo%40%7E%40U%7E%40h%40jAf%40bClAg%40bEdTKDHr%40_A%5E%5ByAsA%60ACbB_A_%40q%40%60G%7B%40nDbBhAk%40dDd%40j%40KfAZvAgHsDuGeA%7DADOX%7CItDlBbBTdCKfDzBFEfDrCLbBz%40pAzCbAiA%7E%40vDe%40rOm%40lJzBpEEpGiApCiOlAP%5EFbBbAvBz%40pAb%40lA%5CWLJnAnGtGuASbSq%40zDlKn%5BTZ%60AN%5EOXu%40CiBYgAjB%3FjA%7BBhLjT%7CR%7DYSz%40lCnGbFlOPQv%40pBfAx%40dBpDBl%40vA%7ED%7CAVlBrGd%40c%40Nm%40aAiDXFfGhKOnFg%40%7EAvDdFjDuCsBqHMh%40i%40i%40SZu%40oDvIo%5EK%7D%40&signature=PcjQAJ3wPTVGri2zTw17SUogco0=",
+ "listViewUrl": "/property-for-sale/find.html?sortType=2&areaSizeUnit=sqft&viewType=LIST&channel=BUY&index=0&radius=0.0&locationIdentifier=OUTCODE%5E746",
+ "mapViewUrl": "/property-for-sale/map.html?sortType=2&areaSizeUnit=sqft&viewType=MAP&channel=BUY&index=0&radius=0.0&locationIdentifier=OUTCODE%5E746"
+}
diff --git a/finder/rightmove/explain.md b/finder/rightmove/explain.md
new file mode 100644
index 0000000..1c02ffd
--- /dev/null
+++ b/finder/rightmove/explain.md
@@ -0,0 +1,52 @@
+The API works as follows, you must search for outcodes, such as E11, then hit https://los.rightmove.co.uk/typeahead?query=E11&limit=10&exclude=STREET which will return something like:
+
+{
+ "matches": [
+ {
+ "id": "746",
+ "type": "OUTCODE",
+ "displayName": "E11",
+ "highlighting": "E11 ",
+ "highlights": [
+ {
+ "text": "E11",
+ "highlighted": true
+ }
+ ]
+ },
+ {
+ "id": "749",
+ "type": "OUTCODE",
+ "displayName": "E14",
+ "highlighting": "displayName",
+ "highlights": []
+ },
+ {
+ "id": "752",
+ "type": "OUTCODE",
+ "displayName": "E17",
+ "highlighting": "displayName",
+ "highlights": []
+ },
+ ...
+ ]
+}
+
+We need to find the id of the object which has "type": "OUTCODE", and displayName matching the outcode we searched for, in this case E11, which is 746. Then we can hit the search endpoint with that id, and it will return the properties for that outcode:
+
+https://www.rightmove.co.uk/api/property-search/listing/search?useLocationIdentifier=true&locationIdentifier=OUTCODE%5E746&buy=For+sale&_includeSSTC=on&index=0&sortType=2&channel=BUY&transactionType=BUY&displayLocationIdentifier=E12.html
+
+You can see the example response to this at [[buy.json]]
+
+You must set locationIdentifier=OUTCODE%5E{id} where id is 746 in this case, so it's 746 locationIdentifier=OUTCODE%5E746. Paging works by increasing index by the number of results per page, which is 24. So the next page would be index=24, then index=48, etc.
+
+
+The rental endpoint works similarly:
+
+https://www.rightmove.co.uk/api/property-search/listing/search?locationIdentifier=OUTCODE%5E745&index=0&sortType=6&channel=RENT&transactionType=LETTING&displayLocationIdentifier=E16.html
+
+https://www.rightmove.co.uk/api/property-search/listing/search?locationIdentifier=OUTCODE%5E752&index=48&sortType=6&channel=RENT&transactionType=LETTING&displayLocationIdentifier=E17.html
+
+
+See a response example for the rental endpoint at [[rent.json]]
+
diff --git a/finder/rightmove/rental.json b/finder/rightmove/rental.json
new file mode 100644
index 0000000..6bef173
--- /dev/null
+++ b/finder/rightmove/rental.json
@@ -0,0 +1,8247 @@
+{
+ "countryCode": "gb",
+ "countryId": -1,
+ "dfpModel": {
+ "sidebarSlots": [
+ {
+ "id": "searchSidebar-mpuSlot-2",
+ "adUnitPath": "/5029762/Rightmove_Property_Web/Property_Results_Sidebar/MPU2",
+ "sizes": [[300, 250]],
+ "mappings": []
+ },
+ {
+ "id": "searchSidebar-mpuSlot-1",
+ "adUnitPath": "/5029762/Rightmove_Property_Web/Property_Results_Sidebar/MPU1",
+ "sizes": [[300, 250]],
+ "mappings": []
+ }
+ ],
+ "targeting": [
+ {
+ "key": "CT",
+ "value": "property-to-rent"
+ }
+ ]
+ },
+ "formattedExchangeRateDate": "",
+ "location": {
+ "id": 752,
+ "displayName": "E17",
+ "shortDisplayName": "E17",
+ "locationType": "OUTCODE",
+ "listingCurrency": "GBP",
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [-0.04911, 51.58281],
+ [-0.05875, 51.58029],
+ [-0.05926, 51.58037],
+ [-0.06102, 51.58071],
+ [-0.06162, 51.58022],
+ [-0.06215, 51.57959],
+ [-0.06223, 51.57929],
+ [-0.06216, 51.57895],
+ [-0.06128, 51.57792],
+ [-0.06084, 51.57709],
+ [-0.05996, 51.57531],
+ [-0.05926, 51.57424],
+ [-0.05868, 51.57335],
+ [-0.05838, 51.57242],
+ [-0.05673, 51.57125],
+ [-0.05659, 51.57089],
+ [-0.05635, 51.57069],
+ [-0.05583, 51.57045],
+ [-0.05493, 51.57039],
+ [-0.05439, 51.5702],
+ [-0.05413, 51.56997],
+ [-0.05325, 51.56856],
+ [-0.0519, 51.56789],
+ [-0.05113, 51.56761],
+ [-0.0492, 51.57048],
+ [-0.04816, 51.57183],
+ [-0.04605, 51.57085],
+ [-0.04517, 51.57103],
+ [-0.03849, 51.57331],
+ [-0.03833, 51.57341],
+ [-0.03794, 51.574],
+ [-0.03726, 51.57535],
+ [-0.0367, 51.57497],
+ [-0.0363, 51.57488],
+ [-0.03516, 51.57415],
+ [-0.03494, 51.57359],
+ [-0.03418, 51.57243],
+ [-0.03181, 51.57094],
+ [-0.03064, 51.56921],
+ [-0.02993, 51.56954],
+ [-0.02931, 51.56902],
+ [-0.02651, 51.57002],
+ [-0.0251, 51.57033],
+ [-0.02482, 51.57071],
+ [-0.02448, 51.57061],
+ [-0.02445, 51.57079],
+ [-0.02428, 51.57083],
+ [-0.02416, 51.57102],
+ [-0.02287, 51.57147],
+ [-0.02284, 51.57142],
+ [-0.02252, 51.57149],
+ [-0.02238, 51.57164],
+ [-0.0221, 51.57162],
+ [-0.02187, 51.57174],
+ [-0.02165, 51.5715],
+ [-0.02141, 51.57172],
+ [-0.02148, 51.57191],
+ [-0.02063, 51.57221],
+ [-0.02035, 51.57221],
+ [-0.02019, 51.57227],
+ [-0.02026, 51.57235],
+ [-0.01988, 51.57243],
+ [-0.02053, 51.57322],
+ [-0.01855, 51.5738],
+ [-0.01817, 51.57395],
+ [-0.01822, 51.57405],
+ [-0.01683, 51.57433],
+ [-0.01661, 51.57457],
+ [-0.01605, 51.57462],
+ [-0.01604, 51.5748],
+ [-0.01569, 51.57493],
+ [-0.0151, 51.57523],
+ [-0.01473, 51.57531],
+ [-0.01453, 51.57533],
+ [-0.01418, 51.57516],
+ [-0.01375, 51.57514],
+ [-0.01356, 51.57531],
+ [-0.01307, 51.57545],
+ [-0.01282, 51.57525],
+ [-0.01245, 51.57561],
+ [-0.01278, 51.57551],
+ [-0.01294, 51.57577],
+ [-0.01222, 51.57613],
+ [-0.01227, 51.5762],
+ [-0.01215, 51.57632],
+ [-0.01162, 51.57651],
+ [-0.01177, 51.57674],
+ [-0.01092, 51.57698],
+ [-0.01077, 51.57679],
+ [-0.00959, 51.57715],
+ [-0.00982, 51.57746],
+ [-0.00946, 51.5775],
+ [-0.00938, 51.57757],
+ [-0.00943, 51.57771],
+ [-0.00863, 51.578],
+ [-0.00549, 51.57845],
+ [-0.00329, 51.57947],
+ [-0.00319, 51.5796],
+ [-0.00293, 51.57964],
+ [-0.00125, 51.58042],
+ [0.0006, 51.58137],
+ [0.00124, 51.58158],
+ [0.00129, 51.5817],
+ [0.00138, 51.58169],
+ [0.00594, 51.58368],
+ [0.00688, 51.58343],
+ [0.0101, 51.58333],
+ [0.00967, 51.58472],
+ [0.01103, 51.58512],
+ [0.01109, 51.58519],
+ [0.01097, 51.58534],
+ [0.01136, 51.58552],
+ [0.01177, 51.58582],
+ [0.01237, 51.58616],
+ [0.01287, 51.5862],
+ [0.01303, 51.58629],
+ [0.01254, 51.59026],
+ [0.01237, 51.59089],
+ [0.01242, 51.59114],
+ [0.01213, 51.59168],
+ [0.01201, 51.59237],
+ [0.01246, 51.59522],
+ [0.01291, 51.59897],
+ [0.01268, 51.59897],
+ [0.01233, 51.59853],
+ [0.0119, 51.59909],
+ [0.01116, 51.59933],
+ [0.0108, 51.59922],
+ [0.01059, 51.59933],
+ [0.01017, 51.59982],
+ [0.00742, 51.59886],
+ [0.00693, 51.59932],
+ [0.00465, 51.59967],
+ [0.00327, 51.59968],
+ [0.00248, 51.59961],
+ [0.00197, 51.59908],
+ [0.00052, 51.59969],
+ [-0.0001, 51.59965],
+ [-0.00016, 51.59957],
+ [-0.00163, 51.5999],
+ [-0.00173, 51.60005],
+ [-0.00328, 51.60028],
+ [-0.00319, 51.60063],
+ [-0.00396, 51.6006],
+ [-0.00382, 51.60081],
+ [-0.00471, 51.60079],
+ [-0.00492, 51.60059],
+ [-0.00534, 51.60058],
+ [-0.00558, 51.60112],
+ [-0.00743, 51.60132],
+ [-0.00713, 51.60157],
+ [-0.00688, 51.60204],
+ [-0.00752, 51.60258],
+ [-0.00776, 51.60352],
+ [-0.00913, 51.6047],
+ [-0.00992, 51.60445],
+ [-0.01031, 51.60452],
+ [-0.01066, 51.60443],
+ [-0.01107, 51.60405],
+ [-0.01094, 51.6038],
+ [-0.01242, 51.60381],
+ [-0.01237, 51.60242],
+ [-0.01373, 51.60235],
+ [-0.01388, 51.6006],
+ [-0.01463, 51.60086],
+ [-0.01492, 51.60082],
+ [-0.01487, 51.60073],
+ [-0.01497, 51.60061],
+ [-0.01625, 51.60081],
+ [-0.01621, 51.60074],
+ [-0.01733, 51.60114],
+ [-0.01826, 51.60163],
+ [-0.02295, 51.60436],
+ [-0.02365, 51.60469],
+ [-0.02632, 51.60267],
+ [-0.03333, 51.60484],
+ [-0.03334, 51.60499],
+ [-0.03445, 51.606],
+ [-0.03588, 51.60772],
+ [-0.03593, 51.6078],
+ [-0.04059, 51.60604],
+ [-0.0414, 51.60553],
+ [-0.0435, 51.60271],
+ [-0.04477, 51.60135],
+ [-0.0469, 51.59928],
+ [-0.0503, 51.59674],
+ [-0.05085, 51.59603],
+ [-0.05107, 51.5956],
+ [-0.05122, 51.59485],
+ [-0.05195, 51.59428],
+ [-0.05224, 51.59389],
+ [-0.0525, 51.59234],
+ [-0.05287, 51.59168],
+ [-0.05263, 51.59161],
+ [-0.05267, 51.59064],
+ [-0.05243, 51.5901],
+ [-0.05171, 51.58985],
+ [-0.05135, 51.58965],
+ [-0.05106, 51.58947],
+ [-0.05178, 51.58885],
+ [-0.05155, 51.58811],
+ [-0.05193, 51.5866],
+ [-0.05103, 51.58579],
+ [-0.05105, 51.58473],
+ [-0.05031, 51.58436],
+ [-0.04941, 51.58448],
+ [-0.04889, 51.58426],
+ [-0.04874, 51.58389],
+ [-0.04911, 51.58281]
+ ]
+ ]
+ },
+ "encodedGeometry": {
+ "encodedPolygon": "qwyyH|qHvNf{@OdBcA~I`BvB|BhBz@NbAMlEoDdDwAbJoDtEkCpDsBxD{@hFiIfA[f@o@n@gBJsDd@kBl@s@xGoDdCmGv@yC}PaKmGoEbEeLc@oDgMwh@S_@uBmAmGgCjAoBPoApCeFnBi@fFwChHyMxIiFaAmCfB{BgEoP}@yGkAw@RcAc@EGa@e@WyAaGHEM_A][Bw@Wm@n@k@k@o@e@L{@iD?w@K_@OLOmA}CbCsBkK]mASJw@uGo@k@IqBc@AYcA{@uBOiACg@`@eABuAa@e@[aBf@q@gAiAR`As@^gAoCMHWWe@iBm@\\o@iDd@]gAkF}@l@GgAMO[Fy@}CyAsRkEwLYSGs@{CoI}DoJi@aCWI@QmKo[p@{DRcSuGtAoAoGMK]Vc@mA{@qAcAwBGcBQ_@yW`B}B`@q@IkBx@iCVyPyAmVyA?l@vAdAoBtAo@rCTfAUh@aBrA~DdP{A`BeAhMApGL|ChBdByBbHFxBNJaAdH]Rm@tHeAQDxCi@[BpDf@h@@rAkBn@g@pJq@{@}Aq@kB~B{Dn@kFnGp@~CMlAPdAjApAp@YAfHtGILnG|I\\s@tCFx@PIVRg@~FLIoA`FaBvDaPj\\aAjCrKtOqLxj@]@iE|EwI|GOF~Id\\dB`DrPbLnG|F|KhLzNfTlClBtAj@tC\\pBpClAx@tHr@bChALo@`EFjBo@p@oCf@gAb@y@zBnCrCm@lHjA`DsDrEBhAsCWsDj@gBhA]vEhA"
+ }
+ },
+ "noResultsModel": {
+ "suggestionPods": [],
+ "intelligentSuggestion": null
+ },
+ "pagination": {
+ "total": 10,
+ "options": [
+ {
+ "value": "0",
+ "description": "1"
+ },
+ {
+ "value": "24",
+ "description": "2"
+ },
+ {
+ "value": "48",
+ "description": "3"
+ },
+ {
+ "value": "72",
+ "description": "4"
+ },
+ {
+ "value": "96",
+ "description": "5"
+ },
+ {
+ "value": "120",
+ "description": "6"
+ },
+ {
+ "value": "144",
+ "description": "7"
+ },
+ {
+ "value": "168",
+ "description": "8"
+ },
+ {
+ "value": "192",
+ "description": "9"
+ },
+ {
+ "value": "216",
+ "description": "10"
+ }
+ ],
+ "first": "0",
+ "last": "216",
+ "previous": "24",
+ "next": "72",
+ "page": "3"
+ },
+ "properties": [
+ {
+ "id": 172073837,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 16,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Available Now | Large One Bedroom | First Floor Flat | Unfurnished | Large Reception Room | Good Transport Links | Double Glazed | Ample sized bedroom with great storage | Moments away from local amenities | Gas Central Heating",
+ "displayAddress": "Forest Road, Walthamstow, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.587574,
+ "longitude": -0.035495
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "url": "property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d.jpeg",
+ "caption": "110a forest road-1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4_max_476x317.jpeg",
+ "url": "property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4.jpeg",
+ "caption": "110a forest road-2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b_max_476x317.jpeg",
+ "url": "property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b.jpeg",
+ "caption": "110a forest road-3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38_max_476x317.jpeg",
+ "url": "property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38.jpeg",
+ "caption": "110a forest road-4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb_max_476x317.jpeg",
+ "url": "property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb.jpeg",
+ "caption": "110a forest road-5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964_max_476x317.jpeg",
+ "url": "property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964.jpeg",
+ "caption": "110a forest road-6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51_max_476x317.jpeg",
+ "url": "property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51.jpeg",
+ "caption": "110a forest road-7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451_max_476x317.jpeg",
+ "url": "property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451.jpeg",
+ "caption": "110a forest road-8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893_max_476x317.jpeg",
+ "url": "property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893.jpeg",
+ "caption": "110a forest road-9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea_max_476x317.jpeg",
+ "url": "property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea.jpeg",
+ "caption": "110a forest road-10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b_max_476x317.jpeg",
+ "url": "property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b.jpeg",
+ "caption": "110a forest road-13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666_max_476x317.jpeg",
+ "url": "property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666.jpeg",
+ "caption": "110a forest road-14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582_max_476x317.jpeg",
+ "url": "property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582.jpeg",
+ "caption": "110a forest road-15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031_max_476x317.jpeg",
+ "url": "property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031.jpeg",
+ "caption": "110a forest road-17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123_max_476x317.jpeg",
+ "url": "property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123.jpeg",
+ "caption": "110a forest road-18.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507_max_476x317.jpeg",
+ "url": "property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507.jpeg",
+ "caption": "110a forest road-19.jpg"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-14T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T12:10:05Z"
+ },
+ "price": {
+ "amount": 1800,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,800 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£415 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": true,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 10145,
+ "brandPlusLogoURI": "/company/clogo_3502_0001.jpeg",
+ "contactTelephone": "020 3870 3140",
+ "branchDisplayName": "Churchill Estates, Walthamstow & Leyton",
+ "branchName": "Walthamstow & Leyton",
+ "brandTradingName": "Churchill Estates",
+ "branchLandingPageUrl": "/estate-agents/agent/Churchill-Estates/Walthamstow-and-Leyton-10145.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-17T16:30:56Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_3502_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Permitted payments and tenant protection information \n \nAs well as paying the rent, you may also be required to make the following permitted payments. \n \nPermitted payments \n \nFor properties in England, the Tenant Fees Act 2019 means that in addition to rent, lettings agents can only charge tenants (or anyone acting on the tenant's behalf) the following permitted payments:\nHolding deposits (a maximum of 1 week's rent); Deposits (a maximum deposit of 5 weeks' rent for annual rent below £50,000, or 6 weeks' rent for annual rental of £50,000 and above); Payments to change a tenancy agreement eg. change of sharer (capped at £50 or, if higher, any reasonable costs); Payments associated with early termination of a tenancy (capped at the landlord's loss or the agent's reasonably incurred costs); Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services (telephone, internet, cable/satellite television), TV licence; Council tax (payable to the billing authority); Interest payments for the late payment of rent (up to 3% above Bank of England's annual percentage rate); Reasonable costs for replacement of lost keys or other security devices; Contractual damages in the event of the tenant's default of a tenancy agreement; and Any other permitted payments under the Tenant Fees Act 2019 and regulations applicable at the relevant time. \n \nTenant protection. \n\nChurchill Estates redress scheme: The Property Ombudsman Churchill Estates designated Client Money Protection scheme: Client Money Protection (CMP) provided by Propertymark/ARLA \n",
+ "displaySize": "688 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172073837#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172073837",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T12:04:55Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T12:10:05Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Available Now",
+ "htmlDescription": "Available Now"
+ },
+ {
+ "order": 2,
+ "description": "Large One Bedroom",
+ "htmlDescription": "Large One Bedroom"
+ },
+ {
+ "order": 3,
+ "description": "First Floor Flat",
+ "htmlDescription": "First Floor Flat"
+ },
+ {
+ "order": 4,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 5,
+ "description": "Large Reception Room",
+ "htmlDescription": "Large Reception Room"
+ },
+ {
+ "order": 6,
+ "description": "Good Transport Links",
+ "htmlDescription": "Good Transport Links"
+ },
+ {
+ "order": 7,
+ "description": "Double Glazed",
+ "htmlDescription": "Double Glazed"
+ },
+ {
+ "order": 8,
+ "description": "Ample sized bedroom with great storage",
+ "htmlDescription": "Ample sized bedroom with great storage"
+ },
+ {
+ "order": 9,
+ "description": "Moments away from local amenities",
+ "htmlDescription": "Moments away from local amenities"
+ },
+ {
+ "order": 10,
+ "description": "Gas Central Heating",
+ "htmlDescription": "Gas Central Heating"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "url": "property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d.jpeg",
+ "caption": "110a forest road-1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4_max_476x317.jpeg",
+ "url": "property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4.jpeg",
+ "caption": "110a forest road-2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b_max_476x317.jpeg",
+ "url": "property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b.jpeg",
+ "caption": "110a forest road-3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38_max_476x317.jpeg",
+ "url": "property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38.jpeg",
+ "caption": "110a forest road-4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb_max_476x317.jpeg",
+ "url": "property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb.jpeg",
+ "caption": "110a forest road-5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964_max_476x317.jpeg",
+ "url": "property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964.jpeg",
+ "caption": "110a forest road-6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51_max_476x317.jpeg",
+ "url": "property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51.jpeg",
+ "caption": "110a forest road-7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451_max_476x317.jpeg",
+ "url": "property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451.jpeg",
+ "caption": "110a forest road-8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893_max_476x317.jpeg",
+ "url": "property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893.jpeg",
+ "caption": "110a forest road-9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea_max_476x317.jpeg",
+ "url": "property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea.jpeg",
+ "caption": "110a forest road-10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b_max_476x317.jpeg",
+ "url": "property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b.jpeg",
+ "caption": "110a forest road-13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666_max_476x317.jpeg",
+ "url": "property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666.jpeg",
+ "caption": "110a forest road-14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582_max_476x317.jpeg",
+ "url": "property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582.jpeg",
+ "caption": "110a forest road-15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031_max_476x317.jpeg",
+ "url": "property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031.jpeg",
+ "caption": "110a forest road-17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123_max_476x317.jpeg",
+ "url": "property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123.jpeg",
+ "caption": "110a forest road-18.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507_max_476x317.jpeg",
+ "url": "property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507.jpeg",
+ "caption": "110a forest road-19.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Churchill Estates, Walthamstow & Leyton",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "Featured Property",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172087319,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 9,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "Lifestyle Property are delighted to offer for rent this Newly decorated 2 bedroom flat on Belle Vue Road, E17. This fantastic flat offers 1 double bedrooms, 1 single bedroom, family bathroom, separate kitchen, reception area and private garden. The Property also has Gas central heating, Double Gl...",
+ "displayAddress": "Belle Vue Road, Walthamstow, London",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.595196,
+ "longitude": -0.000343
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3_max_476x317.jpeg",
+ "url": "property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3.jpeg",
+ "caption": "IMG_2549"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ecceb197/172087319/0ecceb1979aeb0db7649605c9ce48509_max_476x317.jpeg",
+ "url": "property-photo/0ecceb197/172087319/0ecceb1979aeb0db7649605c9ce48509.jpeg",
+ "caption": "IMG_2546"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/312f14d89/172087319/312f14d89da5c92033899d704b0a112f_max_476x317.jpeg",
+ "url": "property-photo/312f14d89/172087319/312f14d89da5c92033899d704b0a112f.jpeg",
+ "caption": "IMG_2540"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93a182f54/172087319/93a182f54494fec05f49c6c61dc05664_max_476x317.jpeg",
+ "url": "property-photo/93a182f54/172087319/93a182f54494fec05f49c6c61dc05664.jpeg",
+ "caption": "IMG_2541"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc5b2d839/172087319/cc5b2d839d3581b035e0516450cf342a_max_476x317.jpeg",
+ "url": "property-photo/cc5b2d839/172087319/cc5b2d839d3581b035e0516450cf342a.jpeg",
+ "caption": "IMG_2536"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0d7c009/172087319/4f0d7c009cec598c010cfb6eccdf5241_max_476x317.jpeg",
+ "url": "property-photo/4f0d7c009/172087319/4f0d7c009cec598c010cfb6eccdf5241.jpeg",
+ "caption": "IMG_2537"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6de492b15/172087319/6de492b15d741e167b283edf5be72e9f_max_476x317.jpeg",
+ "url": "property-photo/6de492b15/172087319/6de492b15d741e167b283edf5be72e9f.jpeg",
+ "caption": "IMG_2539"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1817788cb/172087319/1817788cb5e73e472def22ba5a53efd6_max_476x317.jpeg",
+ "url": "property-photo/1817788cb/172087319/1817788cb5e73e472def22ba5a53efd6.jpeg",
+ "caption": "IMG_2545"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc23646f7/172087319/bc23646f7246dd25af0f3e3ca9b48318_max_476x317.jpeg",
+ "url": "property-photo/bc23646f7/172087319/bc23646f7246dd25af0f3e3ca9b48318.jpeg",
+ "caption": "IMG_2543"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-19T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T15:48:03Z"
+ },
+ "price": {
+ "amount": 1750,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,750 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£404 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 81013,
+ "brandPlusLogoURI": "/company/clogo_29146_0004.jpeg",
+ "contactTelephone": "020 3910 6660",
+ "branchDisplayName": "Lifestyle Property, Docklands",
+ "branchName": "Docklands",
+ "brandTradingName": "Lifestyle Property",
+ "branchLandingPageUrl": "/estate-agents/agent/Lifestyle-Property/Docklands-81013.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2023-12-01T10:31:23Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_29146_0004.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Permitted payments and tenant protection information
\n\nAs well as paying the rent, you may also be required to make the following permitted payments. Permitted payments For properties in England, the Tenant Fees Act 2019 means that in addition to rent, lettings agents can only charge tenants (or anyone acting on the tenant's behalf) the following permitted payments:
\n\n* Holding deposits (a maximum of 1 week's rent); \n* Deposits (a maximum deposit of 5 weeks' rent for annual rent below £50,000, or 6 weeks' rent for annual rental of £50,000 and above); \n* Payments to change a tenancy agreement e.g. change of sharer (capped at £50 or, if higher, any reasonable costs);
\n\nInterest on late payment of rent will be charged at a rate of 3% per annum over The Bank of England's base lending rate. This will not be levied until the rent is more than 14 days late
\n\n** Lost keys or other security devices: In the event that any keys or other security devices are lost and need to be replaced, you will be required to pay the costs of replacing them. If the loss results in locks needing to be changed, you will be required to pay the actual costs of a locksmith, new lock and replacement keys for the tenant, landlord any other persons requiring keys \n** Contract variation, novation, amendment or change of occupant at the tenants request within an existing tenancy a contract fee of £50 (inc. VAT), will be payable by the tenant. All requests will be subject to the landlords consent and approval.
\n\n* Payments associated with early termination of a tenancy (capped at the landlord's loss or the agent's reasonably incurred costs); \n* Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services \"telephone, internet, cable/satellite television), TV licence; \n* Council tax (payable to the billing authority); \n* Interest payments for the late payment of rent (up to 3% above Bank of England's annual percentage rate); \n* Reasonable costs for replacement of lost keys or other security devices. \n* Contractual damages in the event of the tenant's default of a tenancy agreement; and \n* Any other permitted payments under the Tenant Fees Act 2019 and regulations applicable at the relevant time.
\n\nFor properties in Wales, the Renting Homes (Fees etc.) (Wales) Act 2019 means that in addition to rent, lettings agents can only charge tenants the following permitted payments
\n\n* Holding deposits (a maximum of 1 week's rent); \n* Security deposits. \n* Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services \"telephone, internet, cable/satellite television), TV licence; \n* Council tax (payable to the billing authority); \n* Payments for the late payment of rent (where required under the tenancy agreement); \n* A breach of a term of the contract (where required under the tenancy agreement); and \n* Any other permitted payments under the Renting Homes (Fees etc.) (Wales) Act and regulations applicable at the relevant time.
\n\nTenant protectionIn addition to publishing relevant fees, lettings agents are also required to publish details of:
\n\n* the redress scheme they are a member of: Prs (Proeprty Redress scheme \n* the name of the approved or designated Client Money Protection scheme they are a member of (if any). propertymark client number C0126252 client money protection
\n",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172087319#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172087319",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T15:42:10Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-12T09:15:35Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "2 Bedroom Apartment",
+ "htmlDescription": "2 Bedroom Apartment"
+ },
+ {
+ "order": 2,
+ "description": "Double Bedroom and Single Bedroom",
+ "htmlDescription": "Double Bedroom and Single Bedroom "
+ },
+ {
+ "order": 3,
+ "description": "Separate Kitchen & Living Room",
+ "htmlDescription": "Separate Kitchen & Living Room "
+ },
+ {
+ "order": 4,
+ "description": "Private Garden",
+ "htmlDescription": "Private Garden"
+ },
+ {
+ "order": 5,
+ "description": "Early Viewing Recommended",
+ "htmlDescription": "Early Viewing Recommended "
+ },
+ {
+ "order": 6,
+ "description": "Available 19th February 2026",
+ "htmlDescription": "Available 19th February 2026"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3_max_476x317.jpeg",
+ "url": "property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3.jpeg",
+ "caption": "IMG_2549"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ecceb197/172087319/0ecceb1979aeb0db7649605c9ce48509_max_476x317.jpeg",
+ "url": "property-photo/0ecceb197/172087319/0ecceb1979aeb0db7649605c9ce48509.jpeg",
+ "caption": "IMG_2546"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/312f14d89/172087319/312f14d89da5c92033899d704b0a112f_max_476x317.jpeg",
+ "url": "property-photo/312f14d89/172087319/312f14d89da5c92033899d704b0a112f.jpeg",
+ "caption": "IMG_2540"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93a182f54/172087319/93a182f54494fec05f49c6c61dc05664_max_476x317.jpeg",
+ "url": "property-photo/93a182f54/172087319/93a182f54494fec05f49c6c61dc05664.jpeg",
+ "caption": "IMG_2541"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc5b2d839/172087319/cc5b2d839d3581b035e0516450cf342a_max_476x317.jpeg",
+ "url": "property-photo/cc5b2d839/172087319/cc5b2d839d3581b035e0516450cf342a.jpeg",
+ "caption": "IMG_2536"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f0d7c009/172087319/4f0d7c009cec598c010cfb6eccdf5241_max_476x317.jpeg",
+ "url": "property-photo/4f0d7c009/172087319/4f0d7c009cec598c010cfb6eccdf5241.jpeg",
+ "caption": "IMG_2537"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6de492b15/172087319/6de492b15d741e167b283edf5be72e9f_max_476x317.jpeg",
+ "url": "property-photo/6de492b15/172087319/6de492b15d741e167b283edf5be72e9f.jpeg",
+ "caption": "IMG_2539"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1817788cb/172087319/1817788cb5e73e472def22ba5a53efd6_max_476x317.jpeg",
+ "url": "property-photo/1817788cb/172087319/1817788cb5e73e472def22ba5a53efd6.jpeg",
+ "caption": "IMG_2545"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc23646f7/172087319/bc23646f7246dd25af0f3e3ca9b48318_max_476x317.jpeg",
+ "url": "property-photo/bc23646f7/172087319/bc23646f7246dd25af0f3e3ca9b48318.jpeg",
+ "caption": "IMG_2543"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2687a126/172087319/b2687a1269efd52a42bdbbf13eea75e3_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Lifestyle Property, Docklands",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171739247,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 19,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Set on the second floor of a purpose-built development, this one-bedroom apartment is bright, spacious, and ideally located in the heart of Walthamstow Village. Just moments from some of the area’s best independent restaurants, gastropubs, and coffee shops, it offers the perfect balance of vibran...",
+ "displayAddress": "West Avenue, Walthamstow",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582431,
+ "longitude": -0.015481
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342_max_476x317.jpeg",
+ "url": "property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f567a8c2a/171739247/f567a8c2a26cfd92adf52445304ebea9_max_476x317.jpeg",
+ "url": "property-photo/f567a8c2a/171739247/f567a8c2a26cfd92adf52445304ebea9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/caf90f50a/171739247/caf90f50a3d5650f91e112440f6e0eae_max_476x317.jpeg",
+ "url": "property-photo/caf90f50a/171739247/caf90f50a3d5650f91e112440f6e0eae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee04a90a2/171739247/ee04a90a2dc7c11a8255438b2ac34430_max_476x317.jpeg",
+ "url": "property-photo/ee04a90a2/171739247/ee04a90a2dc7c11a8255438b2ac34430.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9d0e5ffa3/171739247/9d0e5ffa39f1932f2f8f4401c0cc0199_max_476x317.jpeg",
+ "url": "property-photo/9d0e5ffa3/171739247/9d0e5ffa39f1932f2f8f4401c0cc0199.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbf38275a/171739247/dbf38275a6dc438c525e33259b4de9f4_max_476x317.jpeg",
+ "url": "property-photo/dbf38275a/171739247/dbf38275a6dc438c525e33259b4de9f4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4_max_476x317.jpeg",
+ "url": "property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082_max_476x317.jpeg",
+ "url": "property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082_max_476x317.jpeg",
+ "url": "property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4_max_476x317.jpeg",
+ "url": "property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/643bcae68/171739247/643bcae6810814b1cc44eacde5997861_max_476x317.jpeg",
+ "url": "property-photo/643bcae68/171739247/643bcae6810814b1cc44eacde5997861.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f6ead47b1/171739247/f6ead47b117103cb1ca831b9bbc28faa_max_476x317.jpeg",
+ "url": "property-photo/f6ead47b1/171739247/f6ead47b117103cb1ca831b9bbc28faa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4189b9f44/171739247/4189b9f44e48cc6b98745f225933ce18_max_476x317.jpeg",
+ "url": "property-photo/4189b9f44/171739247/4189b9f44e48cc6b98745f225933ce18.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/55a518542/171739247/55a5185427a15add9dad5f3ffe3b4ede_max_476x317.jpeg",
+ "url": "property-photo/55a518542/171739247/55a5185427a15add9dad5f3ffe3b4ede.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2e515f30/171739247/a2e515f30c3c21cd4ba3ca0f2db12c66_max_476x317.jpeg",
+ "url": "property-photo/a2e515f30/171739247/a2e515f30c3c21cd4ba3ca0f2db12c66.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c17d0a96/171739247/5c17d0a96ea25ee8e7b653eed8fda282_max_476x317.jpeg",
+ "url": "property-photo/5c17d0a96/171739247/5c17d0a96ea25ee8e7b653eed8fda282.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/242bbc11f/171739247/242bbc11fd369cfcc8dd3086686d0f44_max_476x317.jpeg",
+ "url": "property-photo/242bbc11f/171739247/242bbc11fd369cfcc8dd3086686d0f44.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcb4f40e7/171739247/bcb4f40e7ddfba80c2f679b4b560436d_max_476x317.jpeg",
+ "url": "property-photo/bcb4f40e7/171739247/bcb4f40e7ddfba80c2f679b4b560436d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75af1f182/171739247/75af1f18249434c1fe029567e95c2a52_max_476x317.jpeg",
+ "url": "property-photo/75af1f182/171739247/75af1f18249434c1fe029567e95c2a52.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-02T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-11T14:55:24Z"
+ },
+ "price": {
+ "amount": 1650,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,650 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£381 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 114391,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_49357_0001.png",
+ "contactTelephone": "020 3889 9166",
+ "branchDisplayName": "The Stow Brothers, Walthamstow & Leyton",
+ "branchName": "Walthamstow & Leyton",
+ "brandTradingName": "The Stow Brothers",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Stow-Brothers/Walthamstow-and-Leyton-114391.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-13T13:11:56Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_49357_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171739247#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=171739247",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-02T14:11:20Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T15:05:06Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "One Bedroom",
+ "htmlDescription": "One Bedroom"
+ },
+ {
+ "order": 2,
+ "description": "Well Presented",
+ "htmlDescription": "Well Presented"
+ },
+ {
+ "order": 3,
+ "description": "Available February",
+ "htmlDescription": "Available February"
+ },
+ {
+ "order": 4,
+ "description": "Walthamstow Village Location",
+ "htmlDescription": "Walthamstow Village Location"
+ },
+ {
+ "order": 5,
+ "description": "Short walk to Walthamstow Central Station",
+ "htmlDescription": "Short walk to Walthamstow Central Station"
+ },
+ {
+ "order": 6,
+ "description": "Rear Gated Parking",
+ "htmlDescription": "Rear Gated Parking"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342_max_476x317.jpeg",
+ "url": "property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f567a8c2a/171739247/f567a8c2a26cfd92adf52445304ebea9_max_476x317.jpeg",
+ "url": "property-photo/f567a8c2a/171739247/f567a8c2a26cfd92adf52445304ebea9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/caf90f50a/171739247/caf90f50a3d5650f91e112440f6e0eae_max_476x317.jpeg",
+ "url": "property-photo/caf90f50a/171739247/caf90f50a3d5650f91e112440f6e0eae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee04a90a2/171739247/ee04a90a2dc7c11a8255438b2ac34430_max_476x317.jpeg",
+ "url": "property-photo/ee04a90a2/171739247/ee04a90a2dc7c11a8255438b2ac34430.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9d0e5ffa3/171739247/9d0e5ffa39f1932f2f8f4401c0cc0199_max_476x317.jpeg",
+ "url": "property-photo/9d0e5ffa3/171739247/9d0e5ffa39f1932f2f8f4401c0cc0199.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dbf38275a/171739247/dbf38275a6dc438c525e33259b4de9f4_max_476x317.jpeg",
+ "url": "property-photo/dbf38275a/171739247/dbf38275a6dc438c525e33259b4de9f4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4_max_476x317.jpeg",
+ "url": "property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082_max_476x317.jpeg",
+ "url": "property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082_max_476x317.jpeg",
+ "url": "property-photo/bd502ef60/171739247/bd502ef60b974440e2d2c3864da59082.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4_max_476x317.jpeg",
+ "url": "property-photo/27b979cb6/171739247/27b979cb67625b55efa89c6d32d447e4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/643bcae68/171739247/643bcae6810814b1cc44eacde5997861_max_476x317.jpeg",
+ "url": "property-photo/643bcae68/171739247/643bcae6810814b1cc44eacde5997861.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f6ead47b1/171739247/f6ead47b117103cb1ca831b9bbc28faa_max_476x317.jpeg",
+ "url": "property-photo/f6ead47b1/171739247/f6ead47b117103cb1ca831b9bbc28faa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4189b9f44/171739247/4189b9f44e48cc6b98745f225933ce18_max_476x317.jpeg",
+ "url": "property-photo/4189b9f44/171739247/4189b9f44e48cc6b98745f225933ce18.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/55a518542/171739247/55a5185427a15add9dad5f3ffe3b4ede_max_476x317.jpeg",
+ "url": "property-photo/55a518542/171739247/55a5185427a15add9dad5f3ffe3b4ede.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a2e515f30/171739247/a2e515f30c3c21cd4ba3ca0f2db12c66_max_476x317.jpeg",
+ "url": "property-photo/a2e515f30/171739247/a2e515f30c3c21cd4ba3ca0f2db12c66.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c17d0a96/171739247/5c17d0a96ea25ee8e7b653eed8fda282_max_476x317.jpeg",
+ "url": "property-photo/5c17d0a96/171739247/5c17d0a96ea25ee8e7b653eed8fda282.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/242bbc11f/171739247/242bbc11fd369cfcc8dd3086686d0f44_max_476x317.jpeg",
+ "url": "property-photo/242bbc11f/171739247/242bbc11fd369cfcc8dd3086686d0f44.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bcb4f40e7/171739247/bcb4f40e7ddfba80c2f679b4b560436d_max_476x317.jpeg",
+ "url": "property-photo/bcb4f40e7/171739247/bcb4f40e7ddfba80c2f679b4b560436d.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/75af1f182/171739247/75af1f18249434c1fe029567e95c2a52_max_476x317.jpeg",
+ "url": "property-photo/75af1f182/171739247/75af1f18249434c1fe029567e95c2a52.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c1208fb96/171739247/c1208fb963ffbd665292e89b66bf1342_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Stow Brothers, Walthamstow & Leyton",
+ "addedOrReduced": "Reduced on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172079489,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 6,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "MUST BE SEEN* Wonderlease are delighted to present to the market for rent this fantastic one bedroom flat in Walthamstow. This property benefits from one double bedroom, separate kitchen, separate living room, shared garden, family bathroom, offered unfurnished, gas central heating, double glazing t",
+ "displayAddress": "Grosvenor Rise East, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.5807,
+ "longitude": -0.011866
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66_max_476x317.jpeg",
+ "url": "property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa29b08e9/172079489/fa29b08e922b815a08a32f2f3ac2b35b_max_476x317.jpeg",
+ "url": "property-photo/fa29b08e9/172079489/fa29b08e922b815a08a32f2f3ac2b35b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0c5c337e/172079489/d0c5c337e22c33095823fbbc885b1afd_max_476x317.jpeg",
+ "url": "property-photo/d0c5c337e/172079489/d0c5c337e22c33095823fbbc885b1afd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/38c6d0dc3/172079489/38c6d0dc3a1c707e52c0de45033b62be_max_476x317.jpeg",
+ "url": "property-photo/38c6d0dc3/172079489/38c6d0dc3a1c707e52c0de45033b62be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd1939827/172079489/dd19398276aaf1fe3e0d2c51ad0596aa_max_476x317.jpeg",
+ "url": "property-photo/dd1939827/172079489/dd19398276aaf1fe3e0d2c51ad0596aa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2429203d/172079489/b2429203de90f9406f56adabee34b18a_max_476x317.jpeg",
+ "url": "property-photo/b2429203d/172079489/b2429203de90f9406f56adabee34b18a.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-13T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T13:40:06Z"
+ },
+ "price": {
+ "amount": 1600,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,600 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£369 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 13735,
+ "brandPlusLogoURI": "/company/clogo_5116_0002.png",
+ "contactTelephone": "020 3871 6005",
+ "branchDisplayName": "Wonderlease Ltd, London",
+ "branchName": "London",
+ "brandTradingName": "Wonderlease Ltd",
+ "branchLandingPageUrl": "/estate-agents/agent/Wonderlease-Ltd/London-13735.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-02-03T16:33:53Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_5116_0002.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "As well as paying the rent, you may also be required to make the following permitted payments:
Permitted payments For properties in England, the Tenant Fees Act 2019 means that in addition to rent, lettings agents can only charge tenants (or anyone acting on the tenant's behalf) the following permitted payments:
Holding deposits (a maximum of 1 week's rent); Deposits (a maximum deposit of 5 weeks' rent for annual rent below £50,000, or 6 weeks' rent for annual rental of £50,000 and above); Payments to change a tenancy agreement eg. change of sharer (capped at £50 or, if higher, any reasonable costs); Payments associated with early termination of a tenancy (capped at the landlord's loss or the agent's reasonably incurred costs); Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services \"telephone, internet, cable/satellite television), TV licence; Council tax (payable to the billing authority); Interest payments for the late payment of rent (up to 3% above Bank of England's annual percentage rate); Reasonable costs for replacement of lost keys or other security devices; Contractual damages in the event of the tenant's default of a tenancy agreement; and Any other permitted payments under the Tenant Fees Act 2019 and regulations applicable at the relevant time. Tenant protection
In addition to publishing relevant fees, lettings agents are also required to publish details of Redress Scheme and name of the approved Client Money Protection Scheme:
the redress scheme; The Property Ombudsman membership number D8817 the approved Client Money Protection scheme: Propertymark Scheme Ref: C0135353 ",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172079489#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172079489",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T13:34:14Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T00:21:04Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Amazing Location",
+ "htmlDescription": "Amazing Location "
+ },
+ {
+ "order": 2,
+ "description": "Close To Walthamstow Central Station",
+ "htmlDescription": "Close To Walthamstow Central Station "
+ },
+ {
+ "order": 3,
+ "description": "Close To Walthamstow Village",
+ "htmlDescription": "Close To Walthamstow Village"
+ },
+ {
+ "order": 4,
+ "description": "Double Glazing",
+ "htmlDescription": "Double Glazing"
+ },
+ {
+ "order": 5,
+ "description": "Family Room",
+ "htmlDescription": "Family Room"
+ },
+ {
+ "order": 6,
+ "description": "Fully Fitted Kitchen",
+ "htmlDescription": "Fully Fitted Kitchen"
+ },
+ {
+ "order": 7,
+ "description": "Gas Central Heating",
+ "htmlDescription": "Gas Central Heating"
+ },
+ {
+ "order": 8,
+ "description": "One Bedroom Flat In Walthamstow",
+ "htmlDescription": "One Bedroom Flat In Walthamstow"
+ },
+ {
+ "order": 9,
+ "description": "One Double Bedroom",
+ "htmlDescription": "One Double Bedroom"
+ },
+ {
+ "order": 10,
+ "description": "Separate Reception Room",
+ "htmlDescription": "Separate Reception Room"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66_max_476x317.jpeg",
+ "url": "property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa29b08e9/172079489/fa29b08e922b815a08a32f2f3ac2b35b_max_476x317.jpeg",
+ "url": "property-photo/fa29b08e9/172079489/fa29b08e922b815a08a32f2f3ac2b35b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d0c5c337e/172079489/d0c5c337e22c33095823fbbc885b1afd_max_476x317.jpeg",
+ "url": "property-photo/d0c5c337e/172079489/d0c5c337e22c33095823fbbc885b1afd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/38c6d0dc3/172079489/38c6d0dc3a1c707e52c0de45033b62be_max_476x317.jpeg",
+ "url": "property-photo/38c6d0dc3/172079489/38c6d0dc3a1c707e52c0de45033b62be.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dd1939827/172079489/dd19398276aaf1fe3e0d2c51ad0596aa_max_476x317.jpeg",
+ "url": "property-photo/dd1939827/172079489/dd19398276aaf1fe3e0d2c51ad0596aa.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b2429203d/172079489/b2429203de90f9406f56adabee34b18a_max_476x317.jpeg",
+ "url": "property-photo/b2429203d/172079489/b2429203de90f9406f56adabee34b18a.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/91f1100e8/172079489/91f1100e89df31258ce2631b6170aa66_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Wonderlease Ltd, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172078034,
+ "bedrooms": 2,
+ "bathrooms": 2,
+ "numberOfImages": 22,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Brand New Apartment | Panoramic City Views | Private Garden. As a resident, you’ll enjoy all inclusive access to premium amenities such as a 24-hour gym, yoga studio, games room, private work from home suites, and communal co-working areas. For added peace of mind, a 24/7 on-site concie...",
+ "displayAddress": "Selborne Road, London E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582965,
+ "longitude": -0.022422
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0_max_476x317.jpeg",
+ "url": "property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/502d21be7/172078034/502d21be71184b6b9e4171790f8630ab_max_476x317.jpeg",
+ "url": "property-photo/502d21be7/172078034/502d21be71184b6b9e4171790f8630ab.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1da1a23a7/172078034/1da1a23a70ab6845d173f86244567938_max_476x317.jpeg",
+ "url": "property-photo/1da1a23a7/172078034/1da1a23a70ab6845d173f86244567938.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/67c930efe/172078034/67c930efeedf08d089f48826e42c20ba_max_476x317.jpeg",
+ "url": "property-photo/67c930efe/172078034/67c930efeedf08d089f48826e42c20ba.jpeg",
+ "caption": "4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6957c19da/172078034/6957c19daa9ffd6901088ae16712da80_max_476x317.jpeg",
+ "url": "property-photo/6957c19da/172078034/6957c19daa9ffd6901088ae16712da80.jpeg",
+ "caption": "6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172078034/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172078034/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90b999975/172078034/90b999975900fcc3640f6359b149c4be_max_476x317.jpeg",
+ "url": "property-photo/90b999975/172078034/90b999975900fcc3640f6359b149c4be.jpeg",
+ "caption": "9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/68d4b870a/172078034/68d4b870a28408b9906cdef6dc5be509_max_476x317.jpeg",
+ "url": "property-photo/68d4b870a/172078034/68d4b870a28408b9906cdef6dc5be509.jpeg",
+ "caption": "10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172078034/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172078034/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "11.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172078034/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172078034/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172078034/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172078034/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172078034/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172078034/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172078034/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172078034/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172078034/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172078034/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172078034/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172078034/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172078034/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172078034/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172078034/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172078034/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172078034/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172078034/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172078034/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172078034/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172078034/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172078034/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172078034/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172078034/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172078034/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172078034/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T13:15:05Z"
+ },
+ "price": {
+ "amount": 2995,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,995 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£691 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 252785,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_78041_0009.png",
+ "contactTelephone": "020 8016 0527",
+ "branchDisplayName": "Flagstones Property Group, London",
+ "branchName": "London",
+ "brandTradingName": "Flagstones Property Group",
+ "branchLandingPageUrl": "/estate-agents/agent/Flagstones-Property-Group/London-252785.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-12-23T14:39:31Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_78041_0009.png",
+ "primaryBrandColour": "#daa351"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "900 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172078034#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172078034",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T13:09:09Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T05:32:17Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "New luxury apartment",
+ "htmlDescription": "New luxury apartment"
+ },
+ {
+ "order": 2,
+ "description": "Larger than the average 2 bedroom",
+ "htmlDescription": "Larger than the average 2 bedroom"
+ },
+ {
+ "order": 3,
+ "description": "High-speed WiFi included",
+ "htmlDescription": "High-speed WiFi included"
+ },
+ {
+ "order": 4,
+ "description": "Modern kitchen with integrated dishwasher, washer & dryer",
+ "htmlDescription": "Modern kitchen with integrated dishwasher, washer & dryer"
+ },
+ {
+ "order": 5,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 6,
+ "description": "Dedicated work from home desk area",
+ "htmlDescription": "Dedicated work from home desk area"
+ },
+ {
+ "order": 7,
+ "description": "24-hour residents only gym access",
+ "htmlDescription": "24-hour residents only gym access"
+ },
+ {
+ "order": 8,
+ "description": "On-site concierge available 24/7",
+ "htmlDescription": "On-site concierge available 24/7"
+ },
+ {
+ "order": 9,
+ "description": "Panoramic views of London",
+ "htmlDescription": "Panoramic views of London"
+ },
+ {
+ "order": 10,
+ "description": "£1,000 John Lewis voucher provided upon move-in",
+ "htmlDescription": "£1,000 John Lewis voucher provided upon move-in"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0_max_476x317.jpeg",
+ "url": "property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/502d21be7/172078034/502d21be71184b6b9e4171790f8630ab_max_476x317.jpeg",
+ "url": "property-photo/502d21be7/172078034/502d21be71184b6b9e4171790f8630ab.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1da1a23a7/172078034/1da1a23a70ab6845d173f86244567938_max_476x317.jpeg",
+ "url": "property-photo/1da1a23a7/172078034/1da1a23a70ab6845d173f86244567938.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/67c930efe/172078034/67c930efeedf08d089f48826e42c20ba_max_476x317.jpeg",
+ "url": "property-photo/67c930efe/172078034/67c930efeedf08d089f48826e42c20ba.jpeg",
+ "caption": "4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6957c19da/172078034/6957c19daa9ffd6901088ae16712da80_max_476x317.jpeg",
+ "url": "property-photo/6957c19da/172078034/6957c19daa9ffd6901088ae16712da80.jpeg",
+ "caption": "6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172078034/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172078034/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90b999975/172078034/90b999975900fcc3640f6359b149c4be_max_476x317.jpeg",
+ "url": "property-photo/90b999975/172078034/90b999975900fcc3640f6359b149c4be.jpeg",
+ "caption": "9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/68d4b870a/172078034/68d4b870a28408b9906cdef6dc5be509_max_476x317.jpeg",
+ "url": "property-photo/68d4b870a/172078034/68d4b870a28408b9906cdef6dc5be509.jpeg",
+ "caption": "10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172078034/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172078034/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "11.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172078034/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172078034/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172078034/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172078034/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172078034/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172078034/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172078034/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172078034/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172078034/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172078034/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172078034/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172078034/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172078034/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172078034/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172078034/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172078034/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172078034/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172078034/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172078034/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172078034/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172078034/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172078034/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172078034/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172078034/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172078034/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172078034/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5187fb41e/172078034/5187fb41ea25e7e9bcf62f393a4677b0_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Flagstones Property Group, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172078007,
+ "bedrooms": 2,
+ "bathrooms": 2,
+ "numberOfImages": 22,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Limited Time Offer - £1,000 John Lewis voucher provided upon move-in | Brand New Apartment | Panoramic City Views | Private Garden. As a resident, you’ll enjoy all inclusive access to premium amenities such as a 24-hour gym, yoga studio, games room, private work from home suites, and co...",
+ "displayAddress": "The Eades, London E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582965,
+ "longitude": -0.022422
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04_max_476x317.jpeg",
+ "url": "property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f331a896/172078007/4f331a896e5a70f3243994b165229302_max_476x317.jpeg",
+ "url": "property-photo/4f331a896/172078007/4f331a896e5a70f3243994b165229302.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bbc670b8/172078007/3bbc670b8bde34d351a78371f87b2eca_max_476x317.jpeg",
+ "url": "property-photo/3bbc670b8/172078007/3bbc670b8bde34d351a78371f87b2eca.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/895830ce1/172078007/895830ce1550ec6e7bad2501d8f13115_max_476x317.jpeg",
+ "url": "property-photo/895830ce1/172078007/895830ce1550ec6e7bad2501d8f13115.jpeg",
+ "caption": "4 2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9bce5f1e7/172078007/9bce5f1e7ad9c2f3984809e234f73a31_max_476x317.jpeg",
+ "url": "property-photo/9bce5f1e7/172078007/9bce5f1e7ad9c2f3984809e234f73a31.jpeg",
+ "caption": "4*.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4ba88061/172078007/d4ba880610d718a9d1c9c1c59c3a85f1_max_476x317.jpeg",
+ "url": "property-photo/d4ba88061/172078007/d4ba880610d718a9d1c9c1c59c3a85f1.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f43b5df27/172078007/f43b5df271924a104444e30214a7f57d_max_476x317.jpeg",
+ "url": "property-photo/f43b5df27/172078007/f43b5df271924a104444e30214a7f57d.jpeg",
+ "caption": "7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9bf31b1d6/172078007/9bf31b1d6b766e3bb708713c74b098af_max_476x317.jpeg",
+ "url": "property-photo/9bf31b1d6/172078007/9bf31b1d6b766e3bb708713c74b098af.jpeg",
+ "caption": "8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83434eb53/172078007/83434eb531dcca92be20c1fe4bda23ec_max_476x317.jpeg",
+ "url": "property-photo/83434eb53/172078007/83434eb531dcca92be20c1fe4bda23ec.jpeg",
+ "caption": "9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172078007/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172078007/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172078007/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172078007/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "11.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172078007/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172078007/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172078007/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172078007/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172078007/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172078007/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172078007/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172078007/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172078007/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172078007/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172078007/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172078007/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172078007/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172078007/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172078007/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172078007/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172078007/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172078007/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172078007/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172078007/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172078007/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172078007/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T13:14:05Z"
+ },
+ "price": {
+ "amount": 2995,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,995 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£691 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 252785,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_78041_0009.png",
+ "contactTelephone": "020 8016 0527",
+ "branchDisplayName": "Flagstones Property Group, London",
+ "branchName": "London",
+ "brandTradingName": "Flagstones Property Group",
+ "branchLandingPageUrl": "/estate-agents/agent/Flagstones-Property-Group/London-252785.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-12-23T14:39:31Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_78041_0009.png",
+ "primaryBrandColour": "#daa351"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "900 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172078007#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172078007",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T13:08:41Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T05:32:17Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "New luxury apartment",
+ "htmlDescription": "New luxury apartment"
+ },
+ {
+ "order": 2,
+ "description": "Larger than the average 2 bedroom",
+ "htmlDescription": "Larger than the average 2 bedroom"
+ },
+ {
+ "order": 3,
+ "description": "High-speed WiFi included",
+ "htmlDescription": "High-speed WiFi included"
+ },
+ {
+ "order": 4,
+ "description": "Modern kitchen with integrated dishwasher, washer & dryer",
+ "htmlDescription": "Modern kitchen with integrated dishwasher, washer & dryer"
+ },
+ {
+ "order": 5,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 6,
+ "description": "Dedicated work from home desk area",
+ "htmlDescription": "Dedicated work from home desk area"
+ },
+ {
+ "order": 7,
+ "description": "24-hour residents only gym access",
+ "htmlDescription": "24-hour residents only gym access"
+ },
+ {
+ "order": 8,
+ "description": "On-site concierge available 24/7",
+ "htmlDescription": "On-site concierge available 24/7"
+ },
+ {
+ "order": 9,
+ "description": "Panoramic views of London",
+ "htmlDescription": "Panoramic views of London"
+ },
+ {
+ "order": 10,
+ "description": "£1,000 John Lewis voucher provided upon move-in",
+ "htmlDescription": "£1,000 John Lewis voucher provided upon move-in"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04_max_476x317.jpeg",
+ "url": "property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f331a896/172078007/4f331a896e5a70f3243994b165229302_max_476x317.jpeg",
+ "url": "property-photo/4f331a896/172078007/4f331a896e5a70f3243994b165229302.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bbc670b8/172078007/3bbc670b8bde34d351a78371f87b2eca_max_476x317.jpeg",
+ "url": "property-photo/3bbc670b8/172078007/3bbc670b8bde34d351a78371f87b2eca.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/895830ce1/172078007/895830ce1550ec6e7bad2501d8f13115_max_476x317.jpeg",
+ "url": "property-photo/895830ce1/172078007/895830ce1550ec6e7bad2501d8f13115.jpeg",
+ "caption": "4 2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9bce5f1e7/172078007/9bce5f1e7ad9c2f3984809e234f73a31_max_476x317.jpeg",
+ "url": "property-photo/9bce5f1e7/172078007/9bce5f1e7ad9c2f3984809e234f73a31.jpeg",
+ "caption": "4*.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d4ba88061/172078007/d4ba880610d718a9d1c9c1c59c3a85f1_max_476x317.jpeg",
+ "url": "property-photo/d4ba88061/172078007/d4ba880610d718a9d1c9c1c59c3a85f1.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f43b5df27/172078007/f43b5df271924a104444e30214a7f57d_max_476x317.jpeg",
+ "url": "property-photo/f43b5df27/172078007/f43b5df271924a104444e30214a7f57d.jpeg",
+ "caption": "7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9bf31b1d6/172078007/9bf31b1d6b766e3bb708713c74b098af_max_476x317.jpeg",
+ "url": "property-photo/9bf31b1d6/172078007/9bf31b1d6b766e3bb708713c74b098af.jpeg",
+ "caption": "8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/83434eb53/172078007/83434eb531dcca92be20c1fe4bda23ec_max_476x317.jpeg",
+ "url": "property-photo/83434eb53/172078007/83434eb531dcca92be20c1fe4bda23ec.jpeg",
+ "caption": "9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172078007/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172078007/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172078007/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172078007/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "11.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172078007/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172078007/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172078007/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172078007/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172078007/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172078007/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172078007/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172078007/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172078007/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172078007/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172078007/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172078007/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172078007/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172078007/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172078007/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172078007/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172078007/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172078007/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172078007/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172078007/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172078007/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172078007/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1dc64b2c0/172078007/1dc64b2c0ccb8b57674fb8736c226f04_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Flagstones Property Group, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172077983,
+ "bedrooms": 0,
+ "bathrooms": 1,
+ "numberOfImages": 22,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Brand New Apartment | Panoramic City Views | Private Garden. As a resident, you’ll enjoy all inclusive access to premium amenities such as a 24-hour gym, yoga studio, games room, private work from home suites, and communal co-working areas. For added peace of mind, a 24/7 on-site concie...",
+ "displayAddress": "Selborne Road, London E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582965,
+ "longitude": -0.022422
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6_max_476x317.jpeg",
+ "url": "property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/66c7178d3/172077983/66c7178d366f451f618913130f7e3f0b_max_476x317.jpeg",
+ "url": "property-photo/66c7178d3/172077983/66c7178d366f451f618913130f7e3f0b.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffdc8c41f/172077983/ffdc8c41f10367a1db3f5fea3eff31c6_max_476x317.jpeg",
+ "url": "property-photo/ffdc8c41f/172077983/ffdc8c41f10367a1db3f5fea3eff31c6.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f43b5df27/172077983/f43b5df271924a104444e30214a7f57d_max_476x317.jpeg",
+ "url": "property-photo/f43b5df27/172077983/f43b5df271924a104444e30214a7f57d.jpeg",
+ "caption": "4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172077983/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172077983/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172077983/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172077983/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172077983/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172077983/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172077983/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172077983/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172077983/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172077983/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172077983/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172077983/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172077983/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172077983/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172077983/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172077983/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172077983/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172077983/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172077983/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172077983/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172077983/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172077983/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172077983/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172077983/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172077983/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172077983/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172077983/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172077983/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1476d180/172077983/a1476d180b566a0f225b4de4c440399b_max_476x317.jpeg",
+ "url": "property-photo/a1476d180/172077983/a1476d180b566a0f225b4de4c440399b.jpeg",
+ "caption": "28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a722675ab/172077983/a722675ab11757d5047891c2ef4d06b0_max_476x317.jpeg",
+ "url": "property-photo/a722675ab/172077983/a722675ab11757d5047891c2ef4d06b0.jpeg",
+ "caption": "29.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ac333c7f/172077983/7ac333c7f3c6373ea8ed2cb7f1a60e40_max_476x317.jpeg",
+ "url": "property-photo/7ac333c7f/172077983/7ac333c7f3c6373ea8ed2cb7f1a60e40.jpeg",
+ "caption": "30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93e17f65d/172077983/93e17f65d3addd7bbca1fd42b699f4b7_max_476x317.jpeg",
+ "url": "property-photo/93e17f65d/172077983/93e17f65d3addd7bbca1fd42b699f4b7.jpeg",
+ "caption": "31.jpg"
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T13:14:02Z"
+ },
+ "price": {
+ "amount": 2185,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,185 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£504 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 252785,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_78041_0009.png",
+ "contactTelephone": "020 8016 0527",
+ "branchDisplayName": "Flagstones Property Group, London",
+ "branchName": "London",
+ "brandTradingName": "Flagstones Property Group",
+ "branchLandingPageUrl": "/estate-agents/agent/Flagstones-Property-Group/London-252785.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-12-23T14:39:31Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_78041_0009.png",
+ "primaryBrandColour": "#daa351"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "455 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172077983#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172077983",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T13:08:12Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T05:32:17Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Brand new large studio apartment",
+ "htmlDescription": "Brand new large studio apartment"
+ },
+ {
+ "order": 2,
+ "description": "Larger than the average apartment",
+ "htmlDescription": "Larger than the average apartment"
+ },
+ {
+ "order": 3,
+ "description": "High-speed WiFi included",
+ "htmlDescription": "High-speed WiFi included"
+ },
+ {
+ "order": 4,
+ "description": "Modern kitchen with integrated dishwasher, washer & dryer",
+ "htmlDescription": "Modern kitchen with integrated dishwasher, washer & dryer"
+ },
+ {
+ "order": 5,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 6,
+ "description": "Dedicated work from home desk area",
+ "htmlDescription": "Dedicated work from home desk area"
+ },
+ {
+ "order": 7,
+ "description": "24-hour residents only gym access",
+ "htmlDescription": "24-hour residents only gym access"
+ },
+ {
+ "order": 8,
+ "description": "On-site concierge available 24/7",
+ "htmlDescription": "On-site concierge available 24/7"
+ },
+ {
+ "order": 9,
+ "description": "Panoramic views of London",
+ "htmlDescription": "Panoramic views of London"
+ },
+ {
+ "order": 10,
+ "description": "New Listing",
+ "htmlDescription": "New Listing"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6_max_476x317.jpeg",
+ "url": "property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/66c7178d3/172077983/66c7178d366f451f618913130f7e3f0b_max_476x317.jpeg",
+ "url": "property-photo/66c7178d3/172077983/66c7178d366f451f618913130f7e3f0b.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ffdc8c41f/172077983/ffdc8c41f10367a1db3f5fea3eff31c6_max_476x317.jpeg",
+ "url": "property-photo/ffdc8c41f/172077983/ffdc8c41f10367a1db3f5fea3eff31c6.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f43b5df27/172077983/f43b5df271924a104444e30214a7f57d_max_476x317.jpeg",
+ "url": "property-photo/f43b5df27/172077983/f43b5df271924a104444e30214a7f57d.jpeg",
+ "caption": "4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63b082d50/172077983/63b082d50e69d9861b3663d001baeef0_max_476x317.jpeg",
+ "url": "property-photo/63b082d50/172077983/63b082d50e69d9861b3663d001baeef0.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172077983/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172077983/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172077983/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172077983/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172077983/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172077983/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172077983/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172077983/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172077983/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172077983/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172077983/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172077983/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172077983/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172077983/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172077983/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172077983/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172077983/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172077983/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172077983/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172077983/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172077983/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172077983/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172077983/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172077983/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172077983/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172077983/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1476d180/172077983/a1476d180b566a0f225b4de4c440399b_max_476x317.jpeg",
+ "url": "property-photo/a1476d180/172077983/a1476d180b566a0f225b4de4c440399b.jpeg",
+ "caption": "28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a722675ab/172077983/a722675ab11757d5047891c2ef4d06b0_max_476x317.jpeg",
+ "url": "property-photo/a722675ab/172077983/a722675ab11757d5047891c2ef4d06b0.jpeg",
+ "caption": "29.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ac333c7f/172077983/7ac333c7f3c6373ea8ed2cb7f1a60e40_max_476x317.jpeg",
+ "url": "property-photo/7ac333c7f/172077983/7ac333c7f3c6373ea8ed2cb7f1a60e40.jpeg",
+ "caption": "30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93e17f65d/172077983/93e17f65d3addd7bbca1fd42b699f4b7_max_476x317.jpeg",
+ "url": "property-photo/93e17f65d/172077983/93e17f65d3addd7bbca1fd42b699f4b7.jpeg",
+ "caption": "31.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fbcc740cc/172077983/fbcc740cc8438b4eea6bc4580a0b46b6_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Flagstones Property Group, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "Studio apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172077971,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 22,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 1,
+ "summary": "Limited Time Offer - £1,000 John Lewis voucher provided upon move-in | Brand New Apartment | Panoramic City Views | Private Garden. As a resident, you’ll enjoy all inclusive access to premium amenities such as a 24-hour gym, yoga studio, games room, private work from home suites, and co...",
+ "displayAddress": "Selborne Road, London E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582965,
+ "longitude": -0.022422
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf_max_476x317.jpeg",
+ "url": "property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6957c19da/172077971/6957c19daa9ffd6901088ae16712da80_max_476x317.jpeg",
+ "url": "property-photo/6957c19da/172077971/6957c19daa9ffd6901088ae16712da80.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/59a364d86/172077971/59a364d86d6caf5cb49f17b3bdac8520_max_476x317.jpeg",
+ "url": "property-photo/59a364d86/172077971/59a364d86d6caf5cb49f17b3bdac8520.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3122d7972/172077971/3122d797274ad55eda6a28876bb3911b_max_476x317.jpeg",
+ "url": "property-photo/3122d7972/172077971/3122d797274ad55eda6a28876bb3911b.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172077971/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172077971/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172077971/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172077971/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172077971/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172077971/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172077971/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172077971/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172077971/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172077971/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172077971/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172077971/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172077971/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172077971/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172077971/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172077971/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172077971/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172077971/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172077971/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172077971/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172077971/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172077971/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172077971/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172077971/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172077971/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172077971/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172077971/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172077971/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1476d180/172077971/a1476d180b566a0f225b4de4c440399b_max_476x317.jpeg",
+ "url": "property-photo/a1476d180/172077971/a1476d180b566a0f225b4de4c440399b.jpeg",
+ "caption": "28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a722675ab/172077971/a722675ab11757d5047891c2ef4d06b0_max_476x317.jpeg",
+ "url": "property-photo/a722675ab/172077971/a722675ab11757d5047891c2ef4d06b0.jpeg",
+ "caption": "29.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ac333c7f/172077971/7ac333c7f3c6373ea8ed2cb7f1a60e40_max_476x317.jpeg",
+ "url": "property-photo/7ac333c7f/172077971/7ac333c7f3c6373ea8ed2cb7f1a60e40.jpeg",
+ "caption": "30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93e17f65d/172077971/93e17f65d3addd7bbca1fd42b699f4b7_max_476x317.jpeg",
+ "url": "property-photo/93e17f65d/172077971/93e17f65d3addd7bbca1fd42b699f4b7.jpeg",
+ "caption": "31.jpg"
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T13:13:05Z"
+ },
+ "price": {
+ "amount": 2495,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,495 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£576 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 252785,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_78041_0009.png",
+ "contactTelephone": "020 8016 0527",
+ "branchDisplayName": "Flagstones Property Group, London",
+ "branchName": "London",
+ "brandTradingName": "Flagstones Property Group",
+ "branchLandingPageUrl": "/estate-agents/agent/Flagstones-Property-Group/London-252785.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-12-23T14:39:31Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_78041_0009.png",
+ "primaryBrandColour": "#daa351"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "600 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172077971#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172077971",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T13:07:48Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T05:32:17Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Brand new luxury apartment",
+ "htmlDescription": "Brand new luxury apartment"
+ },
+ {
+ "order": 2,
+ "description": "Larger than the average 1-bedroom",
+ "htmlDescription": "Larger than the average 1-bedroom"
+ },
+ {
+ "order": 3,
+ "description": "High-speed WiFi included",
+ "htmlDescription": "High-speed WiFi included"
+ },
+ {
+ "order": 4,
+ "description": "Modern kitchen with integrated dishwasher, washer & dryer",
+ "htmlDescription": "Modern kitchen with integrated dishwasher, washer & dryer"
+ },
+ {
+ "order": 5,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 6,
+ "description": "Dedicated work from home desk area",
+ "htmlDescription": "Dedicated work from home desk area"
+ },
+ {
+ "order": 7,
+ "description": "24-hour residents only gym access",
+ "htmlDescription": "24-hour residents only gym access"
+ },
+ {
+ "order": 8,
+ "description": "On-site concierge available 24/7",
+ "htmlDescription": "On-site concierge available 24/7"
+ },
+ {
+ "order": 9,
+ "description": "Panoramic views of London",
+ "htmlDescription": "Panoramic views of London"
+ },
+ {
+ "order": 10,
+ "description": "£1,000 John Lewis voucher provided upon move-in",
+ "htmlDescription": "£1,000 John Lewis voucher provided upon move-in"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf_max_476x317.jpeg",
+ "url": "property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf.jpeg",
+ "caption": "1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6957c19da/172077971/6957c19daa9ffd6901088ae16712da80_max_476x317.jpeg",
+ "url": "property-photo/6957c19da/172077971/6957c19daa9ffd6901088ae16712da80.jpeg",
+ "caption": "2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/59a364d86/172077971/59a364d86d6caf5cb49f17b3bdac8520_max_476x317.jpeg",
+ "url": "property-photo/59a364d86/172077971/59a364d86d6caf5cb49f17b3bdac8520.jpeg",
+ "caption": "3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3122d7972/172077971/3122d797274ad55eda6a28876bb3911b_max_476x317.jpeg",
+ "url": "property-photo/3122d7972/172077971/3122d797274ad55eda6a28876bb3911b.jpeg",
+ "caption": "5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/eac2c1a5b/172077971/eac2c1a5b4d6fa612d91dc31fccbe6e6_max_476x317.jpeg",
+ "url": "property-photo/eac2c1a5b/172077971/eac2c1a5b4d6fa612d91dc31fccbe6e6.jpeg",
+ "caption": "6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54543c755/172077971/54543c755e47ba6fc50ca95466b7ead0_max_476x317.jpeg",
+ "url": "property-photo/54543c755/172077971/54543c755e47ba6fc50ca95466b7ead0.jpeg",
+ "caption": "13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7df3b0661/172077971/7df3b0661be263a6c8723ae77c2d905d_max_476x317.jpeg",
+ "url": "property-photo/7df3b0661/172077971/7df3b0661be263a6c8723ae77c2d905d.jpeg",
+ "caption": "14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1c0c084fe/172077971/1c0c084fe7bf060d50ef7066eb25138f_max_476x317.jpeg",
+ "url": "property-photo/1c0c084fe/172077971/1c0c084fe7bf060d50ef7066eb25138f.jpeg",
+ "caption": "15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bb5a33c9/172077971/3bb5a33c96f921553e684321b578d162_max_476x317.jpeg",
+ "url": "property-photo/3bb5a33c9/172077971/3bb5a33c96f921553e684321b578d162.jpeg",
+ "caption": "16.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c689acff9/172077971/c689acff9f1d25d0595d99049a242157_max_476x317.jpeg",
+ "url": "property-photo/c689acff9/172077971/c689acff9f1d25d0595d99049a242157.jpeg",
+ "caption": "17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/446f25795/172077971/446f25795776272b87d195afc5024c5f_max_476x317.jpeg",
+ "url": "property-photo/446f25795/172077971/446f25795776272b87d195afc5024c5f.jpeg",
+ "caption": "20.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8f6c73550/172077971/8f6c73550dd06d676c5c869035215922_max_476x317.jpeg",
+ "url": "property-photo/8f6c73550/172077971/8f6c73550dd06d676c5c869035215922.jpeg",
+ "caption": "21.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c9bb5d7c/172077971/5c9bb5d7c008cde2fcb48de1fdd4cf8a_max_476x317.jpeg",
+ "url": "property-photo/5c9bb5d7c/172077971/5c9bb5d7c008cde2fcb48de1fdd4cf8a.jpeg",
+ "caption": "22.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a0ac5ffc/172077971/3a0ac5ffc5d412b81ca2f1d2c477eed0_max_476x317.jpeg",
+ "url": "property-photo/3a0ac5ffc/172077971/3a0ac5ffc5d412b81ca2f1d2c477eed0.jpeg",
+ "caption": "23.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2242cbb62/172077971/2242cbb62b3b08ed2c868c764b8ed5ef_max_476x317.jpeg",
+ "url": "property-photo/2242cbb62/172077971/2242cbb62b3b08ed2c868c764b8ed5ef.jpeg",
+ "caption": "24.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9f9dd1c/172077971/cb9f9dd1ca7ab7255075992b93d3790c_max_476x317.jpeg",
+ "url": "property-photo/cb9f9dd1c/172077971/cb9f9dd1ca7ab7255075992b93d3790c.jpeg",
+ "caption": "25.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/89fc40e58/172077971/89fc40e5886f327980eaded630c2a967_max_476x317.jpeg",
+ "url": "property-photo/89fc40e58/172077971/89fc40e5886f327980eaded630c2a967.jpeg",
+ "caption": "26.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7cce9943/172077971/f7cce9943f7068e32f51df3720f18407_max_476x317.jpeg",
+ "url": "property-photo/f7cce9943/172077971/f7cce9943f7068e32f51df3720f18407.jpeg",
+ "caption": "27.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a1476d180/172077971/a1476d180b566a0f225b4de4c440399b_max_476x317.jpeg",
+ "url": "property-photo/a1476d180/172077971/a1476d180b566a0f225b4de4c440399b.jpeg",
+ "caption": "28.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a722675ab/172077971/a722675ab11757d5047891c2ef4d06b0_max_476x317.jpeg",
+ "url": "property-photo/a722675ab/172077971/a722675ab11757d5047891c2ef4d06b0.jpeg",
+ "caption": "29.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ac333c7f/172077971/7ac333c7f3c6373ea8ed2cb7f1a60e40_max_476x317.jpeg",
+ "url": "property-photo/7ac333c7f/172077971/7ac333c7f3c6373ea8ed2cb7f1a60e40.jpeg",
+ "caption": "30.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/93e17f65d/172077971/93e17f65d3addd7bbca1fd42b699f4b7_max_476x317.jpeg",
+ "url": "property-photo/93e17f65d/172077971/93e17f65d3addd7bbca1fd42b699f4b7.jpeg",
+ "caption": "31.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b11b9fdf3/172077971/b11b9fdf3a4108bf8d7b5d57378c4bcf_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Flagstones Property Group, London",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172073837,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 16,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Available Now | Large One Bedroom | First Floor Flat | Unfurnished | Large Reception Room | Good Transport Links | Double Glazed | Ample sized bedroom with great storage | Moments away from local amenities | Gas Central Heating",
+ "displayAddress": "Forest Road, Walthamstow, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.587574,
+ "longitude": -0.035495
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "url": "property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d.jpeg",
+ "caption": "110a forest road-1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4_max_476x317.jpeg",
+ "url": "property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4.jpeg",
+ "caption": "110a forest road-2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b_max_476x317.jpeg",
+ "url": "property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b.jpeg",
+ "caption": "110a forest road-3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38_max_476x317.jpeg",
+ "url": "property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38.jpeg",
+ "caption": "110a forest road-4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb_max_476x317.jpeg",
+ "url": "property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb.jpeg",
+ "caption": "110a forest road-5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964_max_476x317.jpeg",
+ "url": "property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964.jpeg",
+ "caption": "110a forest road-6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51_max_476x317.jpeg",
+ "url": "property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51.jpeg",
+ "caption": "110a forest road-7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451_max_476x317.jpeg",
+ "url": "property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451.jpeg",
+ "caption": "110a forest road-8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893_max_476x317.jpeg",
+ "url": "property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893.jpeg",
+ "caption": "110a forest road-9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea_max_476x317.jpeg",
+ "url": "property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea.jpeg",
+ "caption": "110a forest road-10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b_max_476x317.jpeg",
+ "url": "property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b.jpeg",
+ "caption": "110a forest road-13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666_max_476x317.jpeg",
+ "url": "property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666.jpeg",
+ "caption": "110a forest road-14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582_max_476x317.jpeg",
+ "url": "property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582.jpeg",
+ "caption": "110a forest road-15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031_max_476x317.jpeg",
+ "url": "property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031.jpeg",
+ "caption": "110a forest road-17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123_max_476x317.jpeg",
+ "url": "property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123.jpeg",
+ "caption": "110a forest road-18.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507_max_476x317.jpeg",
+ "url": "property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507.jpeg",
+ "caption": "110a forest road-19.jpg"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-14T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T12:10:05Z"
+ },
+ "price": {
+ "amount": 1800,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,800 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£415 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 10145,
+ "brandPlusLogoURI": "/company/clogo_3502_0001.jpeg",
+ "contactTelephone": "020 3870 3140",
+ "branchDisplayName": "Churchill Estates, Walthamstow & Leyton",
+ "branchName": "Walthamstow & Leyton",
+ "brandTradingName": "Churchill Estates",
+ "branchLandingPageUrl": "/estate-agents/agent/Churchill-Estates/Walthamstow-and-Leyton-10145.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-17T16:30:56Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_3502_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Permitted payments and tenant protection information \n \nAs well as paying the rent, you may also be required to make the following permitted payments. \n \nPermitted payments \n \nFor properties in England, the Tenant Fees Act 2019 means that in addition to rent, lettings agents can only charge tenants (or anyone acting on the tenant's behalf) the following permitted payments:\nHolding deposits (a maximum of 1 week's rent); Deposits (a maximum deposit of 5 weeks' rent for annual rent below £50,000, or 6 weeks' rent for annual rental of £50,000 and above); Payments to change a tenancy agreement eg. change of sharer (capped at £50 or, if higher, any reasonable costs); Payments associated with early termination of a tenancy (capped at the landlord's loss or the agent's reasonably incurred costs); Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services (telephone, internet, cable/satellite television), TV licence; Council tax (payable to the billing authority); Interest payments for the late payment of rent (up to 3% above Bank of England's annual percentage rate); Reasonable costs for replacement of lost keys or other security devices; Contractual damages in the event of the tenant's default of a tenancy agreement; and Any other permitted payments under the Tenant Fees Act 2019 and regulations applicable at the relevant time. \n \nTenant protection. \n\nChurchill Estates redress scheme: The Property Ombudsman Churchill Estates designated Client Money Protection scheme: Client Money Protection (CMP) provided by Propertymark/ARLA \n",
+ "displaySize": "688 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172073837#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172073837",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T12:04:55Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T12:10:05Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Available Now",
+ "htmlDescription": "Available Now"
+ },
+ {
+ "order": 2,
+ "description": "Large One Bedroom",
+ "htmlDescription": "Large One Bedroom"
+ },
+ {
+ "order": 3,
+ "description": "First Floor Flat",
+ "htmlDescription": "First Floor Flat"
+ },
+ {
+ "order": 4,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 5,
+ "description": "Large Reception Room",
+ "htmlDescription": "Large Reception Room"
+ },
+ {
+ "order": 6,
+ "description": "Good Transport Links",
+ "htmlDescription": "Good Transport Links"
+ },
+ {
+ "order": 7,
+ "description": "Double Glazed",
+ "htmlDescription": "Double Glazed"
+ },
+ {
+ "order": 8,
+ "description": "Ample sized bedroom with great storage",
+ "htmlDescription": "Ample sized bedroom with great storage"
+ },
+ {
+ "order": 9,
+ "description": "Moments away from local amenities",
+ "htmlDescription": "Moments away from local amenities"
+ },
+ {
+ "order": 10,
+ "description": "Gas Central Heating",
+ "htmlDescription": "Gas Central Heating"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "url": "property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d.jpeg",
+ "caption": "110a forest road-1.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4_max_476x317.jpeg",
+ "url": "property-photo/96654aba3/172073837/96654aba3d99dd0c2b815d60497978c4.jpeg",
+ "caption": "110a forest road-2.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b_max_476x317.jpeg",
+ "url": "property-photo/9ad9327de/172073837/9ad9327dedc353da60bdba999be5610b.jpeg",
+ "caption": "110a forest road-3.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38_max_476x317.jpeg",
+ "url": "property-photo/883d1dccc/172073837/883d1dccc08a04494059531309a94b38.jpeg",
+ "caption": "110a forest road-4.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb_max_476x317.jpeg",
+ "url": "property-photo/c12533762/172073837/c12533762f4e164dc5b7c5a6c40981cb.jpeg",
+ "caption": "110a forest road-5.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964_max_476x317.jpeg",
+ "url": "property-photo/cd39c79d6/172073837/cd39c79d657b8f424fa704badf30c964.jpeg",
+ "caption": "110a forest road-6.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51_max_476x317.jpeg",
+ "url": "property-photo/13f81d8ae/172073837/13f81d8aebcfef777015f25d7216ce51.jpeg",
+ "caption": "110a forest road-7.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451_max_476x317.jpeg",
+ "url": "property-photo/ba48444f2/172073837/ba48444f2a6b0741e48b49829b6b5451.jpeg",
+ "caption": "110a forest road-8.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893_max_476x317.jpeg",
+ "url": "property-photo/94b221762/172073837/94b221762b47ba8e28554d6f04c48893.jpeg",
+ "caption": "110a forest road-9.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea_max_476x317.jpeg",
+ "url": "property-photo/3d0f71572/172073837/3d0f71572492fa8e1b4b066287af1cea.jpeg",
+ "caption": "110a forest road-10.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b_max_476x317.jpeg",
+ "url": "property-photo/be71f2281/172073837/be71f22811800f0e59019a7a6c31b20b.jpeg",
+ "caption": "110a forest road-13.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666_max_476x317.jpeg",
+ "url": "property-photo/ccf9045f9/172073837/ccf9045f97c50f3dad93f8915a0eb666.jpeg",
+ "caption": "110a forest road-14.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582_max_476x317.jpeg",
+ "url": "property-photo/fd8a54725/172073837/fd8a54725104446e223445722f4ea582.jpeg",
+ "caption": "110a forest road-15.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031_max_476x317.jpeg",
+ "url": "property-photo/db0324566/172073837/db03245664ddb1b5c4830034ba6e1031.jpeg",
+ "caption": "110a forest road-17.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123_max_476x317.jpeg",
+ "url": "property-photo/c2f6b8997/172073837/c2f6b8997af5c919ef6c951ca0b82123.jpeg",
+ "caption": "110a forest road-18.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507_max_476x317.jpeg",
+ "url": "property-photo/baa6b8740/172073837/baa6b874074f50a521b164dd3c0b2507.jpeg",
+ "caption": "110a forest road-19.jpg"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c37eac8f/172073837/6c37eac8f95b41bd40a7818dedeb989d_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Churchill Estates, Walthamstow & Leyton",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172072550,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 15,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Nestled just moments from the heart of Walthamstow’s much-loved Village, this beautifully presented one-bedroom apartment offers a perfect blend of modern style, period charm, and an unbeatable location. Situated on the sought-after Grosvenor Rise East, this home truly places you at the cen...",
+ "displayAddress": "Grosvenor Rise East, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.580702,
+ "longitude": -0.01232
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554_max_476x317.jpeg",
+ "url": "property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3b5c6ab5b/172072550/3b5c6ab5b1815f61e904533a9a8556d1_max_476x317.jpeg",
+ "url": "property-photo/3b5c6ab5b/172072550/3b5c6ab5b1815f61e904533a9a8556d1.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fc2dcd92c/172072550/fc2dcd92cbba3ef157996a0686186136_max_476x317.jpeg",
+ "url": "property-photo/fc2dcd92c/172072550/fc2dcd92cbba3ef157996a0686186136.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b4d86709/172072550/5b4d867095ca8db222eeb02a0a4179a1_max_476x317.jpeg",
+ "url": "property-photo/5b4d86709/172072550/5b4d867095ca8db222eeb02a0a4179a1.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a784b582/172072550/1a784b582817eba923ae6b0caceae50d_max_476x317.jpeg",
+ "url": "property-photo/1a784b582/172072550/1a784b582817eba923ae6b0caceae50d.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d90bb4e0/172072550/3d90bb4e0ff49c1da6c4098b68efeb81_max_476x317.jpeg",
+ "url": "property-photo/3d90bb4e0/172072550/3d90bb4e0ff49c1da6c4098b68efeb81.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/76f827af4/172072550/76f827af4ff522ca51a4599a9bda4e44_max_476x317.jpeg",
+ "url": "property-photo/76f827af4/172072550/76f827af4ff522ca51a4599a9bda4e44.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/77af26161/172072550/77af2616193f4bca62fd5f6d1472b4d6_max_476x317.jpeg",
+ "url": "property-photo/77af26161/172072550/77af2616193f4bca62fd5f6d1472b4d6.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ddff7a0fe/172072550/ddff7a0feab66c1c3e6938b3b94391a4_max_476x317.jpeg",
+ "url": "property-photo/ddff7a0fe/172072550/ddff7a0feab66c1c3e6938b3b94391a4.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf84b3291/172072550/bf84b32918f76b7d1e80e5712ffd44ea_max_476x317.jpeg",
+ "url": "property-photo/bf84b3291/172072550/bf84b32918f76b7d1e80e5712ffd44ea.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c018f711/172072550/8c018f7119c2b903470962d303ee2228_max_476x317.jpeg",
+ "url": "property-photo/8c018f711/172072550/8c018f7119c2b903470962d303ee2228.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a20c3f8e/172072550/3a20c3f8e77c75b3c6feb4cbdb8cf09b_max_476x317.jpeg",
+ "url": "property-photo/3a20c3f8e/172072550/3a20c3f8e77c75b3c6feb4cbdb8cf09b.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4c363b593/172072550/4c363b59301f765d386f395d8c995e48_max_476x317.jpeg",
+ "url": "property-photo/4c363b593/172072550/4c363b59301f765d386f395d8c995e48.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/92da02181/172072550/92da02181cc316e10e328f90e651ecbd_max_476x317.jpeg",
+ "url": "property-photo/92da02181/172072550/92da02181cc316e10e328f90e651ecbd.jpeg",
+ "caption": "Picture No. 01"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5895cfb2f/172072550/5895cfb2fd21ecdf09836d53bb523120_max_476x317.jpeg",
+ "url": "property-photo/5895cfb2f/172072550/5895cfb2fd21ecdf09836d53bb523120.jpeg",
+ "caption": "Picture No. 02"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-13T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-11T11:53:05Z"
+ },
+ "price": {
+ "amount": 1600,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,600 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£369 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 81876,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "contactTelephone": "020 4538 4745",
+ "branchDisplayName": "Your Move Sales & Lettings, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Your Move Sales & Lettings",
+ "branchLandingPageUrl": "/estate-agents/agent/Your-Move-Sales-and-Lettings/Walthamstow-81876.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-02T10:39:59Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Tenancy Information \rWhat permitted payments can I expect to pay if I rent a property with Your Move? \rWhen you have agreed on the property of your choice, Your Move will provide you with a Tenancy Application Form. This helps explain not only the next stages of your application but any permitted payments which are due before you sign your Tenancy Agreement and any which may become payable during and after the tenancy. This will also include confirmation of the agreed rent and the deposit. \rBelow is a list of our current permitted payments. At any time you are interested in a property, please ask a member of staff for a full breakdown of permitted payments that may be payable before, during and after a tenancy. \rHolding Deposit (per tenancy) One week's rent. This is to reserve a property. Please Note: This will be withheld if any relevant person (including any guarantor(s)) withdraw from the tenancy, fail a Right-to-Rent check, provide materially significant false or misleading information, or fail to sign their tenancy agreement (and / or Deed of Guarantee) within 15 calendar days (or other Deadline for Agreement as mutually agreed in writing). \rSecurity Deposit (per tenancy. Rent under £50,000 per year) Five weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rSecurity Deposit (per tenancy. Rent of £50,000 or over per year) Six weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rUnpaid Rent. Interest at 3% above the Bank of England Base Rate from Rent Due Date until paid in order to pursue non-payment of rent. Please Note: This will not be levied until the rent is more than 14 days in arrears. \rLost Key(s) or other Security Device(s). Tenants are liable to the actual cost of replacing any lost key(s) or other security device(s). If the loss results in locks needing to be changed, the actual costs of a locksmith, new lock and replacement keys for the tenant, landlord any other persons requiring keys will be charged to the tenant. If extra costs are incurred there will be a charge of £15 per hour (inc. VAT) for the time taken replacing lost key(s) or other security device(s). \rVariation of Contract (Tenant's Request) £50 (inc. VAT) per agreed variation. To cover the costs associated with taking landlord's instructions as well as the preparation and execution of new legal documents. \rChange of Sharer (Tenant's Request) £50 (inc. VAT) per replacement tenant or any reasonable costs incurred if higher. To cover the costs associated with taking landlord's instructions, new tenant referencing and Right-to-Rent checks, deposit registration as well as the preparation and execution of new legal documents. \rEarly Termination (Tenant's Request). Should the tenant wish to leave their contract early, they shall be liable to the landlord's costs in re-letting the property as well as all rent due under the tenancy until the start date of the replacement tenancy. These costs will be no more than the maximum amount of rent outstanding on the tenancy. \rClient Money Protection is provided by Propertymark. Redress through The Property Ombudsman Scheme. ",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172072550#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172072550",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-11T11:47:26Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T13:38:14Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Walthamstow Village Area",
+ "htmlDescription": "Walthamstow Village Area"
+ },
+ {
+ "order": 2,
+ "description": "Large One Bedroom Apartment",
+ "htmlDescription": "Large One Bedroom Apartment"
+ },
+ {
+ "order": 3,
+ "description": "Premier Turning Of E17",
+ "htmlDescription": "Premier Turning Of E17"
+ },
+ {
+ "order": 4,
+ "description": "Separate Living Area",
+ "htmlDescription": "Separate Living Area"
+ },
+ {
+ "order": 5,
+ "description": "12 Month Tenancy +",
+ "htmlDescription": "12 Month Tenancy +"
+ },
+ {
+ "order": 6,
+ "description": "Unfurnished Property",
+ "htmlDescription": "Unfurnished Property"
+ },
+ {
+ "order": 7,
+ "description": "Council Tax Band B",
+ "htmlDescription": "Council Tax Band B"
+ },
+ {
+ "order": 8,
+ "description": "EPC Rating C",
+ "htmlDescription": "EPC Rating C"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554_max_476x317.jpeg",
+ "url": "property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3b5c6ab5b/172072550/3b5c6ab5b1815f61e904533a9a8556d1_max_476x317.jpeg",
+ "url": "property-photo/3b5c6ab5b/172072550/3b5c6ab5b1815f61e904533a9a8556d1.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fc2dcd92c/172072550/fc2dcd92cbba3ef157996a0686186136_max_476x317.jpeg",
+ "url": "property-photo/fc2dcd92c/172072550/fc2dcd92cbba3ef157996a0686186136.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5b4d86709/172072550/5b4d867095ca8db222eeb02a0a4179a1_max_476x317.jpeg",
+ "url": "property-photo/5b4d86709/172072550/5b4d867095ca8db222eeb02a0a4179a1.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a784b582/172072550/1a784b582817eba923ae6b0caceae50d_max_476x317.jpeg",
+ "url": "property-photo/1a784b582/172072550/1a784b582817eba923ae6b0caceae50d.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3d90bb4e0/172072550/3d90bb4e0ff49c1da6c4098b68efeb81_max_476x317.jpeg",
+ "url": "property-photo/3d90bb4e0/172072550/3d90bb4e0ff49c1da6c4098b68efeb81.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/76f827af4/172072550/76f827af4ff522ca51a4599a9bda4e44_max_476x317.jpeg",
+ "url": "property-photo/76f827af4/172072550/76f827af4ff522ca51a4599a9bda4e44.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/77af26161/172072550/77af2616193f4bca62fd5f6d1472b4d6_max_476x317.jpeg",
+ "url": "property-photo/77af26161/172072550/77af2616193f4bca62fd5f6d1472b4d6.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ddff7a0fe/172072550/ddff7a0feab66c1c3e6938b3b94391a4_max_476x317.jpeg",
+ "url": "property-photo/ddff7a0fe/172072550/ddff7a0feab66c1c3e6938b3b94391a4.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bf84b3291/172072550/bf84b32918f76b7d1e80e5712ffd44ea_max_476x317.jpeg",
+ "url": "property-photo/bf84b3291/172072550/bf84b32918f76b7d1e80e5712ffd44ea.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c018f711/172072550/8c018f7119c2b903470962d303ee2228_max_476x317.jpeg",
+ "url": "property-photo/8c018f711/172072550/8c018f7119c2b903470962d303ee2228.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a20c3f8e/172072550/3a20c3f8e77c75b3c6feb4cbdb8cf09b_max_476x317.jpeg",
+ "url": "property-photo/3a20c3f8e/172072550/3a20c3f8e77c75b3c6feb4cbdb8cf09b.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4c363b593/172072550/4c363b59301f765d386f395d8c995e48_max_476x317.jpeg",
+ "url": "property-photo/4c363b593/172072550/4c363b59301f765d386f395d8c995e48.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/92da02181/172072550/92da02181cc316e10e328f90e651ecbd_max_476x317.jpeg",
+ "url": "property-photo/92da02181/172072550/92da02181cc316e10e328f90e651ecbd.jpeg",
+ "caption": "Picture No. 01"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5895cfb2f/172072550/5895cfb2fd21ecdf09836d53bb523120_max_476x317.jpeg",
+ "url": "property-photo/5895cfb2f/172072550/5895cfb2fd21ecdf09836d53bb523120.jpeg",
+ "caption": "Picture No. 02"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/349d31c59/172072550/349d31c59c831f0e87d128c2d3ef0554_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Your Move Sales & Lettings, Walthamstow",
+ "addedOrReduced": "Added on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 170909705,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 9,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "An exciting two bedroom split level apartment located in the heart of E17. Boasting two bedrooms separated over two floors, separate living area, laminate flooring, modern tiled kitchen and a large bathroom. The property has recently been renovated throughout. Location? Carisbrooke Ro...",
+ "displayAddress": "Carisbrooke Road, Walthamstow, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.582376,
+ "longitude": -0.032474
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629_max_476x317.jpeg",
+ "url": "property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2dce024b/170909705/e2dce024b518294813c87ada81f74ba2_max_476x317.jpeg",
+ "url": "property-photo/e2dce024b/170909705/e2dce024b518294813c87ada81f74ba2.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f0d36e45f/170909705/f0d36e45f5da97916f493aab0d5acd4a_max_476x317.jpeg",
+ "url": "property-photo/f0d36e45f/170909705/f0d36e45f5da97916f493aab0d5acd4a.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0866c24a1/170909705/0866c24a19a551ace35af0bc76d6ba16_max_476x317.jpeg",
+ "url": "property-photo/0866c24a1/170909705/0866c24a19a551ace35af0bc76d6ba16.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84a9c961c/170909705/84a9c961c7bf6fd354a3af7fc29b1103_max_476x317.jpeg",
+ "url": "property-photo/84a9c961c/170909705/84a9c961c7bf6fd354a3af7fc29b1103.jpeg",
+ "caption": "Picture No. 02"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ab8b4bbd/170909705/0ab8b4bbdfd8083d46f06491141572a2_max_476x317.jpeg",
+ "url": "property-photo/0ab8b4bbd/170909705/0ab8b4bbdfd8083d46f06491141572a2.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee6b98a8c/170909705/ee6b98a8c3fb4e7f055a482f4260b4d9_max_476x317.jpeg",
+ "url": "property-photo/ee6b98a8c/170909705/ee6b98a8c3fb4e7f055a482f4260b4d9.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c068da1b0/170909705/c068da1b0cddf7ec481bff75864e0f5b_max_476x317.jpeg",
+ "url": "property-photo/c068da1b0/170909705/c068da1b0cddf7ec481bff75864e0f5b.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d812a477f/170909705/d812a477fdcb4b836d190f8670c06907_max_476x317.jpeg",
+ "url": "property-photo/d812a477f/170909705/d812a477fdcb4b836d190f8670c06907.jpeg",
+ "caption": "Picture No. 08"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-11T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-11T10:40:56Z"
+ },
+ "price": {
+ "amount": 1900,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,900 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£438 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 81876,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "contactTelephone": "020 4538 4745",
+ "branchDisplayName": "Your Move Sales & Lettings, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Your Move Sales & Lettings",
+ "branchLandingPageUrl": "/estate-agents/agent/Your-Move-Sales-and-Lettings/Walthamstow-81876.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-02T10:39:59Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Tenancy Information \rWhat permitted payments can I expect to pay if I rent a property with Your Move? \rWhen you have agreed on the property of your choice, Your Move will provide you with a Tenancy Application Form. This helps explain not only the next stages of your application but any permitted payments which are due before you sign your Tenancy Agreement and any which may become payable during and after the tenancy. This will also include confirmation of the agreed rent and the deposit. \rBelow is a list of our current permitted payments. At any time you are interested in a property, please ask a member of staff for a full breakdown of permitted payments that may be payable before, during and after a tenancy. \rHolding Deposit (per tenancy) One week's rent. This is to reserve a property. Please Note: This will be withheld if any relevant person (including any guarantor(s)) withdraw from the tenancy, fail a Right-to-Rent check, provide materially significant false or misleading information, or fail to sign their tenancy agreement (and / or Deed of Guarantee) within 15 calendar days (or other Deadline for Agreement as mutually agreed in writing). \rSecurity Deposit (per tenancy. Rent under £50,000 per year) Five weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rSecurity Deposit (per tenancy. Rent of £50,000 or over per year) Six weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rUnpaid Rent. Interest at 3% above the Bank of England Base Rate from Rent Due Date until paid in order to pursue non-payment of rent. Please Note: This will not be levied until the rent is more than 14 days in arrears. \rLost Key(s) or other Security Device(s). Tenants are liable to the actual cost of replacing any lost key(s) or other security device(s). If the loss results in locks needing to be changed, the actual costs of a locksmith, new lock and replacement keys for the tenant, landlord any other persons requiring keys will be charged to the tenant. If extra costs are incurred there will be a charge of £15 per hour (inc. VAT) for the time taken replacing lost key(s) or other security device(s). \rVariation of Contract (Tenant's Request) £50 (inc. VAT) per agreed variation. To cover the costs associated with taking landlord's instructions as well as the preparation and execution of new legal documents. \rChange of Sharer (Tenant's Request) £50 (inc. VAT) per replacement tenant or any reasonable costs incurred if higher. To cover the costs associated with taking landlord's instructions, new tenant referencing and Right-to-Rent checks, deposit registration as well as the preparation and execution of new legal documents. \rEarly Termination (Tenant's Request). Should the tenant wish to leave their contract early, they shall be liable to the landlord's costs in re-letting the property as well as all rent due under the tenancy until the start date of the replacement tenancy. These costs will be no more than the maximum amount of rent outstanding on the tenancy. \rClient Money Protection is provided by Propertymark. Redress through The Property Ombudsman Scheme. ",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/170909705#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=170909705",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-01-07T09:46:28Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T10:40:59Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Split Level Apartment",
+ "htmlDescription": "Split Level Apartment"
+ },
+ {
+ "order": 2,
+ "description": "Located In The Heart Of E17",
+ "htmlDescription": "Located In The Heart Of E17"
+ },
+ {
+ "order": 3,
+ "description": "Unfurnished Property",
+ "htmlDescription": "Unfurnished Property"
+ },
+ {
+ "order": 4,
+ "description": "Recently Renovated Throughout",
+ "htmlDescription": "Recently Renovated Throughout"
+ },
+ {
+ "order": 5,
+ "description": "Perfect For Commuters",
+ "htmlDescription": "Perfect For Commuters"
+ },
+ {
+ "order": 6,
+ "description": "EPC Rating D",
+ "htmlDescription": "EPC Rating D"
+ },
+ {
+ "order": 7,
+ "description": "Council Tax Band B",
+ "htmlDescription": "Council Tax Band B"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629_max_476x317.jpeg",
+ "url": "property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2dce024b/170909705/e2dce024b518294813c87ada81f74ba2_max_476x317.jpeg",
+ "url": "property-photo/e2dce024b/170909705/e2dce024b518294813c87ada81f74ba2.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f0d36e45f/170909705/f0d36e45f5da97916f493aab0d5acd4a_max_476x317.jpeg",
+ "url": "property-photo/f0d36e45f/170909705/f0d36e45f5da97916f493aab0d5acd4a.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0866c24a1/170909705/0866c24a19a551ace35af0bc76d6ba16_max_476x317.jpeg",
+ "url": "property-photo/0866c24a1/170909705/0866c24a19a551ace35af0bc76d6ba16.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/84a9c961c/170909705/84a9c961c7bf6fd354a3af7fc29b1103_max_476x317.jpeg",
+ "url": "property-photo/84a9c961c/170909705/84a9c961c7bf6fd354a3af7fc29b1103.jpeg",
+ "caption": "Picture No. 02"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0ab8b4bbd/170909705/0ab8b4bbdfd8083d46f06491141572a2_max_476x317.jpeg",
+ "url": "property-photo/0ab8b4bbd/170909705/0ab8b4bbdfd8083d46f06491141572a2.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee6b98a8c/170909705/ee6b98a8c3fb4e7f055a482f4260b4d9_max_476x317.jpeg",
+ "url": "property-photo/ee6b98a8c/170909705/ee6b98a8c3fb4e7f055a482f4260b4d9.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c068da1b0/170909705/c068da1b0cddf7ec481bff75864e0f5b_max_476x317.jpeg",
+ "url": "property-photo/c068da1b0/170909705/c068da1b0cddf7ec481bff75864e0f5b.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d812a477f/170909705/d812a477fdcb4b836d190f8670c06907_max_476x317.jpeg",
+ "url": "property-photo/d812a477f/170909705/d812a477fdcb4b836d190f8670c06907.jpeg",
+ "caption": "Picture No. 08"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a59a2a198/170909705/a59a2a19826ea3b954bd053d7449e629_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Your Move Sales & Lettings, Walthamstow",
+ "addedOrReduced": "Reduced on 11/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171503729,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 9,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Available February is this two bedroom first floor flat. The property has a bright and airy feel throughout and in a superb location. Offering two good sized bedrooms, light and spacious living room, separate kitchen and three piece bathroom. The property is located on Hazelwood Road, ...",
+ "displayAddress": "Hazelwood Road, Walthamstow, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.581806,
+ "longitude": -0.036607
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020_max_476x317.jpeg",
+ "url": "property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020.jpeg",
+ "caption": "Picture No. 19"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54b640db3/171503729/54b640db3b108c6f308b9733ad9c961c_max_476x317.jpeg",
+ "url": "property-photo/54b640db3/171503729/54b640db3b108c6f308b9733ad9c961c.jpeg",
+ "caption": "Picture No. 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c95f2d83/171503729/8c95f2d83911a08bec9a4c3bb47d61b0_max_476x317.jpeg",
+ "url": "property-photo/8c95f2d83/171503729/8c95f2d83911a08bec9a4c3bb47d61b0.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/43712a86a/171503729/43712a86a634f615e3dcc8b43cae5622_max_476x317.jpeg",
+ "url": "property-photo/43712a86a/171503729/43712a86a634f615e3dcc8b43cae5622.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2_max_476x317.jpeg",
+ "url": "property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/301f5e1c3/171503729/301f5e1c3be5a184fc7389e1c4c31af7_max_476x317.jpeg",
+ "url": "property-photo/301f5e1c3/171503729/301f5e1c3be5a184fc7389e1c4c31af7.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2_max_476x317.jpeg",
+ "url": "property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2eff59e0d/171503729/2eff59e0d4f60024451559174818ffd2_max_476x317.jpeg",
+ "url": "property-photo/2eff59e0d/171503729/2eff59e0d4f60024451559174818ffd2.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a3741db6/171503729/1a3741db682e54e0629d7549f246866b_max_476x317.jpeg",
+ "url": "property-photo/1a3741db6/171503729/1a3741db682e54e0629d7549f246866b.jpeg",
+ "caption": "Picture No. 02"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-28T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-11T09:41:45Z"
+ },
+ "price": {
+ "amount": 1800,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,800 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£415 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 6323,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_1992_0002.png",
+ "contactTelephone": "020 3909 6714",
+ "branchDisplayName": "Central Estate Agents, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Central Estate Agents",
+ "branchLandingPageUrl": "/estate-agents/agent/Central-Estate-Agents/Walthamstow-6323.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-16T17:08:08Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_1992_0002.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171503729#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=171503729",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-01-27T15:40:26Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T09:41:48Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "First floor flat",
+ "htmlDescription": "First floor flat"
+ },
+ {
+ "order": 2,
+ "description": "Two bedrooms",
+ "htmlDescription": "Two bedrooms"
+ },
+ {
+ "order": 3,
+ "description": "Large living room",
+ "htmlDescription": "Large living room"
+ },
+ {
+ "order": 4,
+ "description": "Kitchen",
+ "htmlDescription": "Kitchen"
+ },
+ {
+ "order": 5,
+ "description": "Three piece bathroom",
+ "htmlDescription": "Three piece bathroom"
+ },
+ {
+ "order": 6,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 7,
+ "description": "Few minutes walk to St James Street Station and Walthamstow High Street",
+ "htmlDescription": "Few minutes walk to St James Street Station and Walthamstow High Street"
+ },
+ {
+ "order": 8,
+ "description": "Available February",
+ "htmlDescription": "Available February"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020_max_476x317.jpeg",
+ "url": "property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020.jpeg",
+ "caption": "Picture No. 19"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/54b640db3/171503729/54b640db3b108c6f308b9733ad9c961c_max_476x317.jpeg",
+ "url": "property-photo/54b640db3/171503729/54b640db3b108c6f308b9733ad9c961c.jpeg",
+ "caption": "Picture No. 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c95f2d83/171503729/8c95f2d83911a08bec9a4c3bb47d61b0_max_476x317.jpeg",
+ "url": "property-photo/8c95f2d83/171503729/8c95f2d83911a08bec9a4c3bb47d61b0.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/43712a86a/171503729/43712a86a634f615e3dcc8b43cae5622_max_476x317.jpeg",
+ "url": "property-photo/43712a86a/171503729/43712a86a634f615e3dcc8b43cae5622.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2_max_476x317.jpeg",
+ "url": "property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/301f5e1c3/171503729/301f5e1c3be5a184fc7389e1c4c31af7_max_476x317.jpeg",
+ "url": "property-photo/301f5e1c3/171503729/301f5e1c3be5a184fc7389e1c4c31af7.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2_max_476x317.jpeg",
+ "url": "property-photo/8abfc70c3/171503729/8abfc70c3f65ecda98e093b9c5b3b0f2.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2eff59e0d/171503729/2eff59e0d4f60024451559174818ffd2_max_476x317.jpeg",
+ "url": "property-photo/2eff59e0d/171503729/2eff59e0d4f60024451559174818ffd2.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1a3741db6/171503729/1a3741db682e54e0629d7549f246866b_max_476x317.jpeg",
+ "url": "property-photo/1a3741db6/171503729/1a3741db682e54e0629d7549f246866b.jpeg",
+ "caption": "Picture No. 02"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/364c1a3f4/171503729/364c1a3f49800a489fed482dffca9020_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Central Estate Agents, Walthamstow",
+ "addedOrReduced": "Added on 27/01/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172054589,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 16,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "An exceptional two-bedroom apartment, ideally located in the heart of the sought-after Lloyd Park conservation area. Positioned on the ground floor, the property further benefits from shared rear garden. Location? You're on one of Walthamstow most popular streets, You're just minutes f...",
+ "displayAddress": "Carr Road, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.594893,
+ "longitude": -0.023066
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514_max_476x317.jpeg",
+ "url": "property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514.jpeg",
+ "caption": "Picture No. 01"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/340032b68/172054589/340032b6811fab044b3e77c92dbb0655_max_476x317.jpeg",
+ "url": "property-photo/340032b68/172054589/340032b6811fab044b3e77c92dbb0655.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4b2729572/172054589/4b2729572e8e43eb0689e0ad7548beeb_max_476x317.jpeg",
+ "url": "property-photo/4b2729572/172054589/4b2729572e8e43eb0689e0ad7548beeb.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/18be395ac/172054589/18be395ac8a87e5a4142f43ad336ad68_max_476x317.jpeg",
+ "url": "property-photo/18be395ac/172054589/18be395ac8a87e5a4142f43ad336ad68.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d91bcd70c/172054589/d91bcd70cda63ef92383257abc415737_max_476x317.jpeg",
+ "url": "property-photo/d91bcd70c/172054589/d91bcd70cda63ef92383257abc415737.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36a907738/172054589/36a907738165c32b1ffe0d71a63d359d_max_476x317.jpeg",
+ "url": "property-photo/36a907738/172054589/36a907738165c32b1ffe0d71a63d359d.jpeg",
+ "caption": "Picture No. 02"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e5c59e629/172054589/e5c59e629dab68972ce8fc200ae41393_max_476x317.jpeg",
+ "url": "property-photo/e5c59e629/172054589/e5c59e629dab68972ce8fc200ae41393.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/56d06a179/172054589/56d06a1792e2fedc6227f5c10b756032_max_476x317.jpeg",
+ "url": "property-photo/56d06a179/172054589/56d06a1792e2fedc6227f5c10b756032.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0816d9059/172054589/0816d9059bd7ac13c9c6d4fc7b0c7db6_max_476x317.jpeg",
+ "url": "property-photo/0816d9059/172054589/0816d9059bd7ac13c9c6d4fc7b0c7db6.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dda9ef83e/172054589/dda9ef83ef3848c687fd99e6030527ea_max_476x317.jpeg",
+ "url": "property-photo/dda9ef83e/172054589/dda9ef83ef3848c687fd99e6030527ea.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b174bb615/172054589/b174bb615f4954c2d12a95a1e4bafc70_max_476x317.jpeg",
+ "url": "property-photo/b174bb615/172054589/b174bb615f4954c2d12a95a1e4bafc70.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/543c90ca4/172054589/543c90ca4b6e0f50865e923ddadfd4aa_max_476x317.jpeg",
+ "url": "property-photo/543c90ca4/172054589/543c90ca4b6e0f50865e923ddadfd4aa.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90dd6918a/172054589/90dd6918a5b0bc629d825c8543e5f116_max_476x317.jpeg",
+ "url": "property-photo/90dd6918a/172054589/90dd6918a5b0bc629d825c8543e5f116.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f5668976e/172054589/f5668976e8283b0946ff8cab0699b6fa_max_476x317.jpeg",
+ "url": "property-photo/f5668976e/172054589/f5668976e8283b0946ff8cab0699b6fa.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f69052af/172054589/7f69052af6f5cfd5a066dc4104104dfa_max_476x317.jpeg",
+ "url": "property-photo/7f69052af/172054589/7f69052af6f5cfd5a066dc4104104dfa.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d3a8d15df/172054589/d3a8d15dfff54aa34c9672a2076aad78_max_476x317.jpeg",
+ "url": "property-photo/d3a8d15df/172054589/d3a8d15dfff54aa34c9672a2076aad78.jpeg",
+ "caption": "Picture No. 17"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-10T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T16:29:04Z"
+ },
+ "price": {
+ "amount": 1900,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,900 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£438 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 81876,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "contactTelephone": "020 4538 4745",
+ "branchDisplayName": "Your Move Sales & Lettings, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Your Move Sales & Lettings",
+ "branchLandingPageUrl": "/estate-agents/agent/Your-Move-Sales-and-Lettings/Walthamstow-81876.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-02T10:39:59Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_103919_0000.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Tenancy Information \rWhat permitted payments can I expect to pay if I rent a property with Your Move? \rWhen you have agreed on the property of your choice, Your Move will provide you with a Tenancy Application Form. This helps explain not only the next stages of your application but any permitted payments which are due before you sign your Tenancy Agreement and any which may become payable during and after the tenancy. This will also include confirmation of the agreed rent and the deposit. \rBelow is a list of our current permitted payments. At any time you are interested in a property, please ask a member of staff for a full breakdown of permitted payments that may be payable before, during and after a tenancy. \rHolding Deposit (per tenancy) One week's rent. This is to reserve a property. Please Note: This will be withheld if any relevant person (including any guarantor(s)) withdraw from the tenancy, fail a Right-to-Rent check, provide materially significant false or misleading information, or fail to sign their tenancy agreement (and / or Deed of Guarantee) within 15 calendar days (or other Deadline for Agreement as mutually agreed in writing). \rSecurity Deposit (per tenancy. Rent under £50,000 per year) Five weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rSecurity Deposit (per tenancy. Rent of £50,000 or over per year) Six weeks' rent. This covers damages or defaults on the part of the tenant during the tenancy and applies to Assured Shorthold Tenancies (AST). \rUnpaid Rent. Interest at 3% above the Bank of England Base Rate from Rent Due Date until paid in order to pursue non-payment of rent. Please Note: This will not be levied until the rent is more than 14 days in arrears. \rLost Key(s) or other Security Device(s). Tenants are liable to the actual cost of replacing any lost key(s) or other security device(s). If the loss results in locks needing to be changed, the actual costs of a locksmith, new lock and replacement keys for the tenant, landlord any other persons requiring keys will be charged to the tenant. If extra costs are incurred there will be a charge of £15 per hour (inc. VAT) for the time taken replacing lost key(s) or other security device(s). \rVariation of Contract (Tenant's Request) £50 (inc. VAT) per agreed variation. To cover the costs associated with taking landlord's instructions as well as the preparation and execution of new legal documents. \rChange of Sharer (Tenant's Request) £50 (inc. VAT) per replacement tenant or any reasonable costs incurred if higher. To cover the costs associated with taking landlord's instructions, new tenant referencing and Right-to-Rent checks, deposit registration as well as the preparation and execution of new legal documents. \rEarly Termination (Tenant's Request). Should the tenant wish to leave their contract early, they shall be liable to the landlord's costs in re-letting the property as well as all rent due under the tenancy until the start date of the replacement tenancy. These costs will be no more than the maximum amount of rent outstanding on the tenancy. \rClient Money Protection is provided by Propertymark. Redress through The Property Ombudsman Scheme. ",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172054589#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172054589",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T16:22:00Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T12:19:54Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Ground Floor",
+ "htmlDescription": "Ground Floor"
+ },
+ {
+ "order": 2,
+ "description": "Wooden Flooring",
+ "htmlDescription": "Wooden Flooring"
+ },
+ {
+ "order": 3,
+ "description": "Two Double Bedrooms",
+ "htmlDescription": "Two Double Bedrooms"
+ },
+ {
+ "order": 4,
+ "description": "Separate Reception Area",
+ "htmlDescription": "Separate Reception Area"
+ },
+ {
+ "order": 5,
+ "description": "Popular Lloyd Park Area",
+ "htmlDescription": "Popular Lloyd Park Area"
+ },
+ {
+ "order": 6,
+ "description": "12 Month Tenancy+",
+ "htmlDescription": "12 Month Tenancy+"
+ },
+ {
+ "order": 7,
+ "description": "Council Tax Band C",
+ "htmlDescription": "Council Tax Band C"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514_max_476x317.jpeg",
+ "url": "property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514.jpeg",
+ "caption": "Picture No. 01"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/340032b68/172054589/340032b6811fab044b3e77c92dbb0655_max_476x317.jpeg",
+ "url": "property-photo/340032b68/172054589/340032b6811fab044b3e77c92dbb0655.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4b2729572/172054589/4b2729572e8e43eb0689e0ad7548beeb_max_476x317.jpeg",
+ "url": "property-photo/4b2729572/172054589/4b2729572e8e43eb0689e0ad7548beeb.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/18be395ac/172054589/18be395ac8a87e5a4142f43ad336ad68_max_476x317.jpeg",
+ "url": "property-photo/18be395ac/172054589/18be395ac8a87e5a4142f43ad336ad68.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d91bcd70c/172054589/d91bcd70cda63ef92383257abc415737_max_476x317.jpeg",
+ "url": "property-photo/d91bcd70c/172054589/d91bcd70cda63ef92383257abc415737.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36a907738/172054589/36a907738165c32b1ffe0d71a63d359d_max_476x317.jpeg",
+ "url": "property-photo/36a907738/172054589/36a907738165c32b1ffe0d71a63d359d.jpeg",
+ "caption": "Picture No. 02"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e5c59e629/172054589/e5c59e629dab68972ce8fc200ae41393_max_476x317.jpeg",
+ "url": "property-photo/e5c59e629/172054589/e5c59e629dab68972ce8fc200ae41393.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/56d06a179/172054589/56d06a1792e2fedc6227f5c10b756032_max_476x317.jpeg",
+ "url": "property-photo/56d06a179/172054589/56d06a1792e2fedc6227f5c10b756032.jpeg",
+ "caption": "Picture No. 04"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0816d9059/172054589/0816d9059bd7ac13c9c6d4fc7b0c7db6_max_476x317.jpeg",
+ "url": "property-photo/0816d9059/172054589/0816d9059bd7ac13c9c6d4fc7b0c7db6.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/dda9ef83e/172054589/dda9ef83ef3848c687fd99e6030527ea_max_476x317.jpeg",
+ "url": "property-photo/dda9ef83e/172054589/dda9ef83ef3848c687fd99e6030527ea.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b174bb615/172054589/b174bb615f4954c2d12a95a1e4bafc70_max_476x317.jpeg",
+ "url": "property-photo/b174bb615/172054589/b174bb615f4954c2d12a95a1e4bafc70.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/543c90ca4/172054589/543c90ca4b6e0f50865e923ddadfd4aa_max_476x317.jpeg",
+ "url": "property-photo/543c90ca4/172054589/543c90ca4b6e0f50865e923ddadfd4aa.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/90dd6918a/172054589/90dd6918a5b0bc629d825c8543e5f116_max_476x317.jpeg",
+ "url": "property-photo/90dd6918a/172054589/90dd6918a5b0bc629d825c8543e5f116.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f5668976e/172054589/f5668976e8283b0946ff8cab0699b6fa_max_476x317.jpeg",
+ "url": "property-photo/f5668976e/172054589/f5668976e8283b0946ff8cab0699b6fa.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f69052af/172054589/7f69052af6f5cfd5a066dc4104104dfa_max_476x317.jpeg",
+ "url": "property-photo/7f69052af/172054589/7f69052af6f5cfd5a066dc4104104dfa.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d3a8d15df/172054589/d3a8d15dfff54aa34c9672a2076aad78_max_476x317.jpeg",
+ "url": "property-photo/d3a8d15df/172054589/d3a8d15dfff54aa34c9672a2076aad78.jpeg",
+ "caption": "Picture No. 17"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b6fee9b9/172054589/6b6fee9b93f9a6f81fb8e9244e556514_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Your Move Sales & Lettings, Walthamstow",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172053365,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 7,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "Strettons Residential is delighted to present this charming second-floor flat located on Poplars Road in the desirable Bakers Arms area of Walthamstow, London. This one-bedroom apartment offers a perfect blend of comfort and convenience, making it an ideal choice for individuals or couples seekin...",
+ "displayAddress": "Poplars Road , Walthamstow, London",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.576423,
+ "longitude": -0.012665
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a_max_476x317.jpeg",
+ "url": "property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a.jpeg",
+ "caption": "Main Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d456e2e1f/172053365/d456e2e1fc7149131bb4c52c7453106a_max_476x317.jpeg",
+ "url": "property-photo/d456e2e1f/172053365/d456e2e1fc7149131bb4c52c7453106a.jpeg",
+ "caption": "Third Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/672123688/172053365/67212368869877f3926c8b98badc839c_max_476x317.jpeg",
+ "url": "property-photo/672123688/172053365/67212368869877f3926c8b98badc839c.jpeg",
+ "caption": "Fourth Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c91b2d97/172053365/3c91b2d9776c5dd9b4bb648faf0a4879_max_476x317.jpeg",
+ "url": "property-photo/3c91b2d97/172053365/3c91b2d9776c5dd9b4bb648faf0a4879.jpeg",
+ "caption": "Seventh Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/92531f4ab/172053365/92531f4ab9b6dbe289d82ab0a7e36f51_max_476x317.jpeg",
+ "url": "property-photo/92531f4ab/172053365/92531f4ab9b6dbe289d82ab0a7e36f51.jpeg",
+ "caption": "Second Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/aa2dddb6d/172053365/aa2dddb6dd3c42ae8a3d1d861a1ddc8a_max_476x317.jpeg",
+ "url": "property-photo/aa2dddb6d/172053365/aa2dddb6dd3c42ae8a3d1d861a1ddc8a.jpeg",
+ "caption": "Fifth Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a26da7c2c/172053365/a26da7c2ce2fa5cb923923ff898a53ca_max_476x317.jpeg",
+ "url": "property-photo/a26da7c2c/172053365/a26da7c2ce2fa5cb923923ff898a53ca.jpeg",
+ "caption": "Sixth Image"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-23T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T16:14:36Z"
+ },
+ "price": {
+ "amount": 1400,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,400 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£323 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 11245,
+ "brandPlusLogoURI": "/12k/11245/branch_rmchoice_logo_11245_0001.png",
+ "contactTelephone": "020 3907 2666",
+ "branchDisplayName": "Strettons, Strettons Residential Agency",
+ "branchName": "Strettons Residential Agency",
+ "brandTradingName": "Strettons",
+ "branchLandingPageUrl": "/estate-agents/agent/Strettons/Strettons-Residential-Agency-11245.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-10-21T09:40:59Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/12k/11245/branch_rmchoice_logo_11245_0001.png",
+ "primaryBrandColour": "#ffffff"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172053365#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172053365",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T16:08:35Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T16:14:36Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Second Floor Apartment",
+ "htmlDescription": "Second Floor Apartment"
+ },
+ {
+ "order": 2,
+ "description": "One Double Bedroom",
+ "htmlDescription": "One Double Bedroom"
+ },
+ {
+ "order": 3,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 4,
+ "description": "Open Plan Lounge/ Kitchen",
+ "htmlDescription": "Open Plan Lounge/ Kitchen"
+ },
+ {
+ "order": 5,
+ "description": "Three Piece Bathroom Suite",
+ "htmlDescription": "Three Piece Bathroom Suite"
+ },
+ {
+ "order": 6,
+ "description": "Modern Fitted Kitchen",
+ "htmlDescription": "Modern Fitted Kitchen"
+ },
+ {
+ "order": 7,
+ "description": "Security Entry-Phone System",
+ "htmlDescription": "Security Entry-Phone System"
+ },
+ {
+ "order": 8,
+ "description": "Located within 0.5 mile to Both Walthamstow Central underground Station (Victoria Line) & Leyton Midlands Overground Station",
+ "htmlDescription": "Located within 0.5 mile to Both Walthamstow Central underground Station (Victoria Line) & Leyton Midlands Overground Station"
+ },
+ {
+ "order": 9,
+ "description": "Available 23/02/2026",
+ "htmlDescription": "Available 23/02/2026"
+ },
+ {
+ "order": 10,
+ "description": "EPC Rating: D",
+ "htmlDescription": "EPC Rating: D"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a_max_476x317.jpeg",
+ "url": "property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a.jpeg",
+ "caption": "Main Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d456e2e1f/172053365/d456e2e1fc7149131bb4c52c7453106a_max_476x317.jpeg",
+ "url": "property-photo/d456e2e1f/172053365/d456e2e1fc7149131bb4c52c7453106a.jpeg",
+ "caption": "Third Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/672123688/172053365/67212368869877f3926c8b98badc839c_max_476x317.jpeg",
+ "url": "property-photo/672123688/172053365/67212368869877f3926c8b98badc839c.jpeg",
+ "caption": "Fourth Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3c91b2d97/172053365/3c91b2d9776c5dd9b4bb648faf0a4879_max_476x317.jpeg",
+ "url": "property-photo/3c91b2d97/172053365/3c91b2d9776c5dd9b4bb648faf0a4879.jpeg",
+ "caption": "Seventh Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/92531f4ab/172053365/92531f4ab9b6dbe289d82ab0a7e36f51_max_476x317.jpeg",
+ "url": "property-photo/92531f4ab/172053365/92531f4ab9b6dbe289d82ab0a7e36f51.jpeg",
+ "caption": "Second Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/aa2dddb6d/172053365/aa2dddb6dd3c42ae8a3d1d861a1ddc8a_max_476x317.jpeg",
+ "url": "property-photo/aa2dddb6d/172053365/aa2dddb6dd3c42ae8a3d1d861a1ddc8a.jpeg",
+ "caption": "Fifth Image"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a26da7c2c/172053365/a26da7c2ce2fa5cb923923ff898a53ca_max_476x317.jpeg",
+ "url": "property-photo/a26da7c2c/172053365/a26da7c2ce2fa5cb923923ff898a53ca.jpeg",
+ "caption": "Sixth Image"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/941c2d77a/172053365/941c2d77a5a52d6424e5ffeac8895a5a_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Strettons, Strettons Residential Agency",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172050146,
+ "bedrooms": 2,
+ "bathrooms": 2,
+ "numberOfImages": 9,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "AVAILABLE FEBRUARY 2026 - 2-BEDROOM, 2-BATHROOM FLAT - RALLY BUILDING, WALTHAMSTOW, E17 A Stylish Home in a Thriving Location Metra Living is delighted to present this two-bedroom, two-bathroom apartment located within the sought-after Rally Building development in Walthamstow. Situated on ...",
+ "displayAddress": "Rally Building, South Grove, Walthamstow, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.5814,
+ "longitude": -0.028399
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17_max_476x317.jpeg",
+ "url": "property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17.jpeg",
+ "caption": "Photo 9"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc974bc35/172050146/cc974bc357133a905c4a5f89c5f88d88_max_476x317.jpeg",
+ "url": "property-photo/cc974bc35/172050146/cc974bc357133a905c4a5f89c5f88d88.jpeg",
+ "caption": "Photo 7"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2125efcb/172050146/e2125efcb3e85953207188372d94f203_max_476x317.jpeg",
+ "url": "property-photo/e2125efcb/172050146/e2125efcb3e85953207188372d94f203.jpeg",
+ "caption": "Photo 8"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dcae6e0a/172050146/7dcae6e0a98978d799734ba79bed64c6_max_476x317.jpeg",
+ "url": "property-photo/7dcae6e0a/172050146/7dcae6e0a98978d799734ba79bed64c6.jpeg",
+ "caption": "Photo 6"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/324705b4a/172050146/324705b4a06a458f603bf820c011e158_max_476x317.jpeg",
+ "url": "property-photo/324705b4a/172050146/324705b4a06a458f603bf820c011e158.jpeg",
+ "caption": "Photo 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0e9e7bfca/172050146/0e9e7bfcace18182aacb1e4242682559_max_476x317.jpeg",
+ "url": "property-photo/0e9e7bfca/172050146/0e9e7bfcace18182aacb1e4242682559.jpeg",
+ "caption": "Photo 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c4cc64dd/172050146/2c4cc64dd6de47cb0a380549bbd85726_max_476x317.jpeg",
+ "url": "property-photo/2c4cc64dd/172050146/2c4cc64dd6de47cb0a380549bbd85726.jpeg",
+ "caption": "Photo 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e97dcba50/172050146/e97dcba5065a1ce516fafcea49c655c1_max_476x317.jpeg",
+ "url": "property-photo/e97dcba50/172050146/e97dcba5065a1ce516fafcea49c655c1.jpeg",
+ "caption": "Photo 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3eea8573e/172050146/3eea8573e5cfa9fa30b652880db5ab5d_max_476x317.jpeg",
+ "url": "property-photo/3eea8573e/172050146/3eea8573e5cfa9fa30b652880db5ab5d.jpeg",
+ "caption": "Photo 5"
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-25T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T15:35:12Z"
+ },
+ "price": {
+ "amount": 2149,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,149 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£496 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 102784,
+ "brandPlusLogoURI": "/103k/102784/branch_rmchoice_logo_102784_0001.png",
+ "contactTelephone": "020 3857 8022",
+ "branchDisplayName": "L&Q, Metra Living",
+ "branchName": "Metra Living",
+ "brandTradingName": "L&Q",
+ "branchLandingPageUrl": "/estate-agents/agent/LandQ/Metra-Living-102784.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-10T16:01:59Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/103k/102784/branch_rmchoice_logo_102784_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": true,
+ "auction": false,
+ "feesApply": false,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172050146#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172050146",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T15:29:39Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T15:38:37Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "EPC Rating: B",
+ "htmlDescription": "EPC Rating: B"
+ },
+ {
+ "order": 2,
+ "description": "Bedrooms: 2",
+ "htmlDescription": "Bedrooms: 2"
+ },
+ {
+ "order": 3,
+ "description": "Bathrooms: 2",
+ "htmlDescription": "Bathrooms: 2"
+ },
+ {
+ "order": 4,
+ "description": "Parking: Not available",
+ "htmlDescription": "Parking: Not available"
+ },
+ {
+ "order": 5,
+ "description": "Outdoor Space: Balcony",
+ "htmlDescription": "Outdoor Space: Balcony"
+ },
+ {
+ "order": 6,
+ "description": "Development Features: Pet friendly, modern design, on-site maintenance, excellent transport links",
+ "htmlDescription": "Development Features: Pet friendly, modern design, on-site maintenance, excellent transport links"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17_max_476x317.jpeg",
+ "url": "property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17.jpeg",
+ "caption": "Photo 9"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cc974bc35/172050146/cc974bc357133a905c4a5f89c5f88d88_max_476x317.jpeg",
+ "url": "property-photo/cc974bc35/172050146/cc974bc357133a905c4a5f89c5f88d88.jpeg",
+ "caption": "Photo 7"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2125efcb/172050146/e2125efcb3e85953207188372d94f203_max_476x317.jpeg",
+ "url": "property-photo/e2125efcb/172050146/e2125efcb3e85953207188372d94f203.jpeg",
+ "caption": "Photo 8"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dcae6e0a/172050146/7dcae6e0a98978d799734ba79bed64c6_max_476x317.jpeg",
+ "url": "property-photo/7dcae6e0a/172050146/7dcae6e0a98978d799734ba79bed64c6.jpeg",
+ "caption": "Photo 6"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/324705b4a/172050146/324705b4a06a458f603bf820c011e158_max_476x317.jpeg",
+ "url": "property-photo/324705b4a/172050146/324705b4a06a458f603bf820c011e158.jpeg",
+ "caption": "Photo 3"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0e9e7bfca/172050146/0e9e7bfcace18182aacb1e4242682559_max_476x317.jpeg",
+ "url": "property-photo/0e9e7bfca/172050146/0e9e7bfcace18182aacb1e4242682559.jpeg",
+ "caption": "Photo 2"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c4cc64dd/172050146/2c4cc64dd6de47cb0a380549bbd85726_max_476x317.jpeg",
+ "url": "property-photo/2c4cc64dd/172050146/2c4cc64dd6de47cb0a380549bbd85726.jpeg",
+ "caption": "Photo 1"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e97dcba50/172050146/e97dcba5065a1ce516fafcea49c655c1_max_476x317.jpeg",
+ "url": "property-photo/e97dcba50/172050146/e97dcba5065a1ce516fafcea49c655c1.jpeg",
+ "caption": "Photo 4"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3eea8573e/172050146/3eea8573e5cfa9fa30b652880db5ab5d_max_476x317.jpeg",
+ "url": "property-photo/3eea8573e/172050146/3eea8573e5cfa9fa30b652880db5ab5d.jpeg",
+ "caption": "Photo 5"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e2167f873/172050146/e2167f8732af36728fa78d231eac0f17_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by L&Q, Metra Living",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172050053,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 13,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Available Now | Unfurnished | First Floor Modern Apartment | One Double Bedroom | Modern Kitchen | Modern Bathroom | Security Entrance Phone | Walthamstow Central | Local Bus / Cycle Routes | High Energy Efficiency B rating | Walthamstow Village",
+ "displayAddress": "Stowbridge Apartments, 823 Lea Bridge Road, Walthamstow",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.580333,
+ "longitude": -0.002447
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51_max_476x317.jpeg",
+ "url": "property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f25c89504/172050053/f25c89504e8649953ddaf4a493522fa2_max_476x317.jpeg",
+ "url": "property-photo/f25c89504/172050053/f25c89504e8649953ddaf4a493522fa2.jpeg",
+ "caption": "Flat 3, Stowbridge Apartments-17_web.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c820e051e/172050053/c820e051e7e23627f121f10a424906b6_max_476x317.jpeg",
+ "url": "property-photo/c820e051e/172050053/c820e051e7e23627f121f10a424906b6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9a068ae05/172050053/9a068ae053903ac133eff4fefb92a339_max_476x317.jpeg",
+ "url": "property-photo/9a068ae05/172050053/9a068ae053903ac133eff4fefb92a339.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/409a84d79/172050053/409a84d798758ead9dd595f06ac26334_max_476x317.jpeg",
+ "url": "property-photo/409a84d79/172050053/409a84d798758ead9dd595f06ac26334.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c37d25e0/172050053/8c37d25e01beeb5044f9da1513ba7400_max_476x317.jpeg",
+ "url": "property-photo/8c37d25e0/172050053/8c37d25e01beeb5044f9da1513ba7400.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa5c503bf/172050053/fa5c503bf1b1a010329c969c33df7c6f_max_476x317.jpeg",
+ "url": "property-photo/fa5c503bf/172050053/fa5c503bf1b1a010329c969c33df7c6f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/988967bf1/172050053/988967bf12744a9a7324fb5a39cf803a_max_476x317.jpeg",
+ "url": "property-photo/988967bf1/172050053/988967bf12744a9a7324fb5a39cf803a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e323b05ce/172050053/e323b05cebc5f77edd9a7f9ac5ef162a_max_476x317.jpeg",
+ "url": "property-photo/e323b05ce/172050053/e323b05cebc5f77edd9a7f9ac5ef162a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9131de691/172050053/9131de691c6b59e67276445319dc6ddf_max_476x317.jpeg",
+ "url": "property-photo/9131de691/172050053/9131de691c6b59e67276445319dc6ddf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4915f3c1c/172050053/4915f3c1c6a8ce267f91801d26db1f80_max_476x317.jpeg",
+ "url": "property-photo/4915f3c1c/172050053/4915f3c1c6a8ce267f91801d26db1f80.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/593ba9abf/172050053/593ba9abff91b5105f9b7bcdf14546f7_max_476x317.jpeg",
+ "url": "property-photo/593ba9abf/172050053/593ba9abff91b5105f9b7bcdf14546f7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dcba78a0/172050053/7dcba78a0549727fae8582e94b2a7f91_max_476x317.jpeg",
+ "url": "property-photo/7dcba78a0/172050053/7dcba78a0549727fae8582e94b2a7f91.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-21T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T15:34:08Z"
+ },
+ "price": {
+ "amount": 1575,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,575 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£363 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 10145,
+ "brandPlusLogoURI": "/company/clogo_3502_0001.jpeg",
+ "contactTelephone": "020 3870 3140",
+ "branchDisplayName": "Churchill Estates, Walthamstow & Leyton",
+ "branchName": "Walthamstow & Leyton",
+ "brandTradingName": "Churchill Estates",
+ "branchLandingPageUrl": "/estate-agents/agent/Churchill-Estates/Walthamstow-and-Leyton-10145.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-17T16:30:56Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_3502_0001.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Permitted payments and tenant protection information \n \nAs well as paying the rent, you may also be required to make the following permitted payments. \n \nPermitted payments \n \nFor properties in England, the Tenant Fees Act 2019 means that in addition to rent, lettings agents can only charge tenants (or anyone acting on the tenant's behalf) the following permitted payments:\nHolding deposits (a maximum of 1 week's rent); Deposits (a maximum deposit of 5 weeks' rent for annual rent below £50,000, or 6 weeks' rent for annual rental of £50,000 and above); Payments to change a tenancy agreement eg. change of sharer (capped at £50 or, if higher, any reasonable costs); Payments associated with early termination of a tenancy (capped at the landlord's loss or the agent's reasonably incurred costs); Where required, utilities (electricity, gas or other fuel, water, sewerage), communication services (telephone, internet, cable/satellite television), TV licence; Council tax (payable to the billing authority); Interest payments for the late payment of rent (up to 3% above Bank of England's annual percentage rate); Reasonable costs for replacement of lost keys or other security devices; Contractual damages in the event of the tenant's default of a tenancy agreement; and Any other permitted payments under the Tenant Fees Act 2019 and regulations applicable at the relevant time. \n \nTenant protection. \n\nChurchill Estates redress scheme: The Property Ombudsman Churchill Estates designated Client Money Protection scheme: Client Money Protection (CMP) provided by Propertymark/ARLA \n",
+ "displaySize": "484 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172050053#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172050053",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T15:28:40Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T15:34:08Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Available Now",
+ "htmlDescription": "Available Now"
+ },
+ {
+ "order": 2,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 3,
+ "description": "First Floor",
+ "htmlDescription": "First Floor"
+ },
+ {
+ "order": 4,
+ "description": "Modern One Bedroom Apartment",
+ "htmlDescription": "Modern One Bedroom Apartment"
+ },
+ {
+ "order": 5,
+ "description": "Walthamstow Central Station",
+ "htmlDescription": "Walthamstow Central Station"
+ },
+ {
+ "order": 6,
+ "description": "Modern Bathroom",
+ "htmlDescription": "Modern Bathroom"
+ },
+ {
+ "order": 7,
+ "description": "Open Plan Living & Kitchen",
+ "htmlDescription": "Open Plan Living & Kitchen"
+ },
+ {
+ "order": 8,
+ "description": "High Energy Efficiency B rating",
+ "htmlDescription": "High Energy Efficiency B rating"
+ },
+ {
+ "order": 9,
+ "description": "Security Entrance Phone",
+ "htmlDescription": "Security Entrance Phone"
+ },
+ {
+ "order": 10,
+ "description": "Walthamstow Village",
+ "htmlDescription": "Walthamstow Village"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51_max_476x317.jpeg",
+ "url": "property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f25c89504/172050053/f25c89504e8649953ddaf4a493522fa2_max_476x317.jpeg",
+ "url": "property-photo/f25c89504/172050053/f25c89504e8649953ddaf4a493522fa2.jpeg",
+ "caption": "Flat 3, Stowbridge Apartments-17_web.jpg"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c820e051e/172050053/c820e051e7e23627f121f10a424906b6_max_476x317.jpeg",
+ "url": "property-photo/c820e051e/172050053/c820e051e7e23627f121f10a424906b6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9a068ae05/172050053/9a068ae053903ac133eff4fefb92a339_max_476x317.jpeg",
+ "url": "property-photo/9a068ae05/172050053/9a068ae053903ac133eff4fefb92a339.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/409a84d79/172050053/409a84d798758ead9dd595f06ac26334_max_476x317.jpeg",
+ "url": "property-photo/409a84d79/172050053/409a84d798758ead9dd595f06ac26334.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8c37d25e0/172050053/8c37d25e01beeb5044f9da1513ba7400_max_476x317.jpeg",
+ "url": "property-photo/8c37d25e0/172050053/8c37d25e01beeb5044f9da1513ba7400.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa5c503bf/172050053/fa5c503bf1b1a010329c969c33df7c6f_max_476x317.jpeg",
+ "url": "property-photo/fa5c503bf/172050053/fa5c503bf1b1a010329c969c33df7c6f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/988967bf1/172050053/988967bf12744a9a7324fb5a39cf803a_max_476x317.jpeg",
+ "url": "property-photo/988967bf1/172050053/988967bf12744a9a7324fb5a39cf803a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e323b05ce/172050053/e323b05cebc5f77edd9a7f9ac5ef162a_max_476x317.jpeg",
+ "url": "property-photo/e323b05ce/172050053/e323b05cebc5f77edd9a7f9ac5ef162a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9131de691/172050053/9131de691c6b59e67276445319dc6ddf_max_476x317.jpeg",
+ "url": "property-photo/9131de691/172050053/9131de691c6b59e67276445319dc6ddf.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4915f3c1c/172050053/4915f3c1c6a8ce267f91801d26db1f80_max_476x317.jpeg",
+ "url": "property-photo/4915f3c1c/172050053/4915f3c1c6a8ce267f91801d26db1f80.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/593ba9abf/172050053/593ba9abff91b5105f9b7bcdf14546f7_max_476x317.jpeg",
+ "url": "property-photo/593ba9abf/172050053/593ba9abff91b5105f9b7bcdf14546f7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7dcba78a0/172050053/7dcba78a0549727fae8582e94b2a7f91_max_476x317.jpeg",
+ "url": "property-photo/7dcba78a0/172050053/7dcba78a0549727fae8582e94b2a7f91.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7ac4f865/172050053/b7ac4f865d7d35a77ef966c8e860ca51_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Churchill Estates, Walthamstow & Leyton",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172049801,
+ "bedrooms": 1,
+ "bathrooms": 1,
+ "numberOfImages": 16,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "In great condition throughout is this one bedroom ground floor flat located on Hazelwood Road. The property has a bay windowed living room, double bedroom, large kitchen, three piece bathroom and rear private garden with an outbuilding. Landlord is flexible with furnishings to be stor...",
+ "displayAddress": "Hazelwood Road, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.581655,
+ "longitude": -0.03608
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc_max_476x317.jpeg",
+ "url": "property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d3cb8d4a/172049801/5d3cb8d4ac98806316a3f8cb09e1686a_max_476x317.jpeg",
+ "url": "property-photo/5d3cb8d4a/172049801/5d3cb8d4ac98806316a3f8cb09e1686a.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3371d0415/172049801/3371d0415e71dd831c04fc90e09b5fb5_max_476x317.jpeg",
+ "url": "property-photo/3371d0415/172049801/3371d0415e71dd831c04fc90e09b5fb5.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/002179b8a/172049801/002179b8ab22334da95ded6904026dd0_max_476x317.jpeg",
+ "url": "property-photo/002179b8a/172049801/002179b8ab22334da95ded6904026dd0.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4fda4383f/172049801/4fda4383f1f72800b257670bc1d32f0a_max_476x317.jpeg",
+ "url": "property-photo/4fda4383f/172049801/4fda4383f1f72800b257670bc1d32f0a.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63da7c165/172049801/63da7c1653d30a9ad8745d931e31da5e_max_476x317.jpeg",
+ "url": "property-photo/63da7c165/172049801/63da7c1653d30a9ad8745d931e31da5e.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc1365173/172049801/bc1365173596253f97a95b82b96d4561_max_476x317.jpeg",
+ "url": "property-photo/bc1365173/172049801/bc1365173596253f97a95b82b96d4561.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/296e42ef8/172049801/296e42ef8a6b3c0cab4ee78e6128d693_max_476x317.jpeg",
+ "url": "property-photo/296e42ef8/172049801/296e42ef8a6b3c0cab4ee78e6128d693.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/800e4c175/172049801/800e4c175e4f93be359efaa53792b879_max_476x317.jpeg",
+ "url": "property-photo/800e4c175/172049801/800e4c175e4f93be359efaa53792b879.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c1b7f2d2/172049801/6c1b7f2d2064ac2ccad9a2da201a09aa_max_476x317.jpeg",
+ "url": "property-photo/6c1b7f2d2/172049801/6c1b7f2d2064ac2ccad9a2da201a09aa.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b14c8efff/172049801/b14c8efff60bf6a4acdfc626d417b6ac_max_476x317.jpeg",
+ "url": "property-photo/b14c8efff/172049801/b14c8efff60bf6a4acdfc626d417b6ac.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7e835d91/172049801/b7e835d91ede9b18bde02a1480d3add8_max_476x317.jpeg",
+ "url": "property-photo/b7e835d91/172049801/b7e835d91ede9b18bde02a1480d3add8.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0a6ba22a7/172049801/0a6ba22a7b19f16d850daca1b83c2dea_max_476x317.jpeg",
+ "url": "property-photo/0a6ba22a7/172049801/0a6ba22a7b19f16d850daca1b83c2dea.jpeg",
+ "caption": "Picture No. 16"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c64d4618/172049801/2c64d461830aef7006f98dd1efea9e8f_max_476x317.jpeg",
+ "url": "property-photo/2c64d4618/172049801/2c64d461830aef7006f98dd1efea9e8f.jpeg",
+ "caption": "Picture No. 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8057fb0a/172049801/c8057fb0a61fccf6ba4358c9043c543e_max_476x317.jpeg",
+ "url": "property-photo/c8057fb0a/172049801/c8057fb0a61fccf6ba4358c9043c543e.jpeg",
+ "caption": "Picture No. 18"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9288784/172049801/cb9288784619151d8412660300dfe496_max_476x317.jpeg",
+ "url": "property-photo/cb9288784/172049801/cb9288784619151d8412660300dfe496.jpeg",
+ "caption": "Picture No. 04"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-28T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T15:30:14Z"
+ },
+ "price": {
+ "amount": 1600,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,600 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£369 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 6323,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_1992_0002.png",
+ "contactTelephone": "020 3909 6714",
+ "branchDisplayName": "Central Estate Agents, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Central Estate Agents",
+ "branchLandingPageUrl": "/estate-agents/agent/Central-Estate-Agents/Walthamstow-6323.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-16T17:08:08Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_1992_0002.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172049801#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172049801",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T15:25:10Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T03:32:44Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Ground floor flat",
+ "htmlDescription": "Ground floor flat"
+ },
+ {
+ "order": 2,
+ "description": "Double bedroom",
+ "htmlDescription": "Double bedroom"
+ },
+ {
+ "order": 3,
+ "description": "Living room",
+ "htmlDescription": "Living room"
+ },
+ {
+ "order": 4,
+ "description": "Large kitchen",
+ "htmlDescription": "Large kitchen"
+ },
+ {
+ "order": 5,
+ "description": "Three piece bathroom",
+ "htmlDescription": "Three piece bathroom"
+ },
+ {
+ "order": 6,
+ "description": "Private garden with outbuilding",
+ "htmlDescription": "Private garden with outbuilding"
+ },
+ {
+ "order": 7,
+ "description": "Furnished",
+ "htmlDescription": "Furnished"
+ },
+ {
+ "order": 8,
+ "description": "Next to St James Street Station",
+ "htmlDescription": "Next to St James Street Station"
+ },
+ {
+ "order": 9,
+ "description": "Available end February",
+ "htmlDescription": "Available end February"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc_max_476x317.jpeg",
+ "url": "property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5d3cb8d4a/172049801/5d3cb8d4ac98806316a3f8cb09e1686a_max_476x317.jpeg",
+ "url": "property-photo/5d3cb8d4a/172049801/5d3cb8d4ac98806316a3f8cb09e1686a.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3371d0415/172049801/3371d0415e71dd831c04fc90e09b5fb5_max_476x317.jpeg",
+ "url": "property-photo/3371d0415/172049801/3371d0415e71dd831c04fc90e09b5fb5.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/002179b8a/172049801/002179b8ab22334da95ded6904026dd0_max_476x317.jpeg",
+ "url": "property-photo/002179b8a/172049801/002179b8ab22334da95ded6904026dd0.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4fda4383f/172049801/4fda4383f1f72800b257670bc1d32f0a_max_476x317.jpeg",
+ "url": "property-photo/4fda4383f/172049801/4fda4383f1f72800b257670bc1d32f0a.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63da7c165/172049801/63da7c1653d30a9ad8745d931e31da5e_max_476x317.jpeg",
+ "url": "property-photo/63da7c165/172049801/63da7c1653d30a9ad8745d931e31da5e.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bc1365173/172049801/bc1365173596253f97a95b82b96d4561_max_476x317.jpeg",
+ "url": "property-photo/bc1365173/172049801/bc1365173596253f97a95b82b96d4561.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/296e42ef8/172049801/296e42ef8a6b3c0cab4ee78e6128d693_max_476x317.jpeg",
+ "url": "property-photo/296e42ef8/172049801/296e42ef8a6b3c0cab4ee78e6128d693.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/800e4c175/172049801/800e4c175e4f93be359efaa53792b879_max_476x317.jpeg",
+ "url": "property-photo/800e4c175/172049801/800e4c175e4f93be359efaa53792b879.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c1b7f2d2/172049801/6c1b7f2d2064ac2ccad9a2da201a09aa_max_476x317.jpeg",
+ "url": "property-photo/6c1b7f2d2/172049801/6c1b7f2d2064ac2ccad9a2da201a09aa.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b14c8efff/172049801/b14c8efff60bf6a4acdfc626d417b6ac_max_476x317.jpeg",
+ "url": "property-photo/b14c8efff/172049801/b14c8efff60bf6a4acdfc626d417b6ac.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b7e835d91/172049801/b7e835d91ede9b18bde02a1480d3add8_max_476x317.jpeg",
+ "url": "property-photo/b7e835d91/172049801/b7e835d91ede9b18bde02a1480d3add8.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0a6ba22a7/172049801/0a6ba22a7b19f16d850daca1b83c2dea_max_476x317.jpeg",
+ "url": "property-photo/0a6ba22a7/172049801/0a6ba22a7b19f16d850daca1b83c2dea.jpeg",
+ "caption": "Picture No. 16"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2c64d4618/172049801/2c64d461830aef7006f98dd1efea9e8f_max_476x317.jpeg",
+ "url": "property-photo/2c64d4618/172049801/2c64d461830aef7006f98dd1efea9e8f.jpeg",
+ "caption": "Picture No. 17"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c8057fb0a/172049801/c8057fb0a61fccf6ba4358c9043c543e_max_476x317.jpeg",
+ "url": "property-photo/c8057fb0a/172049801/c8057fb0a61fccf6ba4358c9043c543e.jpeg",
+ "caption": "Picture No. 18"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cb9288784/172049801/cb9288784619151d8412660300dfe496_max_476x317.jpeg",
+ "url": "property-photo/cb9288784/172049801/cb9288784619151d8412660300dfe496.jpeg",
+ "caption": "Picture No. 04"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5586cf2ce/172049801/5586cf2cef1347caa8a9b055ff5ee9fc_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Central Estate Agents, Walthamstow",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "1 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172049780,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 13,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Located next to Blackhorse Station is this two double bedroom ground floor flat. The property offers an open plan kitchen / living room, three piece bathroom and private garden. You couldn't be any closer to Blackhorse Road station giving easy access to both the Victoria Line and the o...",
+ "displayAddress": "Tavistock Avenue, Walthamstow, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.589196,
+ "longitude": -0.038691
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e_max_476x317.jpeg",
+ "url": "property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1ab9547bc/172049780/1ab9547bcc34fa1766c25d0cd9068c71_max_476x317.jpeg",
+ "url": "property-photo/1ab9547bc/172049780/1ab9547bcc34fa1766c25d0cd9068c71.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f85d9b5ef/172049780/f85d9b5ef1549cb2b7779c9fee3838af_max_476x317.jpeg",
+ "url": "property-photo/f85d9b5ef/172049780/f85d9b5ef1549cb2b7779c9fee3838af.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f56a6fd8/172049780/4f56a6fd8ff64306678187e69c16f826_max_476x317.jpeg",
+ "url": "property-photo/4f56a6fd8/172049780/4f56a6fd8ff64306678187e69c16f826.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3af43486b/172049780/3af43486bc0b08a9c66c542ddd7a0434_max_476x317.jpeg",
+ "url": "property-photo/3af43486b/172049780/3af43486bc0b08a9c66c542ddd7a0434.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6495b162/172049780/b6495b16244cfb33c4360752670f7e0e_max_476x317.jpeg",
+ "url": "property-photo/b6495b162/172049780/b6495b16244cfb33c4360752670f7e0e.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06083763c/172049780/06083763cc67310f9d2cc47f3ce61e99_max_476x317.jpeg",
+ "url": "property-photo/06083763c/172049780/06083763cc67310f9d2cc47f3ce61e99.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/237ac69a1/172049780/237ac69a1d870074af7912d4e59e38d0_max_476x317.jpeg",
+ "url": "property-photo/237ac69a1/172049780/237ac69a1d870074af7912d4e59e38d0.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f88e7878/172049780/7f88e7878a098d98798c27b4c536a964_max_476x317.jpeg",
+ "url": "property-photo/7f88e7878/172049780/7f88e7878a098d98798c27b4c536a964.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f9ea45f7/172049780/0f9ea45f7703098bb32fb643c6785913_max_476x317.jpeg",
+ "url": "property-photo/0f9ea45f7/172049780/0f9ea45f7703098bb32fb643c6785913.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8061efb/172049780/fd8061efbf2264a8e49ef325d39e1ffd_max_476x317.jpeg",
+ "url": "property-photo/fd8061efb/172049780/fd8061efbf2264a8e49ef325d39e1ffd.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e576e0e01/172049780/e576e0e019ee43f05813437201b4443f_max_476x317.jpeg",
+ "url": "property-photo/e576e0e01/172049780/e576e0e019ee43f05813437201b4443f.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/158e8f3d3/172049780/158e8f3d3055cdd46a770c36122f1cfa_max_476x317.jpeg",
+ "url": "property-photo/158e8f3d3/172049780/158e8f3d3055cdd46a770c36122f1cfa.jpeg",
+ "caption": "Picture No. 17"
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-28T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T15:30:13Z"
+ },
+ "price": {
+ "amount": 1900,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,900 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£438 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 6323,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_1992_0002.png",
+ "contactTelephone": "020 3909 6714",
+ "branchDisplayName": "Central Estate Agents, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Central Estate Agents",
+ "branchLandingPageUrl": "/estate-agents/agent/Central-Estate-Agents/Walthamstow-6323.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-16T17:08:08Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_1992_0002.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172049780#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172049780",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T15:24:53Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T21:40:31Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Ground floor flat",
+ "htmlDescription": "Ground floor flat"
+ },
+ {
+ "order": 2,
+ "description": "Two double bedrooms",
+ "htmlDescription": "Two double bedrooms"
+ },
+ {
+ "order": 3,
+ "description": "Open plan kitchen / living room",
+ "htmlDescription": "Open plan kitchen / living room"
+ },
+ {
+ "order": 4,
+ "description": "Three piece bathroom",
+ "htmlDescription": "Three piece bathroom"
+ },
+ {
+ "order": 5,
+ "description": "Private garden",
+ "htmlDescription": "Private garden"
+ },
+ {
+ "order": 6,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 7,
+ "description": "Available end February",
+ "htmlDescription": "Available end February"
+ },
+ {
+ "order": 8,
+ "description": "Few minutes walk to Blackhorse Station",
+ "htmlDescription": "Few minutes walk to Blackhorse Station"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e_max_476x317.jpeg",
+ "url": "property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e.jpeg",
+ "caption": "Picture No. 15"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1ab9547bc/172049780/1ab9547bcc34fa1766c25d0cd9068c71_max_476x317.jpeg",
+ "url": "property-photo/1ab9547bc/172049780/1ab9547bcc34fa1766c25d0cd9068c71.jpeg",
+ "caption": "Picture No. 06"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f85d9b5ef/172049780/f85d9b5ef1549cb2b7779c9fee3838af_max_476x317.jpeg",
+ "url": "property-photo/f85d9b5ef/172049780/f85d9b5ef1549cb2b7779c9fee3838af.jpeg",
+ "caption": "Picture No. 07"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f56a6fd8/172049780/4f56a6fd8ff64306678187e69c16f826_max_476x317.jpeg",
+ "url": "property-photo/4f56a6fd8/172049780/4f56a6fd8ff64306678187e69c16f826.jpeg",
+ "caption": "Picture No. 08"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3af43486b/172049780/3af43486bc0b08a9c66c542ddd7a0434_max_476x317.jpeg",
+ "url": "property-photo/3af43486b/172049780/3af43486bc0b08a9c66c542ddd7a0434.jpeg",
+ "caption": "Picture No. 09"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b6495b162/172049780/b6495b16244cfb33c4360752670f7e0e_max_476x317.jpeg",
+ "url": "property-photo/b6495b162/172049780/b6495b16244cfb33c4360752670f7e0e.jpeg",
+ "caption": "Picture No. 03"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/06083763c/172049780/06083763cc67310f9d2cc47f3ce61e99_max_476x317.jpeg",
+ "url": "property-photo/06083763c/172049780/06083763cc67310f9d2cc47f3ce61e99.jpeg",
+ "caption": "Picture No. 05"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/237ac69a1/172049780/237ac69a1d870074af7912d4e59e38d0_max_476x317.jpeg",
+ "url": "property-photo/237ac69a1/172049780/237ac69a1d870074af7912d4e59e38d0.jpeg",
+ "caption": "Picture No. 12"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7f88e7878/172049780/7f88e7878a098d98798c27b4c536a964_max_476x317.jpeg",
+ "url": "property-photo/7f88e7878/172049780/7f88e7878a098d98798c27b4c536a964.jpeg",
+ "caption": "Picture No. 11"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/0f9ea45f7/172049780/0f9ea45f7703098bb32fb643c6785913_max_476x317.jpeg",
+ "url": "property-photo/0f9ea45f7/172049780/0f9ea45f7703098bb32fb643c6785913.jpeg",
+ "caption": "Picture No. 10"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fd8061efb/172049780/fd8061efbf2264a8e49ef325d39e1ffd_max_476x317.jpeg",
+ "url": "property-photo/fd8061efb/172049780/fd8061efbf2264a8e49ef325d39e1ffd.jpeg",
+ "caption": "Picture No. 14"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e576e0e01/172049780/e576e0e019ee43f05813437201b4443f_max_476x317.jpeg",
+ "url": "property-photo/e576e0e01/172049780/e576e0e019ee43f05813437201b4443f.jpeg",
+ "caption": "Picture No. 13"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/158e8f3d3/172049780/158e8f3d3055cdd46a770c36122f1cfa_max_476x317.jpeg",
+ "url": "property-photo/158e8f3d3/172049780/158e8f3d3055cdd46a770c36122f1cfa.jpeg",
+ "caption": "Picture No. 17"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8efec2d73/172049780/8efec2d73a48effba57b322b8a4e1e2e_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Central Estate Agents, Walthamstow",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 172047497,
+ "bedrooms": 0,
+ "bathrooms": 1,
+ "numberOfImages": 7,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "LIMITED TIME OFFER. SAVE £3,000* Be the first to live at the Altham. Pet friendly, bills included, furnished studios 1 min from the tube. With co-working lounges, a fitness studio, cinema and rooftop terrace, you can smash the deadline, nail the deadlift or just unwind with friends. ",
+ "displayAddress": "Altham House, 1 Blackhorse Lane, London, E17 6DS",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.58909,
+ "longitude": -0.03982
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f_max_476x317.jpeg",
+ "url": "property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f612fd1b1/172047497/f612fd1b10dee296194bed713656a07b_max_476x317.jpeg",
+ "url": "property-photo/f612fd1b1/172047497/f612fd1b10dee296194bed713656a07b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bae6d6ee1/172047497/bae6d6ee12d583ef5edf5a2e451808ae_max_476x317.jpeg",
+ "url": "property-photo/bae6d6ee1/172047497/bae6d6ee12d583ef5edf5a2e451808ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/342d2b96a/172047497/342d2b96aeb5a5ada225c9d053e14468_max_476x317.jpeg",
+ "url": "property-photo/342d2b96a/172047497/342d2b96aeb5a5ada225c9d053e14468.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c5180205/172047497/5c5180205dfee74503c0a765466756b0_max_476x317.jpeg",
+ "url": "property-photo/5c5180205/172047497/5c5180205dfee74503c0a765466756b0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ad6cc0e6/172047497/7ad6cc0e6376ae46a7b096ab070d6e9f_max_476x317.jpeg",
+ "url": "property-photo/7ad6cc0e6/172047497/7ad6cc0e6376ae46a7b096ab070d6e9f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7d884253/172047497/d7d8842531cb98b84750e3dbec8197ac_max_476x317.jpeg",
+ "url": "property-photo/d7d884253/172047497/d7d8842531cb98b84750e3dbec8197ac.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Studio",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-04-15T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T15:05:11Z"
+ },
+ "price": {
+ "amount": 2080,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,080 pcm",
+ "displayPriceQualifier": "Fixed Price"
+ },
+ {
+ "displayPrice": "£480 pw",
+ "displayPriceQualifier": "Fixed Price"
+ }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 296024,
+ "brandPlusLogoURI": "/297k/296024/branch_rmchoice_logo_296024_0000.png",
+ "contactTelephone": "020 4634 1484",
+ "branchDisplayName": "The Altham by Morro, London",
+ "branchName": "London",
+ "brandTradingName": "The Altham by Morro",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Altham-by-Morro/London-296024.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": true,
+ "buildToRentBenefits": [
+ {
+ "id": 11,
+ "label": "Bills included",
+ "icon": "bills-included",
+ "positionOnPage": 1
+ },
+ {
+ "id": 24,
+ "label": "Pets allowed",
+ "icon": "dog",
+ "positionOnPage": 2
+ },
+ {
+ "id": 18,
+ "label": "Flexible tenancies",
+ "icon": "note",
+ "positionOnPage": 3
+ },
+ {
+ "id": 4,
+ "label": "Gym",
+ "icon": "gym",
+ "positionOnPage": 4
+ },
+ {
+ "id": 38,
+ "label": "Co-working",
+ "icon": "co-working",
+ "positionOnPage": 5
+ },
+ {
+ "id": 1,
+ "label": "WiFi included",
+ "icon": "wifi-included",
+ "positionOnPage": 6
+ },
+ {
+ "id": 29,
+ "label": "Roof terrace",
+ "icon": "roof-terrace",
+ "positionOnPage": 7
+ },
+ {
+ "id": 28,
+ "label": "Residents lounge",
+ "icon": "sofa",
+ "positionOnPage": 8
+ },
+ {
+ "id": 26,
+ "label": "Private dining room",
+ "icon": "dining-room",
+ "positionOnPage": 9
+ },
+ {
+ "id": 34,
+ "label": "Transport links",
+ "icon": "train",
+ "positionOnPage": 10
+ },
+ {
+ "id": 2,
+ "label": "Concierge",
+ "icon": "concierge",
+ "positionOnPage": 11
+ },
+ {
+ "id": 5,
+ "label": "Security",
+ "icon": "lock",
+ "positionOnPage": 12
+ },
+ {
+ "id": 32,
+ "label": "Social activities",
+ "icon": "social-activities",
+ "positionOnPage": 13
+ },
+ {
+ "id": 6,
+ "label": "On site maintenance",
+ "icon": "maintenance",
+ "positionOnPage": 14
+ },
+ {
+ "id": 7,
+ "label": "24hr maintenance",
+ "icon": "maintenance",
+ "positionOnPage": 15
+ },
+ {
+ "id": 10,
+ "label": "Bike storage",
+ "icon": "bike-storage",
+ "positionOnPage": 16
+ },
+ {
+ "id": 13,
+ "label": "Cinema",
+ "icon": "cinema",
+ "positionOnPage": 17
+ },
+ {
+ "id": 19,
+ "label": "Fully managed",
+ "icon": "seal-tick",
+ "positionOnPage": 18
+ },
+ {
+ "id": 27,
+ "label": "Professional management",
+ "icon": "seal-tick",
+ "positionOnPage": 19
+ }
+ ],
+ "updateDate": "2026-01-16T14:55:24Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/297k/296024/branch_rmchoice_logo_296024_0000.png",
+ "primaryBrandColour": "#4d502b"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": "Built for renters",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Morro is a members of the property redress scheme, membership number PRS026959.",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/172047497#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=172047497",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T14:59:52Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": [
+ {
+ "type": "BUILT_FOR_RENTERS",
+ "priority": 3
+ }
+ ]
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T15:05:11Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "All utility bills included",
+ "htmlDescription": "All utility bills included"
+ },
+ {
+ "order": 2,
+ "description": "Brand new studios",
+ "htmlDescription": "Brand new studios"
+ },
+ {
+ "order": 3,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 4,
+ "description": "Flexible contract lengths",
+ "htmlDescription": "Flexible contract lengths"
+ },
+ {
+ "order": 5,
+ "description": "24/7 gym",
+ "htmlDescription": "24/7 gym"
+ },
+ {
+ "order": 6,
+ "description": "Cinema room",
+ "htmlDescription": "Cinema room"
+ },
+ {
+ "order": 7,
+ "description": "24/7 concierge",
+ "htmlDescription": "24/7 concierge"
+ },
+ {
+ "order": 8,
+ "description": "250mb High-speed Wi-Fi",
+ "htmlDescription": "250mb High-speed Wi-Fi"
+ },
+ {
+ "order": 9,
+ "description": "Co-working spaces",
+ "htmlDescription": "Co-working spaces"
+ },
+ {
+ "order": 10,
+ "description": "20 minutes to Central London",
+ "htmlDescription": "20 minutes to Central London"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f_max_476x317.jpeg",
+ "url": "property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f612fd1b1/172047497/f612fd1b10dee296194bed713656a07b_max_476x317.jpeg",
+ "url": "property-photo/f612fd1b1/172047497/f612fd1b10dee296194bed713656a07b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bae6d6ee1/172047497/bae6d6ee12d583ef5edf5a2e451808ae_max_476x317.jpeg",
+ "url": "property-photo/bae6d6ee1/172047497/bae6d6ee12d583ef5edf5a2e451808ae.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/342d2b96a/172047497/342d2b96aeb5a5ada225c9d053e14468_max_476x317.jpeg",
+ "url": "property-photo/342d2b96a/172047497/342d2b96aeb5a5ada225c9d053e14468.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c5180205/172047497/5c5180205dfee74503c0a765466756b0_max_476x317.jpeg",
+ "url": "property-photo/5c5180205/172047497/5c5180205dfee74503c0a765466756b0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ad6cc0e6/172047497/7ad6cc0e6376ae46a7b096ab070d6e9f_max_476x317.jpeg",
+ "url": "property-photo/7ad6cc0e6/172047497/7ad6cc0e6376ae46a7b096ab070d6e9f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d7d884253/172047497/d7d8842531cb98b84750e3dbec8197ac_max_476x317.jpeg",
+ "url": "property-photo/d7d884253/172047497/d7d8842531cb98b84750e3dbec8197ac.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/48d403687/172047497/48d403687219cd7c7e9f1095e801c94f_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Altham by Morro, London",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "Studio flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 87606243,
+ "bedrooms": 0,
+ "bathrooms": 1,
+ "numberOfImages": 6,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "*EARLYBIRD OFFER. SAVE £3,000* Welcome to the Altham, new studios designed for however you want to live. Whether you're looking to settle down or for spontaneity, a buzzing community or quiet corner, our studios all come with bills included, flexible contracts and design-led furnishings. ",
+ "displayAddress": "Altham House, 1 Blackhorse Lane, London, E17 6DS",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.58909,
+ "longitude": -0.03982
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71_max_476x317.jpeg",
+ "url": "property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f5661d2a1/87606243/f5661d2a16dc556d4881951cd61d15ad_max_476x317.jpeg",
+ "url": "property-photo/f5661d2a1/87606243/f5661d2a16dc556d4881951cd61d15ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cdf1d0bb2/87606243/cdf1d0bb29803db43b105979cdf92fdd_max_476x317.jpeg",
+ "url": "property-photo/cdf1d0bb2/87606243/cdf1d0bb29803db43b105979cdf92fdd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a18dcc957/87606243/a18dcc957be2b102fe7aef729ed8d8eb_max_476x317.jpeg",
+ "url": "property-photo/a18dcc957/87606243/a18dcc957be2b102fe7aef729ed8d8eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac8b3497/87606243/4ac8b3497c3b0225d67fcd8a206a53e9_max_476x317.jpeg",
+ "url": "property-photo/4ac8b3497/87606243/4ac8b3497c3b0225d67fcd8a206a53e9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2411311b5/87606243/2411311b56af944b2ce3a02b3738d52f_max_476x317.jpeg",
+ "url": "property-photo/2411311b5/87606243/2411311b56af944b2ce3a02b3738d52f.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Studio",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-04-13T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T14:51:08Z"
+ },
+ "price": {
+ "amount": 1995,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,995 pcm",
+ "displayPriceQualifier": "Fixed Price"
+ },
+ {
+ "displayPrice": "£460 pw",
+ "displayPriceQualifier": "Fixed Price"
+ }
+ ]
+ },
+ "premiumListing": true,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 296024,
+ "brandPlusLogoURI": "/297k/296024/branch_rmchoice_logo_296024_0000.png",
+ "contactTelephone": "020 4634 1484",
+ "branchDisplayName": "The Altham by Morro, London",
+ "branchName": "London",
+ "brandTradingName": "The Altham by Morro",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Altham-by-Morro/London-296024.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": true,
+ "buildToRentBenefits": [
+ {
+ "id": 11,
+ "label": "Bills included",
+ "icon": "bills-included",
+ "positionOnPage": 1
+ },
+ {
+ "id": 24,
+ "label": "Pets allowed",
+ "icon": "dog",
+ "positionOnPage": 2
+ },
+ {
+ "id": 18,
+ "label": "Flexible tenancies",
+ "icon": "note",
+ "positionOnPage": 3
+ },
+ {
+ "id": 4,
+ "label": "Gym",
+ "icon": "gym",
+ "positionOnPage": 4
+ },
+ {
+ "id": 38,
+ "label": "Co-working",
+ "icon": "co-working",
+ "positionOnPage": 5
+ },
+ {
+ "id": 1,
+ "label": "WiFi included",
+ "icon": "wifi-included",
+ "positionOnPage": 6
+ },
+ {
+ "id": 29,
+ "label": "Roof terrace",
+ "icon": "roof-terrace",
+ "positionOnPage": 7
+ },
+ {
+ "id": 28,
+ "label": "Residents lounge",
+ "icon": "sofa",
+ "positionOnPage": 8
+ },
+ {
+ "id": 26,
+ "label": "Private dining room",
+ "icon": "dining-room",
+ "positionOnPage": 9
+ },
+ {
+ "id": 34,
+ "label": "Transport links",
+ "icon": "train",
+ "positionOnPage": 10
+ },
+ {
+ "id": 2,
+ "label": "Concierge",
+ "icon": "concierge",
+ "positionOnPage": 11
+ },
+ {
+ "id": 5,
+ "label": "Security",
+ "icon": "lock",
+ "positionOnPage": 12
+ },
+ {
+ "id": 32,
+ "label": "Social activities",
+ "icon": "social-activities",
+ "positionOnPage": 13
+ },
+ {
+ "id": 6,
+ "label": "On site maintenance",
+ "icon": "maintenance",
+ "positionOnPage": 14
+ },
+ {
+ "id": 7,
+ "label": "24hr maintenance",
+ "icon": "maintenance",
+ "positionOnPage": 15
+ },
+ {
+ "id": 10,
+ "label": "Bike storage",
+ "icon": "bike-storage",
+ "positionOnPage": 16
+ },
+ {
+ "id": 13,
+ "label": "Cinema",
+ "icon": "cinema",
+ "positionOnPage": 17
+ },
+ {
+ "id": 19,
+ "label": "Fully managed",
+ "icon": "seal-tick",
+ "positionOnPage": 18
+ },
+ {
+ "id": 27,
+ "label": "Professional management",
+ "icon": "seal-tick",
+ "positionOnPage": 19
+ }
+ ],
+ "updateDate": "2026-01-16T14:55:24Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/297k/296024/branch_rmchoice_logo_296024_0000.png",
+ "primaryBrandColour": "#4d502b"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": "Built for renters",
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": true,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Morro is a members of the property redress scheme, membership number PRS026959.",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/87606243#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=87606243",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T14:46:02Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": [
+ {
+ "type": "BUILT_FOR_RENTERS",
+ "priority": 3
+ },
+ {
+ "type": "NEW_HOME",
+ "priority": 4
+ }
+ ]
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T14:51:08Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "All utility bills included",
+ "htmlDescription": "All utility bills included "
+ },
+ {
+ "order": 2,
+ "description": "Brand new studios",
+ "htmlDescription": "Brand new studios"
+ },
+ {
+ "order": 3,
+ "description": "Flexible contract lengths",
+ "htmlDescription": "Flexible contract lengths"
+ },
+ {
+ "order": 4,
+ "description": "Pet friendly",
+ "htmlDescription": "Pet friendly"
+ },
+ {
+ "order": 5,
+ "description": "24/7 gym",
+ "htmlDescription": "24/7 gym"
+ },
+ {
+ "order": 6,
+ "description": "Cinema room",
+ "htmlDescription": "Cinema room"
+ },
+ {
+ "order": 7,
+ "description": "24/7 concierge",
+ "htmlDescription": "24/7 concierge"
+ },
+ {
+ "order": 8,
+ "description": "High-speed Wi-Fi",
+ "htmlDescription": "High-speed Wi-Fi"
+ },
+ {
+ "order": 9,
+ "description": "Co-working spaces",
+ "htmlDescription": "Co-working spaces"
+ },
+ {
+ "order": 10,
+ "description": "20 minutes to Central London",
+ "htmlDescription": "20 minutes to Central London"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71_max_476x317.jpeg",
+ "url": "property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f5661d2a1/87606243/f5661d2a16dc556d4881951cd61d15ad_max_476x317.jpeg",
+ "url": "property-photo/f5661d2a1/87606243/f5661d2a16dc556d4881951cd61d15ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cdf1d0bb2/87606243/cdf1d0bb29803db43b105979cdf92fdd_max_476x317.jpeg",
+ "url": "property-photo/cdf1d0bb2/87606243/cdf1d0bb29803db43b105979cdf92fdd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a18dcc957/87606243/a18dcc957be2b102fe7aef729ed8d8eb_max_476x317.jpeg",
+ "url": "property-photo/a18dcc957/87606243/a18dcc957be2b102fe7aef729ed8d8eb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac8b3497/87606243/4ac8b3497c3b0225d67fcd8a206a53e9_max_476x317.jpeg",
+ "url": "property-photo/4ac8b3497/87606243/4ac8b3497c3b0225d67fcd8a206a53e9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2411311b5/87606243/2411311b56af944b2ce3a02b3738d52f_max_476x317.jpeg",
+ "url": "property-photo/2411311b5/87606243/2411311b56af944b2ce3a02b3738d52f.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/1508e67b1/87606243/1508e67b1cb9210cc325604dd185ad71_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Altham by Morro, London",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "Studio flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 87604779,
+ "bedrooms": 2,
+ "bathrooms": 2,
+ "numberOfImages": 29,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "Situated in a lovely corner of E17, this bright and modern two-bedroom apartment offers all the convenience you’d expect from a contemporary development. Highlights include a spacious living area, a south-facing balcony, and two stylishly finished bathrooms (one an ensuite) The location ...",
+ "displayAddress": "Cunard Apartments, Walthamstow",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.584255,
+ "longitude": -0.000604
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19_max_476x317.jpeg",
+ "url": "property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/930b24066/87604779/930b24066f8d0d23e4efa2ffaa48bfab_max_476x317.jpeg",
+ "url": "property-photo/930b24066/87604779/930b24066f8d0d23e4efa2ffaa48bfab.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70996fad1/87604779/70996fad1182872a0fd3c67219015311_max_476x317.jpeg",
+ "url": "property-photo/70996fad1/87604779/70996fad1182872a0fd3c67219015311.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d23b25e4b/87604779/d23b25e4b71fba9dc0e27cabf6840c1f_max_476x317.jpeg",
+ "url": "property-photo/d23b25e4b/87604779/d23b25e4b71fba9dc0e27cabf6840c1f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b44970ef1/87604779/b44970ef10e385c81a34a56994191ec0_max_476x317.jpeg",
+ "url": "property-photo/b44970ef1/87604779/b44970ef10e385c81a34a56994191ec0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a460f3d9/87604779/3a460f3d96fd39757556e1a89bd040fc_max_476x317.jpeg",
+ "url": "property-photo/3a460f3d9/87604779/3a460f3d96fd39757556e1a89bd040fc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f24f17e6/87604779/3f24f17e6f2f26d8d4ebe1861fa045da_max_476x317.jpeg",
+ "url": "property-photo/3f24f17e6/87604779/3f24f17e6f2f26d8d4ebe1861fa045da.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63658d6f3/87604779/63658d6f3b4811232ecf07213b88aed6_max_476x317.jpeg",
+ "url": "property-photo/63658d6f3/87604779/63658d6f3b4811232ecf07213b88aed6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bd10cd20/87604779/3bd10cd2073eb55d7f408275f66a901a_max_476x317.jpeg",
+ "url": "property-photo/3bd10cd20/87604779/3bd10cd2073eb55d7f408275f66a901a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79a4dedaf/87604779/79a4dedaf37533ce958d5047943b0761_max_476x317.jpeg",
+ "url": "property-photo/79a4dedaf/87604779/79a4dedaf37533ce958d5047943b0761.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e676f5425/87604779/e676f5425cc36833306840ccd2aabafd_max_476x317.jpeg",
+ "url": "property-photo/e676f5425/87604779/e676f5425cc36833306840ccd2aabafd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e25471aef/87604779/e25471aeff811bb1b028ba18ae19258e_max_476x317.jpeg",
+ "url": "property-photo/e25471aef/87604779/e25471aeff811bb1b028ba18ae19258e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5dd51847b/87604779/5dd51847b80aad9f787bb8f6826e3df4_max_476x317.jpeg",
+ "url": "property-photo/5dd51847b/87604779/5dd51847b80aad9f787bb8f6826e3df4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a29651a08/87604779/a29651a08e854ae21c27be711a863aef_max_476x317.jpeg",
+ "url": "property-photo/a29651a08/87604779/a29651a08e854ae21c27be711a863aef.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8a0d35f0b/87604779/8a0d35f0b6c28a58de997f49a129c223_max_476x317.jpeg",
+ "url": "property-photo/8a0d35f0b/87604779/8a0d35f0b6c28a58de997f49a129c223.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3065d796d/87604779/3065d796d603f5cb2e06d6dd53acc45b_max_476x317.jpeg",
+ "url": "property-photo/3065d796d/87604779/3065d796d603f5cb2e06d6dd53acc45b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a259883b/87604779/5a259883bf0d09779bf505e6b905a85e_max_476x317.jpeg",
+ "url": "property-photo/5a259883b/87604779/5a259883bf0d09779bf505e6b905a85e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c7bdbd54/87604779/5c7bdbd54eed2c32095c0cb7d985cafe_max_476x317.jpeg",
+ "url": "property-photo/5c7bdbd54/87604779/5c7bdbd54eed2c32095c0cb7d985cafe.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b802124ed/87604779/b802124ede6e1a06ea0e207a9d2a5086_max_476x317.jpeg",
+ "url": "property-photo/b802124ed/87604779/b802124ede6e1a06ea0e207a9d2a5086.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/787687842/87604779/78768784272d3535c8eb981302d79c06_max_476x317.jpeg",
+ "url": "property-photo/787687842/87604779/78768784272d3535c8eb981302d79c06.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f71fd84f3/87604779/f71fd84f32d88b1743cbd44a9747b776_max_476x317.jpeg",
+ "url": "property-photo/f71fd84f3/87604779/f71fd84f32d88b1743cbd44a9747b776.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8041c4309/87604779/8041c4309f36b8adf11e13cfd502bd13_max_476x317.jpeg",
+ "url": "property-photo/8041c4309/87604779/8041c4309f36b8adf11e13cfd502bd13.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a5ed695cb/87604779/a5ed695cb7457b1267cc5a0ade012a0a_max_476x317.jpeg",
+ "url": "property-photo/a5ed695cb/87604779/a5ed695cb7457b1267cc5a0ade012a0a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/108726bd6/87604779/108726bd6e6db5c810fca2bca78354ad_max_476x317.jpeg",
+ "url": "property-photo/108726bd6/87604779/108726bd6e6db5c810fca2bca78354ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f16cbf223/87604779/f16cbf2230077646f643f0c6a5cd964b_max_476x317.jpeg",
+ "url": "property-photo/f16cbf223/87604779/f16cbf2230077646f643f0c6a5cd964b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a6711709/87604779/3a67117092e8396e3a0bbba641d70f75_max_476x317.jpeg",
+ "url": "property-photo/3a6711709/87604779/3a67117092e8396e3a0bbba641d70f75.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa1184f73/87604779/fa1184f73c0454dbd79c4793147d39ee_max_476x317.jpeg",
+ "url": "property-photo/fa1184f73/87604779/fa1184f73c0454dbd79c4793147d39ee.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9c78427f7/87604779/9c78427f7fa5ba9fb7eb360585fe89fb_max_476x317.jpeg",
+ "url": "property-photo/9c78427f7/87604779/9c78427f7fa5ba9fb7eb360585fe89fb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cafc839fd/87604779/cafc839fdb5208c8150654c1b1d54a80_max_476x317.jpeg",
+ "url": "property-photo/cafc839fd/87604779/cafc839fdb5208c8150654c1b1d54a80.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Apartment",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-21T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T14:06:08Z"
+ },
+ "price": {
+ "amount": 2200,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,200 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£508 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 114391,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_49357_0001.png",
+ "contactTelephone": "020 3889 9166",
+ "branchDisplayName": "The Stow Brothers, Walthamstow & Leyton",
+ "branchName": "Walthamstow & Leyton",
+ "brandTradingName": "The Stow Brothers",
+ "branchLandingPageUrl": "/estate-agents/agent/The-Stow-Brothers/Walthamstow-and-Leyton-114391.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-13T13:11:56Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_49357_0001.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "797 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/87604779#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=87604779",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T14:00:35Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-11T11:59:03Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "New Build Development",
+ "htmlDescription": "New Build Development"
+ },
+ {
+ "order": 2,
+ "description": "Stylish Living",
+ "htmlDescription": "Stylish Living"
+ },
+ {
+ "order": 3,
+ "description": "Two Bedroom Apartment",
+ "htmlDescription": "Two Bedroom Apartment"
+ },
+ {
+ "order": 4,
+ "description": "Two Bathrooms",
+ "htmlDescription": "Two Bathrooms"
+ },
+ {
+ "order": 5,
+ "description": "Large Living Space",
+ "htmlDescription": "Large Living Space"
+ },
+ {
+ "order": 6,
+ "description": "Set Back from the Main Road",
+ "htmlDescription": "Set Back from the Main Road"
+ },
+ {
+ "order": 7,
+ "description": "Private Balcony",
+ "htmlDescription": "Private Balcony"
+ },
+ {
+ "order": 8,
+ "description": "Communal Roof Terrace",
+ "htmlDescription": "Communal Roof Terrace"
+ },
+ {
+ "order": 9,
+ "description": "Good Transport Links",
+ "htmlDescription": "Good Transport Links"
+ },
+ {
+ "order": 10,
+ "description": "A Plethora of Amenities on Your Doorstep",
+ "htmlDescription": "A Plethora of Amenities on Your Doorstep"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19_max_476x317.jpeg",
+ "url": "property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/930b24066/87604779/930b24066f8d0d23e4efa2ffaa48bfab_max_476x317.jpeg",
+ "url": "property-photo/930b24066/87604779/930b24066f8d0d23e4efa2ffaa48bfab.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/70996fad1/87604779/70996fad1182872a0fd3c67219015311_max_476x317.jpeg",
+ "url": "property-photo/70996fad1/87604779/70996fad1182872a0fd3c67219015311.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d23b25e4b/87604779/d23b25e4b71fba9dc0e27cabf6840c1f_max_476x317.jpeg",
+ "url": "property-photo/d23b25e4b/87604779/d23b25e4b71fba9dc0e27cabf6840c1f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b44970ef1/87604779/b44970ef10e385c81a34a56994191ec0_max_476x317.jpeg",
+ "url": "property-photo/b44970ef1/87604779/b44970ef10e385c81a34a56994191ec0.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a460f3d9/87604779/3a460f3d96fd39757556e1a89bd040fc_max_476x317.jpeg",
+ "url": "property-photo/3a460f3d9/87604779/3a460f3d96fd39757556e1a89bd040fc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f24f17e6/87604779/3f24f17e6f2f26d8d4ebe1861fa045da_max_476x317.jpeg",
+ "url": "property-photo/3f24f17e6/87604779/3f24f17e6f2f26d8d4ebe1861fa045da.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/63658d6f3/87604779/63658d6f3b4811232ecf07213b88aed6_max_476x317.jpeg",
+ "url": "property-photo/63658d6f3/87604779/63658d6f3b4811232ecf07213b88aed6.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3bd10cd20/87604779/3bd10cd2073eb55d7f408275f66a901a_max_476x317.jpeg",
+ "url": "property-photo/3bd10cd20/87604779/3bd10cd2073eb55d7f408275f66a901a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/79a4dedaf/87604779/79a4dedaf37533ce958d5047943b0761_max_476x317.jpeg",
+ "url": "property-photo/79a4dedaf/87604779/79a4dedaf37533ce958d5047943b0761.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e676f5425/87604779/e676f5425cc36833306840ccd2aabafd_max_476x317.jpeg",
+ "url": "property-photo/e676f5425/87604779/e676f5425cc36833306840ccd2aabafd.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/e25471aef/87604779/e25471aeff811bb1b028ba18ae19258e_max_476x317.jpeg",
+ "url": "property-photo/e25471aef/87604779/e25471aeff811bb1b028ba18ae19258e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5dd51847b/87604779/5dd51847b80aad9f787bb8f6826e3df4_max_476x317.jpeg",
+ "url": "property-photo/5dd51847b/87604779/5dd51847b80aad9f787bb8f6826e3df4.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a29651a08/87604779/a29651a08e854ae21c27be711a863aef_max_476x317.jpeg",
+ "url": "property-photo/a29651a08/87604779/a29651a08e854ae21c27be711a863aef.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8a0d35f0b/87604779/8a0d35f0b6c28a58de997f49a129c223_max_476x317.jpeg",
+ "url": "property-photo/8a0d35f0b/87604779/8a0d35f0b6c28a58de997f49a129c223.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3065d796d/87604779/3065d796d603f5cb2e06d6dd53acc45b_max_476x317.jpeg",
+ "url": "property-photo/3065d796d/87604779/3065d796d603f5cb2e06d6dd53acc45b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5a259883b/87604779/5a259883bf0d09779bf505e6b905a85e_max_476x317.jpeg",
+ "url": "property-photo/5a259883b/87604779/5a259883bf0d09779bf505e6b905a85e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5c7bdbd54/87604779/5c7bdbd54eed2c32095c0cb7d985cafe_max_476x317.jpeg",
+ "url": "property-photo/5c7bdbd54/87604779/5c7bdbd54eed2c32095c0cb7d985cafe.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b802124ed/87604779/b802124ede6e1a06ea0e207a9d2a5086_max_476x317.jpeg",
+ "url": "property-photo/b802124ed/87604779/b802124ede6e1a06ea0e207a9d2a5086.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/787687842/87604779/78768784272d3535c8eb981302d79c06_max_476x317.jpeg",
+ "url": "property-photo/787687842/87604779/78768784272d3535c8eb981302d79c06.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f71fd84f3/87604779/f71fd84f32d88b1743cbd44a9747b776_max_476x317.jpeg",
+ "url": "property-photo/f71fd84f3/87604779/f71fd84f32d88b1743cbd44a9747b776.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8041c4309/87604779/8041c4309f36b8adf11e13cfd502bd13_max_476x317.jpeg",
+ "url": "property-photo/8041c4309/87604779/8041c4309f36b8adf11e13cfd502bd13.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a5ed695cb/87604779/a5ed695cb7457b1267cc5a0ade012a0a_max_476x317.jpeg",
+ "url": "property-photo/a5ed695cb/87604779/a5ed695cb7457b1267cc5a0ade012a0a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/108726bd6/87604779/108726bd6e6db5c810fca2bca78354ad_max_476x317.jpeg",
+ "url": "property-photo/108726bd6/87604779/108726bd6e6db5c810fca2bca78354ad.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f16cbf223/87604779/f16cbf2230077646f643f0c6a5cd964b_max_476x317.jpeg",
+ "url": "property-photo/f16cbf223/87604779/f16cbf2230077646f643f0c6a5cd964b.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3a6711709/87604779/3a67117092e8396e3a0bbba641d70f75_max_476x317.jpeg",
+ "url": "property-photo/3a6711709/87604779/3a67117092e8396e3a0bbba641d70f75.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/fa1184f73/87604779/fa1184f73c0454dbd79c4793147d39ee_max_476x317.jpeg",
+ "url": "property-photo/fa1184f73/87604779/fa1184f73c0454dbd79c4793147d39ee.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9c78427f7/87604779/9c78427f7fa5ba9fb7eb360585fe89fb_max_476x317.jpeg",
+ "url": "property-photo/9c78427f7/87604779/9c78427f7fa5ba9fb7eb360585fe89fb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/cafc839fd/87604779/cafc839fdb5208c8150654c1b1d54a80_max_476x317.jpeg",
+ "url": "property-photo/cafc839fd/87604779/cafc839fdb5208c8150654c1b1d54a80.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d4910c/87604779/032d4910ceacbb1122a7884d6a953a19_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by The Stow Brothers, Walthamstow & Leyton",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom apartment",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 171498221,
+ "bedrooms": 3,
+ "bathrooms": 2,
+ "numberOfImages": 21,
+ "numberOfFloorplans": 1,
+ "numberOfVirtualTours": 0,
+ "summary": "*AVAILABLE FOR A FAMILY OR 2 SHARERS* Located just a 10 minute walk to Wood Street Station is this 3 bedroom house on Fulbourne Road. On the ground floor you will find two reception rooms, one for a living room and the second one as a dining room, kitchen and three piece bathroom....",
+ "displayAddress": "Fulbourne Road, Walthamstow, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.592428,
+ "longitude": -0.005282
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430_max_476x317.jpeg",
+ "url": "property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430.jpeg",
+ "caption": "Picture No. 39"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3392483d1/171498221/3392483d1c45f66069c82110ed4b28bc_max_476x317.jpeg",
+ "url": "property-photo/3392483d1/171498221/3392483d1c45f66069c82110ed4b28bc.jpeg",
+ "caption": "Picture No. 42"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/360932dc2/171498221/360932dc25e23ffd95dc31a59ab6a6eb_max_476x317.jpeg",
+ "url": "property-photo/360932dc2/171498221/360932dc25e23ffd95dc31a59ab6a6eb.jpeg",
+ "caption": "Picture No. 41"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/df0564a5d/171498221/df0564a5d76712ad87cf02b06f42d9f4_max_476x317.jpeg",
+ "url": "property-photo/df0564a5d/171498221/df0564a5d76712ad87cf02b06f42d9f4.jpeg",
+ "caption": "Picture No. 43"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ca7b6697/171498221/9ca7b6697d0fc23dcdfdf4cb6d16c99f_max_476x317.jpeg",
+ "url": "property-photo/9ca7b6697/171498221/9ca7b6697d0fc23dcdfdf4cb6d16c99f.jpeg",
+ "caption": "Picture No. 45"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6019794d6/171498221/6019794d620caf93975cb2ed9281a3c2_max_476x317.jpeg",
+ "url": "property-photo/6019794d6/171498221/6019794d620caf93975cb2ed9281a3c2.jpeg",
+ "caption": "Picture No. 44"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d13c29/171498221/032d13c290ce2f6d3201ade0dbb21547_max_476x317.jpeg",
+ "url": "property-photo/032d13c29/171498221/032d13c290ce2f6d3201ade0dbb21547.jpeg",
+ "caption": "Picture No. 46"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/51372f935/171498221/51372f9351d42920c5c5ede504fdaab4_max_476x317.jpeg",
+ "url": "property-photo/51372f935/171498221/51372f9351d42920c5c5ede504fdaab4.jpeg",
+ "caption": "Picture No. 47"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d2b27ef60/171498221/d2b27ef604b206236842548a689a8c7d_max_476x317.jpeg",
+ "url": "property-photo/d2b27ef60/171498221/d2b27ef604b206236842548a689a8c7d.jpeg",
+ "caption": "Picture No. 48"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b67c6306/171498221/6b67c630636e96bbb4983209bd9ac1ad_max_476x317.jpeg",
+ "url": "property-photo/6b67c6306/171498221/6b67c630636e96bbb4983209bd9ac1ad.jpeg",
+ "caption": "Picture No. 49"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac5ff7291/171498221/ac5ff7291fb742e579c527c6cbf8d7b7_max_476x317.jpeg",
+ "url": "property-photo/ac5ff7291/171498221/ac5ff7291fb742e579c527c6cbf8d7b7.jpeg",
+ "caption": "Picture No. 56"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/637cdfc5c/171498221/637cdfc5ce1a14e7bbfaecf07f5c22a6_max_476x317.jpeg",
+ "url": "property-photo/637cdfc5c/171498221/637cdfc5ce1a14e7bbfaecf07f5c22a6.jpeg",
+ "caption": "Picture No. 55"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f3d8515f6/171498221/f3d8515f628de5dd72dfd77d31784b1b_max_476x317.jpeg",
+ "url": "property-photo/f3d8515f6/171498221/f3d8515f628de5dd72dfd77d31784b1b.jpeg",
+ "caption": "Picture No. 52"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00dd0e57a/171498221/00dd0e57a1aae4143b52c18582af7de0_max_476x317.jpeg",
+ "url": "property-photo/00dd0e57a/171498221/00dd0e57a1aae4143b52c18582af7de0.jpeg",
+ "caption": "Picture No. 53"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25cea2145/171498221/25cea214538290451ad3dd35edfa9eec_max_476x317.jpeg",
+ "url": "property-photo/25cea2145/171498221/25cea214538290451ad3dd35edfa9eec.jpeg",
+ "caption": "Picture No. 50"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ab5be80c/171498221/7ab5be80cad3761717daa90d472630da_max_476x317.jpeg",
+ "url": "property-photo/7ab5be80c/171498221/7ab5be80cad3761717daa90d472630da.jpeg",
+ "caption": "Picture No. 51"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bdc0cd507/171498221/bdc0cd507b18531b64af92d63159b567_max_476x317.jpeg",
+ "url": "property-photo/bdc0cd507/171498221/bdc0cd507b18531b64af92d63159b567.jpeg",
+ "caption": "Picture No. 54"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c87514a1/171498221/6c87514a1d5804987691725fbec1e652_max_476x317.jpeg",
+ "url": "property-photo/6c87514a1/171498221/6c87514a1d5804987691725fbec1e652.jpeg",
+ "caption": "Picture No. 58"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8bb9687ae/171498221/8bb9687ae4b88e5e2317b4e7362521d6_max_476x317.jpeg",
+ "url": "property-photo/8bb9687ae/171498221/8bb9687ae4b88e5e2317b4e7362521d6.jpeg",
+ "caption": "Picture No. 59"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/778b99af3/171498221/778b99af365a30601b6d24ba66886479_max_476x317.jpeg",
+ "url": "property-photo/778b99af3/171498221/778b99af365a30601b6d24ba66886479.jpeg",
+ "caption": "Picture No. 60"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/547ceda6b/171498221/547ceda6bc67d8a3d5e1b020384607f1_max_476x317.jpeg",
+ "url": "property-photo/547ceda6b/171498221/547ceda6bc67d8a3d5e1b020384607f1.jpeg",
+ "caption": "Picture No. 61"
+ }
+ ],
+ "propertySubType": "Terraced",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-02-28T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "price_reduced",
+ "listingUpdateDate": "2026-02-10T13:53:20Z"
+ },
+ "price": {
+ "amount": 2100,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,100 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£485 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 6323,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_1992_0002.png",
+ "contactTelephone": "020 3909 6714",
+ "branchDisplayName": "Central Estate Agents, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Central Estate Agents",
+ "branchLandingPageUrl": "/estate-agents/agent/Central-Estate-Agents/Walthamstow-6323.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": false,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2026-01-16T17:08:08Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_1992_0002.png",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/171498221#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=171498221",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-01-27T14:26:01Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T21:40:30Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Terraced House",
+ "htmlDescription": "Terraced House"
+ },
+ {
+ "order": 2,
+ "description": "2 Double bedrooms / 1 smaller double bedroom",
+ "htmlDescription": "2 Double bedrooms / 1 smaller double bedroom"
+ },
+ {
+ "order": 3,
+ "description": "2 Reception rooms",
+ "htmlDescription": "2 Reception rooms"
+ },
+ {
+ "order": 4,
+ "description": "2 Bathrooms",
+ "htmlDescription": "2 Bathrooms"
+ },
+ {
+ "order": 5,
+ "description": "Kitchen",
+ "htmlDescription": "Kitchen"
+ },
+ {
+ "order": 6,
+ "description": "Private garden",
+ "htmlDescription": "Private garden"
+ },
+ {
+ "order": 7,
+ "description": "Unfurnished",
+ "htmlDescription": "Unfurnished"
+ },
+ {
+ "order": 8,
+ "description": "10 minutes walk to Wood Street Station",
+ "htmlDescription": "10 minutes walk to Wood Street Station"
+ },
+ {
+ "order": 9,
+ "description": "Available February",
+ "htmlDescription": "Available February"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430_max_476x317.jpeg",
+ "url": "property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430.jpeg",
+ "caption": "Picture No. 39"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3392483d1/171498221/3392483d1c45f66069c82110ed4b28bc_max_476x317.jpeg",
+ "url": "property-photo/3392483d1/171498221/3392483d1c45f66069c82110ed4b28bc.jpeg",
+ "caption": "Picture No. 42"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/360932dc2/171498221/360932dc25e23ffd95dc31a59ab6a6eb_max_476x317.jpeg",
+ "url": "property-photo/360932dc2/171498221/360932dc25e23ffd95dc31a59ab6a6eb.jpeg",
+ "caption": "Picture No. 41"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/df0564a5d/171498221/df0564a5d76712ad87cf02b06f42d9f4_max_476x317.jpeg",
+ "url": "property-photo/df0564a5d/171498221/df0564a5d76712ad87cf02b06f42d9f4.jpeg",
+ "caption": "Picture No. 43"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9ca7b6697/171498221/9ca7b6697d0fc23dcdfdf4cb6d16c99f_max_476x317.jpeg",
+ "url": "property-photo/9ca7b6697/171498221/9ca7b6697d0fc23dcdfdf4cb6d16c99f.jpeg",
+ "caption": "Picture No. 45"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6019794d6/171498221/6019794d620caf93975cb2ed9281a3c2_max_476x317.jpeg",
+ "url": "property-photo/6019794d6/171498221/6019794d620caf93975cb2ed9281a3c2.jpeg",
+ "caption": "Picture No. 44"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/032d13c29/171498221/032d13c290ce2f6d3201ade0dbb21547_max_476x317.jpeg",
+ "url": "property-photo/032d13c29/171498221/032d13c290ce2f6d3201ade0dbb21547.jpeg",
+ "caption": "Picture No. 46"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/51372f935/171498221/51372f9351d42920c5c5ede504fdaab4_max_476x317.jpeg",
+ "url": "property-photo/51372f935/171498221/51372f9351d42920c5c5ede504fdaab4.jpeg",
+ "caption": "Picture No. 47"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/d2b27ef60/171498221/d2b27ef604b206236842548a689a8c7d_max_476x317.jpeg",
+ "url": "property-photo/d2b27ef60/171498221/d2b27ef604b206236842548a689a8c7d.jpeg",
+ "caption": "Picture No. 48"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6b67c6306/171498221/6b67c630636e96bbb4983209bd9ac1ad_max_476x317.jpeg",
+ "url": "property-photo/6b67c6306/171498221/6b67c630636e96bbb4983209bd9ac1ad.jpeg",
+ "caption": "Picture No. 49"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ac5ff7291/171498221/ac5ff7291fb742e579c527c6cbf8d7b7_max_476x317.jpeg",
+ "url": "property-photo/ac5ff7291/171498221/ac5ff7291fb742e579c527c6cbf8d7b7.jpeg",
+ "caption": "Picture No. 56"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/637cdfc5c/171498221/637cdfc5ce1a14e7bbfaecf07f5c22a6_max_476x317.jpeg",
+ "url": "property-photo/637cdfc5c/171498221/637cdfc5ce1a14e7bbfaecf07f5c22a6.jpeg",
+ "caption": "Picture No. 55"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f3d8515f6/171498221/f3d8515f628de5dd72dfd77d31784b1b_max_476x317.jpeg",
+ "url": "property-photo/f3d8515f6/171498221/f3d8515f628de5dd72dfd77d31784b1b.jpeg",
+ "caption": "Picture No. 52"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/00dd0e57a/171498221/00dd0e57a1aae4143b52c18582af7de0_max_476x317.jpeg",
+ "url": "property-photo/00dd0e57a/171498221/00dd0e57a1aae4143b52c18582af7de0.jpeg",
+ "caption": "Picture No. 53"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/25cea2145/171498221/25cea214538290451ad3dd35edfa9eec_max_476x317.jpeg",
+ "url": "property-photo/25cea2145/171498221/25cea214538290451ad3dd35edfa9eec.jpeg",
+ "caption": "Picture No. 50"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7ab5be80c/171498221/7ab5be80cad3761717daa90d472630da_max_476x317.jpeg",
+ "url": "property-photo/7ab5be80c/171498221/7ab5be80cad3761717daa90d472630da.jpeg",
+ "caption": "Picture No. 51"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bdc0cd507/171498221/bdc0cd507b18531b64af92d63159b567_max_476x317.jpeg",
+ "url": "property-photo/bdc0cd507/171498221/bdc0cd507b18531b64af92d63159b567.jpeg",
+ "caption": "Picture No. 54"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6c87514a1/171498221/6c87514a1d5804987691725fbec1e652_max_476x317.jpeg",
+ "url": "property-photo/6c87514a1/171498221/6c87514a1d5804987691725fbec1e652.jpeg",
+ "caption": "Picture No. 58"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8bb9687ae/171498221/8bb9687ae4b88e5e2317b4e7362521d6_max_476x317.jpeg",
+ "url": "property-photo/8bb9687ae/171498221/8bb9687ae4b88e5e2317b4e7362521d6.jpeg",
+ "caption": "Picture No. 59"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/778b99af3/171498221/778b99af365a30601b6d24ba66886479_max_476x317.jpeg",
+ "url": "property-photo/778b99af3/171498221/778b99af365a30601b6d24ba66886479.jpeg",
+ "caption": "Picture No. 60"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/547ceda6b/171498221/547ceda6bc67d8a3d5e1b020384607f1_max_476x317.jpeg",
+ "url": "property-photo/547ceda6b/171498221/547ceda6bc67d8a3d5e1b020384607f1.jpeg",
+ "caption": "Picture No. 61"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/3f319146f/171498221/3f319146ff0db47da686ba0406cb9430_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Central Estate Agents, Walthamstow",
+ "addedOrReduced": "Added on 27/01/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "3 bedroom terraced house",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 70921937,
+ "bedrooms": 0,
+ "bathrooms": null,
+ "numberOfImages": 5,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "Eastway Property Services are proud to offer this small first floor self contained studio flat located close to all amenities on High Street Walthamstow. Situated a ten minute walk to Walthamstow Central Station and footsteps away from the market. Ideal for a single person. ",
+ "displayAddress": "High Street, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.58268,
+ "longitude": -0.02957
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8_max_476x317.jpeg",
+ "url": "property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/031c23841/70921937/031c238416297e63dcc2c47267fce820_max_476x317.jpeg",
+ "url": "property-photo/031c23841/70921937/031c238416297e63dcc2c47267fce820.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ca49b3664/70921937/ca49b366407a36cc10fadd781002e601_max_476x317.jpeg",
+ "url": "property-photo/ca49b3664/70921937/ca49b366407a36cc10fadd781002e601.jpeg",
+ "caption": "Shower/WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b286f3410/70921937/b286f34105906748c4ea540c149f05e1_max_476x317.jpeg",
+ "url": "property-photo/b286f3410/70921937/b286f34105906748c4ea540c149f05e1.jpeg",
+ "caption": "Shower/WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db6d09ac5/70921937/db6d09ac5a14976074b929fe7eacc246_max_476x317.jpeg",
+ "url": "property-photo/db6d09ac5/70921937/db6d09ac5a14976074b929fe7eacc246.jpeg",
+ "caption": "Studio"
+ }
+ ],
+ "propertySubType": "Studio",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-08T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T13:49:01Z"
+ },
+ "price": {
+ "amount": 900,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£900 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£208 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 56722,
+ "brandPlusLogoURI": "/company/clogo_22345_0003.jpeg",
+ "contactTelephone": "020 3835 5302",
+ "branchDisplayName": "Eastway Property Services, London",
+ "branchName": "London",
+ "brandTradingName": "Eastway Property Services",
+ "branchLandingPageUrl": "/estate-agents/agent/Eastway-Property-Services/London-56722.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-11-19T09:42:29Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_22345_0003.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": true,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": null,
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/70921937#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=70921937",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2018-01-10T12:31:38Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-10T13:50:48Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Minutes walk to Walthamstow Central",
+ "htmlDescription": "Minutes walk to Walthamstow Central"
+ },
+ {
+ "order": 2,
+ "description": "Laminate flooring",
+ "htmlDescription": "Laminate flooring"
+ },
+ {
+ "order": 3,
+ "description": "Self contained",
+ "htmlDescription": "Self contained"
+ },
+ {
+ "order": 4,
+ "description": "White goods",
+ "htmlDescription": "White goods"
+ },
+ {
+ "order": 5,
+ "description": "Close to all amenities",
+ "htmlDescription": "Close to all amenities"
+ },
+ {
+ "order": 6,
+ "description": "Footsteps away from Walthamstow Market",
+ "htmlDescription": "Footsteps away from Walthamstow Market"
+ },
+ {
+ "order": 7,
+ "description": "Fully tiled shower room",
+ "htmlDescription": "Fully tiled shower room"
+ },
+ {
+ "order": 8,
+ "description": "Ideal for single person",
+ "htmlDescription": "Ideal for single person"
+ },
+ {
+ "order": 9,
+ "description": "Double glazed",
+ "htmlDescription": "Double glazed"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8_max_476x317.jpeg",
+ "url": "property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8.jpeg",
+ "caption": "Bedroom"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/031c23841/70921937/031c238416297e63dcc2c47267fce820_max_476x317.jpeg",
+ "url": "property-photo/031c23841/70921937/031c238416297e63dcc2c47267fce820.jpeg",
+ "caption": "Kitchen"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ca49b3664/70921937/ca49b366407a36cc10fadd781002e601_max_476x317.jpeg",
+ "url": "property-photo/ca49b3664/70921937/ca49b366407a36cc10fadd781002e601.jpeg",
+ "caption": "Shower/WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/b286f3410/70921937/b286f34105906748c4ea540c149f05e1_max_476x317.jpeg",
+ "url": "property-photo/b286f3410/70921937/b286f34105906748c4ea540c149f05e1.jpeg",
+ "caption": "Shower/WC"
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/db6d09ac5/70921937/db6d09ac5a14976074b929fe7eacc246_max_476x317.jpeg",
+ "url": "property-photo/db6d09ac5/70921937/db6d09ac5a14976074b929fe7eacc246.jpeg",
+ "caption": "Studio"
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/852160f82/70921937/852160f8215c4a970d1dc1d77b320bc8_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Eastway Property Services, London",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "Studio flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 87599340,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 6,
+ "numberOfFloorplans": 2,
+ "numberOfVirtualTours": 0,
+ "summary": "ZERO DEPOSIT AVAILABLE. LONG LET. A superb 2 bedroom apartment set on the first floor of a charming period conversion, boasting light filled living and entertaining space with contemporary fixtures and access to a charming rear garden.",
+ "displayAddress": "Chingford Road, Walthamstow, London, E17",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.596973,
+ "longitude": -0.015873
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb_max_476x317.jpeg",
+ "url": "property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6a1edbf7b/87599340/6a1edbf7bc49382a98c17c9bd9c4430e_max_476x317.jpeg",
+ "url": "property-photo/6a1edbf7b/87599340/6a1edbf7bc49382a98c17c9bd9c4430e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2743cf495/87599340/2743cf49553c97161e2e7fa29b7f599a_max_476x317.jpeg",
+ "url": "property-photo/2743cf495/87599340/2743cf49553c97161e2e7fa29b7f599a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ad8bcd5fc/87599340/ad8bcd5fc61a41c5111c865a415747a9_max_476x317.jpeg",
+ "url": "property-photo/ad8bcd5fc/87599340/ad8bcd5fc61a41c5111c865a415747a9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c09dfc5d4/87599340/c09dfc5d417014718c4debc482a6af2a_max_476x317.jpeg",
+ "url": "property-photo/c09dfc5d4/87599340/c09dfc5d417014718c4debc482a6af2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33c6a0db7/87599340/33c6a0db7482487740470262d70387b6_max_476x317.jpeg",
+ "url": "property-photo/33c6a0db7/87599340/33c6a0db7482487740470262d70387b6.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Maisonette",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": null,
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T12:56:06Z"
+ },
+ "price": {
+ "amount": 2100,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£2,100 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£485 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 137369,
+ "brandPlusLogoURI": "/brand/brand_rmchoice_logo_6585_0000.jpeg",
+ "contactTelephone": "020 3840 3515",
+ "branchDisplayName": "Foxtons, Walthamstow",
+ "branchName": "Walthamstow",
+ "brandTradingName": "Foxtons",
+ "branchLandingPageUrl": "/estate-agents/agent/Foxtons/Walthamstow-137369.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-12-19T13:57:12Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/brand/brand_rmchoice_logo_6585_0000.jpeg",
+ "primaryBrandColour": "#017163"
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Deposit: £2,424
Other fees Contract variation, novation, amendment or change of occupant at the tenant's request within an existing tenancy: £50.
Default fee of interest on late rent: 3% above Bank of England base rate applicable if rent is more than 14 days overdue.
Default fee for lost keys or other respective security devices: actual cost of replacement.
Fees for non-Assured Shorthold Tenancies / non-Licences Tenant fee: £250 per person.
This is fixed-cost fee that can cover a variety of works depending on the individual circumstances of each tenancy,including but not limited to conducting viewings, negotiating the tenancy, verifying references, undertaking Right to Rentchecks (if applicable) and drawing up contracts. It is charged on a per individual basis - not per tenancy. The charge will not exceed £250 inc VAT per individual and will only be applied to the first four individuals entering into the tenancy wherethere are more than four individuals taking occupation of the property. The charge will not exceed this sum unless yourequest or cause one of the specific additional services or fees set out elsewhere in this document.
Tenant protection Foxtons' Client Money Protection Scheme is provided by Propertymark. Foxtons is a member of The Property Ombudsman Redress Scheme and subject to its codes of practice and redress scheme.
",
+ "displaySize": "925 sq. ft.",
+ "showOnMap": true,
+ "propertyUrl": "/properties/87599340#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=87599340",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T12:50:43Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T07:01:44Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "A beautifully presented 2 bedroom flat",
+ "htmlDescription": "A beautifully presented 2 bedroom flat"
+ },
+ {
+ "order": 2,
+ "description": "Located on the first floor with private entrance",
+ "htmlDescription": "Located on the first floor with private entrance"
+ },
+ {
+ "order": 3,
+ "description": "Large reception room flooded with natural light",
+ "htmlDescription": "Large reception room flooded with natural light"
+ },
+ {
+ "order": 4,
+ "description": "Offering space to dine and entertain",
+ "htmlDescription": "Offering space to dine and entertain"
+ },
+ {
+ "order": 5,
+ "description": "Fully fitted kitchen with stairs leading to a ground floor garden",
+ "htmlDescription": "Fully fitted kitchen with stairs leading to a ground floor garden"
+ },
+ {
+ "order": 6,
+ "description": "2 well proportioned bedrooms with storage space",
+ "htmlDescription": "2 well proportioned bedrooms with storage space"
+ },
+ {
+ "order": 7,
+ "description": "Bathroom with white suite",
+ "htmlDescription": "Bathroom with white suite"
+ },
+ {
+ "order": 8,
+ "description": "Excellent location on the doorstep to amenities",
+ "htmlDescription": "Excellent location on the doorstep to amenities"
+ },
+ {
+ "order": 9,
+ "description": "Available with Zero Deposit",
+ "htmlDescription": "Available with Zero Deposit"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb_max_476x317.jpeg",
+ "url": "property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6a1edbf7b/87599340/6a1edbf7bc49382a98c17c9bd9c4430e_max_476x317.jpeg",
+ "url": "property-photo/6a1edbf7b/87599340/6a1edbf7bc49382a98c17c9bd9c4430e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2743cf495/87599340/2743cf49553c97161e2e7fa29b7f599a_max_476x317.jpeg",
+ "url": "property-photo/2743cf495/87599340/2743cf49553c97161e2e7fa29b7f599a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ad8bcd5fc/87599340/ad8bcd5fc61a41c5111c865a415747a9_max_476x317.jpeg",
+ "url": "property-photo/ad8bcd5fc/87599340/ad8bcd5fc61a41c5111c865a415747a9.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/c09dfc5d4/87599340/c09dfc5d417014718c4debc482a6af2a_max_476x317.jpeg",
+ "url": "property-photo/c09dfc5d4/87599340/c09dfc5d417014718c4debc482a6af2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/33c6a0db7/87599340/33c6a0db7482487740470262d70387b6_max_476x317.jpeg",
+ "url": "property-photo/33c6a0db7/87599340/33c6a0db7482487740470262d70387b6.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/2dfdc4d7c/87599340/2dfdc4d7c246125d3047dd37e5b3c8fb_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Foxtons, Walthamstow",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom maisonette",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ },
+ {
+ "id": 87598815,
+ "bedrooms": 2,
+ "bathrooms": 1,
+ "numberOfImages": 17,
+ "numberOfFloorplans": 0,
+ "numberOfVirtualTours": 0,
+ "summary": "A well-proportioned two bedroom flat set within Hainault Court on Forest Rise, offering bright accommodation with high ceilings and large windows. Conveniently located close to local amenities and Wood Street Station, with easy access to Hollow Ponds and surrounding green spaces.",
+ "displayAddress": "Hainault Court, Forest Rise, London, E17 ",
+ "countryCode": "GB",
+ "location": {
+ "latitude": 51.58354,
+ "longitude": 0.00439
+ },
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc_max_476x317.jpeg",
+ "url": "property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4e9ec759c/87598815/4e9ec759c253fea3e1c8d3b6da1c93c5_max_476x317.jpeg",
+ "url": "property-photo/4e9ec759c/87598815/4e9ec759c253fea3e1c8d3b6da1c93c5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/21ee86fe6/87598815/21ee86fe6f85f3b6efa412652ccac945_max_476x317.jpeg",
+ "url": "property-photo/21ee86fe6/87598815/21ee86fe6f85f3b6efa412652ccac945.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62e71570d/87598815/62e71570de7839718bb39c8e6f0fb2ce_max_476x317.jpeg",
+ "url": "property-photo/62e71570d/87598815/62e71570de7839718bb39c8e6f0fb2ce.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f5587950/87598815/6f5587950419d33518ab20ee538d9dcc_max_476x317.jpeg",
+ "url": "property-photo/6f5587950/87598815/6f5587950419d33518ab20ee538d9dcc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/588f17001/87598815/588f170011b050e34b2297aa84b772a7_max_476x317.jpeg",
+ "url": "property-photo/588f17001/87598815/588f170011b050e34b2297aa84b772a7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f_max_476x317.jpeg",
+ "url": "property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f_max_476x317.jpeg",
+ "url": "property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a43770332/87598815/a43770332b8271a503d5fc75f1d698cb_max_476x317.jpeg",
+ "url": "property-photo/a43770332/87598815/a43770332b8271a503d5fc75f1d698cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f47a2082f/87598815/f47a2082f118e654acf5d56709a64d2a_max_476x317.jpeg",
+ "url": "property-photo/f47a2082f/87598815/f47a2082f118e654acf5d56709a64d2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/806fa40c9/87598815/806fa40c983f09881dc6ab4f9582b42f_max_476x317.jpeg",
+ "url": "property-photo/806fa40c9/87598815/806fa40c983f09881dc6ab4f9582b42f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/04b1878a6/87598815/04b1878a6fd0ef580af9e03e9627099a_max_476x317.jpeg",
+ "url": "property-photo/04b1878a6/87598815/04b1878a6fd0ef580af9e03e9627099a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450_max_476x317.jpeg",
+ "url": "property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450_max_476x317.jpeg",
+ "url": "property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee8aa92d2/87598815/ee8aa92d2200634e4ac6257b5bc6761a_max_476x317.jpeg",
+ "url": "property-photo/ee8aa92d2/87598815/ee8aa92d2200634e4ac6257b5bc6761a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfdd07a5d/87598815/bfdd07a5dcd54fd41e692ad2c8d6636e_max_476x317.jpeg",
+ "url": "property-photo/bfdd07a5d/87598815/bfdd07a5dcd54fd41e692ad2c8d6636e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/243bde4df/87598815/243bde4df6b09bbf54d4b4c14942d7ab_max_476x317.jpeg",
+ "url": "property-photo/243bde4df/87598815/243bde4df6b09bbf54d4b4c14942d7ab.jpeg",
+ "caption": null
+ }
+ ],
+ "propertySubType": "Flat",
+ "tenure": {
+ "tenureType": null
+ },
+ "letAvailableDate": "2026-03-08T00:00:00Z",
+ "listingUpdate": {
+ "listingUpdateReason": "new",
+ "listingUpdateDate": "2026-02-10T12:51:04Z"
+ },
+ "price": {
+ "amount": 1525,
+ "frequency": "monthly",
+ "currencyCode": "GBP",
+ "displayPrices": [
+ {
+ "displayPrice": "£1,525 pcm",
+ "displayPriceQualifier": ""
+ },
+ {
+ "displayPrice": "£352 pw",
+ "displayPriceQualifier": ""
+ }
+ ]
+ },
+ "premiumListing": false,
+ "featuredProperty": false,
+ "commercialSearchProminenceSelected": false,
+ "customer": {
+ "branchId": 98603,
+ "brandPlusLogoURI": "/company/clogo_rmchoice_37811_0007.jpeg",
+ "contactTelephone": "020 3910 6361",
+ "branchDisplayName": "Leo Newman, London",
+ "branchName": "London",
+ "brandTradingName": "Leo Newman",
+ "branchLandingPageUrl": "/estate-agents/agent/Leo-Newman/London-98603.html",
+ "development": false,
+ "mediaServerUrl": "https://media.rightmove.co.uk:443",
+ "showReducedProperties": true,
+ "hasBrandPlus": true,
+ "commercial": false,
+ "showOnMap": true,
+ "enhancedListing": false,
+ "developmentContent": null,
+ "buildToRent": false,
+ "buildToRentBenefits": [],
+ "updateDate": "2025-06-20T17:34:16Z",
+ "brandPlusLogoUrl": "https://media.rightmove.co.uk:443/company/clogo_rmchoice_37811_0007.jpeg",
+ "primaryBrandColour": null
+ },
+ "distance": null,
+ "transactionType": "rent",
+ "productLabel": {
+ "productLabelText": null,
+ "spotlightLabel": false
+ },
+ "commercial": false,
+ "development": false,
+ "residential": true,
+ "students": false,
+ "auction": false,
+ "feesApply": true,
+ "feesApplyText": "Permitted payments (All prices are inclusive of VAT)\n\nAs well as paying the rent Tenant s may also be required to make the following permitted payments.\n\nFor new Assured Shorthold Tenancies (AST s) signed on or after 1st June 2019 the following permitted payments will apply:\n\nBefore the Tenancy starts (payable to Leo Newman the Agent ):\nHolding Deposit of a maximum of 1 week s rent\nSecurity Deposit of 5 weeks rent, increasing to 6 weeks rent when the annual rent is in excess of £50,000\n\nDuring the Tenancy (payable to the Agent):\nChanges to the Tenancy Agreement as requested by the Tenant: Payment of £50.00 per change\n\nPayment of interest for the late payment of rent that is overdue by 14 days or more will be at a rate of 3% above the Bank of England base rate \n\nPayment for the reasonably incurred costs for the loss of keys/security devices\n\nPayment of any unpaid rent or other reasonable costs associated with the Tenant s request for early termination of the Tenancy Agreement\n\nRent and Utility bills as stated in the Tenancy Agreement\n\nTenant protection:\nW Lettings and Management Limited trading as Leo Newman is a member of Client Money Protect [CMP] which is a client money protection scheme provided by CM Protect Limited, and also a member of the Property Redress Scheme [PRS], a redress scheme, which is the trading name of HF Resolution Ltd.",
+ "displaySize": "",
+ "showOnMap": true,
+ "propertyUrl": "/properties/87598815#/?channel=RES_LET",
+ "contactUrl": "/property-to-rent/contactBranch.html?propertyId=87598815",
+ "staticMapUrl": null,
+ "channel": "RENT",
+ "firstVisibleDate": "2026-02-10T12:45:09Z",
+ "keywords": [],
+ "tags": [],
+ "keywordMatchType": "no_keyword",
+ "saved": false,
+ "hidden": false,
+ "onlineViewingsAvailable": false,
+ "lozengeModel": {
+ "matchingLozenges": []
+ },
+ "streetView": {
+ "showStreetView": true
+ },
+ "enquiredTimestamp": null,
+ "updateDate": "2026-02-13T08:20:03Z",
+ "enquiryAddedTimestamp": null,
+ "enquiryCalledTimestamp": null,
+ "reviews": null,
+ "keyFeatures": [
+ {
+ "order": 1,
+ "description": "Two bedroom flat arranged on the second floor",
+ "htmlDescription": "Two bedroom flat arranged on the second floor"
+ },
+ {
+ "order": 2,
+ "description": "Well-proportioned and practical layout",
+ "htmlDescription": "Well-proportioned and practical layout"
+ },
+ {
+ "order": 3,
+ "description": "Bright reception room with large windows",
+ "htmlDescription": "Bright reception room with large windows"
+ },
+ {
+ "order": 4,
+ "description": "Fitted kitchen with good storage and worktop space",
+ "htmlDescription": "Fitted kitchen with good storage and worktop space"
+ },
+ {
+ "order": 5,
+ "description": "Walkthrough Available",
+ "htmlDescription": "Walkthrough Available"
+ }
+ ],
+ "enhancedListing": false,
+ "propertyImages": {
+ "images": [
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc_max_476x317.jpeg",
+ "url": "property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4e9ec759c/87598815/4e9ec759c253fea3e1c8d3b6da1c93c5_max_476x317.jpeg",
+ "url": "property-photo/4e9ec759c/87598815/4e9ec759c253fea3e1c8d3b6da1c93c5.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/21ee86fe6/87598815/21ee86fe6f85f3b6efa412652ccac945_max_476x317.jpeg",
+ "url": "property-photo/21ee86fe6/87598815/21ee86fe6f85f3b6efa412652ccac945.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/62e71570d/87598815/62e71570de7839718bb39c8e6f0fb2ce_max_476x317.jpeg",
+ "url": "property-photo/62e71570d/87598815/62e71570de7839718bb39c8e6f0fb2ce.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/6f5587950/87598815/6f5587950419d33518ab20ee538d9dcc_max_476x317.jpeg",
+ "url": "property-photo/6f5587950/87598815/6f5587950419d33518ab20ee538d9dcc.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/588f17001/87598815/588f170011b050e34b2297aa84b772a7_max_476x317.jpeg",
+ "url": "property-photo/588f17001/87598815/588f170011b050e34b2297aa84b772a7.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f_max_476x317.jpeg",
+ "url": "property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f_max_476x317.jpeg",
+ "url": "property-photo/41ce2f7a9/87598815/41ce2f7a97cb148709c6aa302955992f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/a43770332/87598815/a43770332b8271a503d5fc75f1d698cb_max_476x317.jpeg",
+ "url": "property-photo/a43770332/87598815/a43770332b8271a503d5fc75f1d698cb.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f47a2082f/87598815/f47a2082f118e654acf5d56709a64d2a_max_476x317.jpeg",
+ "url": "property-photo/f47a2082f/87598815/f47a2082f118e654acf5d56709a64d2a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/806fa40c9/87598815/806fa40c983f09881dc6ab4f9582b42f_max_476x317.jpeg",
+ "url": "property-photo/806fa40c9/87598815/806fa40c983f09881dc6ab4f9582b42f.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/04b1878a6/87598815/04b1878a6fd0ef580af9e03e9627099a_max_476x317.jpeg",
+ "url": "property-photo/04b1878a6/87598815/04b1878a6fd0ef580af9e03e9627099a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450_max_476x317.jpeg",
+ "url": "property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450_max_476x317.jpeg",
+ "url": "property-photo/7e05e3d5b/87598815/7e05e3d5b92f3460a04bc1ca8bace450.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/ee8aa92d2/87598815/ee8aa92d2200634e4ac6257b5bc6761a_max_476x317.jpeg",
+ "url": "property-photo/ee8aa92d2/87598815/ee8aa92d2200634e4ac6257b5bc6761a.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/bfdd07a5d/87598815/bfdd07a5dcd54fd41e692ad2c8d6636e_max_476x317.jpeg",
+ "url": "property-photo/bfdd07a5d/87598815/bfdd07a5dcd54fd41e692ad2c8d6636e.jpeg",
+ "caption": null
+ },
+ {
+ "srcUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/243bde4df/87598815/243bde4df6b09bbf54d4b4c14942d7ab_max_476x317.jpeg",
+ "url": "property-photo/243bde4df/87598815/243bde4df6b09bbf54d4b4c14942d7ab.jpeg",
+ "caption": null
+ }
+ ],
+ "mainImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc_max_476x317.jpeg",
+ "mainMapImageSrc": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4ac78bdfe/87598815/4ac78bdfe83e068c530f92d4919120cc_max_296x197.jpeg"
+ },
+ "formattedBranchName": " by Leo Newman, London",
+ "addedOrReduced": "Added on 10/02/2026",
+ "formattedDistance": "",
+ "heading": "",
+ "propertyTypeFullDescription": "2 bedroom flat",
+ "displayStatus": "",
+ "isRecent": false,
+ "hasBrandPlus": true
+ }
+ ],
+ "resultCount": "229",
+ "searchParameters": {
+ "locationIdentifier": "OUTCODE^752",
+ "numberOfPropertiesPerPage": "24",
+ "radius": "0.0",
+ "sortType": "6",
+ "index": "48",
+ "propertyTypes": [],
+ "tenureTypes": [],
+ "viewType": "LIST",
+ "mustHave": [],
+ "dontShow": [],
+ "furnishTypes": [],
+ "channel": "RENT",
+ "areaSizeUnit": "sqft",
+ "currencyCode": "GBP",
+ "keywords": [],
+ "tags": []
+ },
+ "searchParametersDescription": "Properties To Rent in E17",
+ "sidebarModel": {
+ "soldHousePricesLinks": {
+ "heading": "Sold House Prices",
+ "subHeading": "What did properties sell for in E17?",
+ "model": [
+ {
+ "text": "View house prices in E17",
+ "url": "/house-prices/e17.html",
+ "noFollow": false
+ }
+ ],
+ "headingLink": null
+ },
+ "relatedHouseSearches": null,
+ "relatedFlatSearches": null,
+ "relatedPopularSearches": null,
+ "relatedRegionsSearches": null,
+ "relatedSuggestedSearches": {
+ "heading": "Suggested Links",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "Estate agents in E17",
+ "url": "/estate-agents/find.html?locationIdentifier=OUTCODE^752",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ },
+ "channelSwitchLink": {
+ "heading": "Channel Switch",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "See properties for sale in E17",
+ "url": "/property-for-sale/find.html?locationIdentifier=OUTCODE^752",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ },
+ "relatedStudentLinks": null,
+ "branchMPU": null,
+ "countryGuideMPU": null,
+ "suggestedLinks": {
+ "heading": "Suggested Links",
+ "subHeading": null,
+ "model": [
+ {
+ "text": "Estate agents in E17",
+ "url": "/estate-agents/find.html?locationIdentifier=OUTCODE^752",
+ "noFollow": true
+ }
+ ],
+ "headingLink": null
+ }
+ },
+ "keywordCount": 0,
+ "pageTitle": "Properties To Rent in E17 | Rightmove",
+ "metaDescription": "Flats & Houses To Rent in E17 - Find properties with Rightmove - the UK's largest selection of properties.",
+ "seoModel": {
+ "canonicalUrl": "https://www.rightmove.co.uk/property-to-rent/E17.html",
+ "metaRobots": ""
+ },
+ "timestamp": 1770978252969,
+ "urlPath": null,
+ "staticMapUrl": "https://media.rightmove.co.uk:443/map/_generate?width=360&height=380&polygonFillColor=%232E8E8914&polygonLineColor=%232E8E89FF&mapPolygon=qwyyH%7CqHvNf%7B%40OdBcA%7EI%60BvB%7CBhBz%40NbAMlEoDdDwAbJoDtEkCpDsBxD%7B%40hFiIfA%5Bf%40o%40n%40gBJsDd%40kBl%40s%40xGoDdCmGv%40yC%7DPaKmGoEbEeLc%40oDgMwh%40S_%40uBmAmGgCjAoBPoApCeFnBi%40fFwChHyMxIiFaAmCfB%7BBgEoP%7D%40yGkAw%40RcAc%40EGa%40e%40WyAaGHEM_A%5D%5BBw%40Wm%40n%40k%40k%40o%40e%40L%7B%40iD%3Fw%40K_%40OLOmA%7DCbCsBkK%5DmASJw%40uGo%40k%40IqBc%40AYcA%7B%40uBOiACg%40%60%40eABuAa%40e%40%5BaBf%40q%40gAiAR%60As%40%5EgAoCMHWWe%40iBm%40%5Co%40iDd%40%5DgAkF%7D%40l%40GgAMO%5BFy%40%7DCyAsRkEwLYSGs%40%7BCoI%7DDoJi%40aCWI%40QmKo%5Bp%40%7BDRcSuGtAoAoGMK%5DVc%40mA%7B%40qAcAwBGcBQ_%40yW%60B%7DB%60%40q%40IkBx%40iCVyPyAmVyA%3Fl%40vAdAoBtAo%40rCTfAUh%40aBrA%7EDdP%7BA%60BeAhMApGL%7CChBdByBbHFxBNJaAdH%5DRm%40tHeAQDxCi%40%5BBpDf%40h%40%40rAkBn%40g%40pJq%40%7B%40%7DAq%40kB%7EB%7BDn%40kFnGp%40%7ECMlAPdAjApAp%40YAfHtGILnG%7CI%5Cs%40tCFx%40PIVRg%40%7EFLIoA%60FaBvDaPj%5CaAjCrKtOqLxj%40%5D%40iE%7CEwI%7CGOF%7EId%5CdB%60DrPbLnG%7CF%7CKhLzNfTlClBtAj%40tC%5CpBpClAx%40tHr%40bChALo%40%60EFjBo%40p%40oCf%40gAb%40y%40zBnCrCm%40lHjA%60DsDrEBhAsCWsDj%40gBhA%5DvEhA&signature=Vcriw0W5qUeVvIwb1gP0KLqYdIA=",
+ "listViewUrl": "/property-to-rent/find.html?sortType=6&areaSizeUnit=sqft&viewType=LIST&channel=RENT&index=48&radius=0.0&locationIdentifier=OUTCODE%5E752",
+ "mapViewUrl": "/property-to-rent/map.html?sortType=6&areaSizeUnit=sqft&viewType=MAP&channel=RENT&index=48&radius=0.0&locationIdentifier=OUTCODE%5E752"
+}
diff --git a/frontend/src/components/home/HomeDemo.tsx b/frontend/src/components/home/HomeDemo.tsx
index f5aaad7..29ea107 100644
--- a/frontend/src/components/home/HomeDemo.tsx
+++ b/frontend/src/components/home/HomeDemo.tsx
@@ -1,7 +1,7 @@
import { useState, useEffect, useCallback, useRef, useMemo } from 'react';
import MapComponent from '../map/Map';
import { Slider } from '../ui/Slider';
-import { apiUrl, authHeaders, logNonAbortError } from '../../lib/api';
+import { apiUrl, assertOk, authHeaders, logNonAbortError } from '../../lib/api';
import { formatValue } from '../../lib/format';
import { FEATURE_GRADIENT, DENSITY_GRADIENT, DENSITY_GRADIENT_DARK } from '../../lib/consts';
import { gradientToCss } from '../../lib/utils';
@@ -88,7 +88,10 @@ export default function HomeDemo({ features, theme }: HomeDemoProps) {
abortRef.current = new AbortController();
setFetching(true);
fetch(apiUrl('hexagons', params), authHeaders({ signal: abortRef.current.signal }))
- .then((res) => res.json())
+ .then((res) => {
+ assertOk(res, 'hexagons');
+ return res.json();
+ })
.then((data: { features: HexagonData[] }) => {
setHexData(data.features);
setLoading(false);
@@ -142,7 +145,10 @@ export default function HomeDemo({ features, theme }: HomeDemoProps) {
dragAbortRef.current?.abort();
dragAbortRef.current = new AbortController();
fetch(apiUrl('hexagons', params), authHeaders({ signal: dragAbortRef.current.signal }))
- .then((res) => res.json())
+ .then((res) => {
+ assertOk(res, 'hexagons');
+ return res.json();
+ })
.then((data: { features: HexagonData[] }) => setDragHexData(data.features))
.catch((err) => logNonAbortError('Failed to fetch demo drag data', err));
},
diff --git a/frontend/src/components/map/AiFilterInput.tsx b/frontend/src/components/map/AiFilterInput.tsx
index 1472a11..9b6cf5c 100644
--- a/frontend/src/components/map/AiFilterInput.tsx
+++ b/frontend/src/components/map/AiFilterInput.tsx
@@ -4,10 +4,11 @@ import { SpinnerIcon } from '../ui/icons/SpinnerIcon';
interface AiFilterInputProps {
loading: boolean;
error: string | null;
+ notes: string | null;
onSubmit: (query: string) => void;
}
-export default memo(function AiFilterInput({ loading, error, onSubmit }: AiFilterInputProps) {
+export default memo(function AiFilterInput({ loading, error, notes, onSubmit }: AiFilterInputProps) {
const [query, setQuery] = useState('');
const handleSubmit = useCallback(
@@ -48,6 +49,11 @@ export default memo(function AiFilterInput({ loading, error, onSubmit }: AiFilte
{error}
)}
+ {notes && !error && (
+
+ {notes}
+
+ )}
);
});
diff --git a/frontend/src/components/map/AreaPane.tsx b/frontend/src/components/map/AreaPane.tsx
index acca3ad..62e8166 100644
--- a/frontend/src/components/map/AreaPane.tsx
+++ b/frontend/src/components/map/AreaPane.tsx
@@ -155,10 +155,10 @@ export default function AreaPane({
const stackedEnumCharts = STACKED_ENUM_GROUPS[group.name];
// Features that are part of a stacked enum config (rendered as compact charts)
- const stackedEnumFeatureNames = new Set(
- (stackedEnumCharts?.flatMap((c) =>
- [c.feature, ...c.components].filter(Boolean)
- ) as string[]) ?? []
+ const stackedEnumFeatureNames = new Set(
+ stackedEnumCharts?.flatMap((c) =>
+ [c.feature, ...c.components].filter((s): s is string => Boolean(s))
+ ) ?? []
);
const isExpanded = !collapsedGroups.has(group.name);
diff --git a/frontend/src/components/map/FeatureBrowser.tsx b/frontend/src/components/map/FeatureBrowser.tsx
index 0a9858e..86bc4cc 100644
--- a/frontend/src/components/map/FeatureBrowser.tsx
+++ b/frontend/src/components/map/FeatureBrowser.tsx
@@ -11,6 +11,7 @@ import { FeatureActions } from '../ui/FeatureIcons';
import { FeatureLabel } from '../ui/FeatureLabel';
import { RouteIcon, PlusIcon } from '../ui/icons';
import { IconButton } from '../ui/IconButton';
+import { TRANSPORT_MODES, MODE_LABELS, type TransportMode } from '../../hooks/useTravelTime';
interface FeatureBrowserProps {
availableFeatures: FeatureMeta[];
@@ -21,8 +22,8 @@ interface FeatureBrowserProps {
onNavigateToSource?: (slug: string, featureName: string) => void;
openInfoFeature?: string | null;
onClearOpenInfoFeature?: () => void;
- travelTimeEnabled?: boolean;
- onEnableTravelTime?: () => void;
+ activeTravelModes: TransportMode[];
+ onEnableTravelMode: (mode: TransportMode) => void;
}
export default function FeatureBrowser({
@@ -34,8 +35,8 @@ export default function FeatureBrowser({
onNavigateToSource,
openInfoFeature,
onClearOpenInfoFeature,
- travelTimeEnabled,
- onEnableTravelTime,
+ activeTravelModes,
+ onEnableTravelMode,
}: FeatureBrowserProps) {
const [search, setSearch] = useState('');
const [infoFeature, setInfoFeature] = useState(null);
@@ -60,32 +61,42 @@ export default function FeatureBrowser({
// When searching, expand all groups so results are visible
const isSearching = search.length > 0;
+ // Inactive modes available to add
+ const inactiveModes = useMemo(
+ () => TRANSPORT_MODES.filter((m) => !activeTravelModes.includes(m)),
+ [activeTravelModes]
+ );
+
+ const showTravelModes =
+ inactiveModes.length > 0 &&
+ (!search || 'travel time journey commute car bicycle walking transit'.includes(search.toLowerCase()));
+
return (
<>
- {!travelTimeEnabled && onEnableTravelTime && (!search || 'travel time journey commute'.includes(search.toLowerCase())) && (
-
+ {showTravelModes && inactiveModes.map((mode) => (
+
-
+
onEnableTravelMode(mode)}>
- Travel Time
+ Travel Time ({MODE_LABELS[mode]})
Color by journey time to a destination
-
onEnableTravelTime()} title="Add travel time">
+ onEnableTravelMode(mode)} title={`Add ${MODE_LABELS[mode]} travel time`}>
- )}
+ ))}
{grouped.map((group) => {
const isExpanded = isSearching || expandedGroups.has(group.name);
return (
@@ -128,7 +139,7 @@ export default function FeatureBrowser({
);
})}
- {grouped.length === 0 ? (
+ {grouped.length === 0 && !showTravelModes ? (
}
title={search ? 'No matching features' : 'All features are active'}
diff --git a/frontend/src/components/map/Filters.tsx b/frontend/src/components/map/Filters.tsx
index 6e543af..7e0e9c8 100644
--- a/frontend/src/components/map/Filters.tsx
+++ b/frontend/src/components/map/Filters.tsx
@@ -17,18 +17,25 @@ import { FeatureLabel } from '../ui/FeatureLabel';
import AiFilterInput from './AiFilterInput';
import FeatureBrowser from './FeatureBrowser';
import { TravelTimeCard } from './TravelTimeCard';
-import type { TransportMode } from '../../hooks/useTravelTime';
+import {
+ TRANSPORT_MODES,
+ type TransportMode,
+ type TravelTimeEntries,
+} from '../../hooks/useTravelTime';
function SliderLabels({
min,
max,
value,
displayValues,
+ absoluteMax,
}: {
min: number;
max: number;
value: [number, number];
displayValues?: [number, number];
+ /** When true and slider is at max, append "+" to indicate unrestricted upper bound */
+ absoluteMax?: boolean;
}) {
const range = max - min || 1;
const leftPct = ((value[0] - min) / range) * 100;
@@ -46,7 +53,7 @@ function SliderLabels({
className="absolute -translate-x-1/2"
style={{ left: `${rightPct}%` }}
>
- {formatFilterValue(labels[1])}
+ {formatFilterValue(labels[1])}{absoluteMax && value[1] >= max ? '+' : ''}
);
@@ -70,19 +77,15 @@ interface FiltersProps {
onNavigateToSource?: (slug: string, featureName: string) => void;
openInfoFeature?: string | null;
onClearOpenInfoFeature?: () => void;
- travelTimeEnabled: boolean;
- travelTimeDestination: [number, number] | null;
- travelTimeDestinationLabel: string;
- travelTimeMode: TransportMode;
- travelTimeRange: [number, number] | null;
- travelTimeDataRange: [number, number] | null;
- onTravelTimeEnable: () => void;
- onTravelTimeDisable: () => void;
- onTravelTimeSetDestination: (lat: number, lon: number, label: string) => void;
- onTravelTimeModeChange: (mode: TransportMode) => void;
- onTravelTimeRangeChange: (range: [number, number]) => void;
+ travelTimeEntries: TravelTimeEntries;
+ travelTimeDataRanges: Partial
>;
+ onTravelTimeEnableMode: (mode: TransportMode) => void;
+ onTravelTimeDisableMode: (mode: TransportMode) => void;
+ onTravelTimeSetDestination: (mode: TransportMode, lat: number, lon: number, label: string) => void;
+ onTravelTimeRangeChange: (mode: TransportMode, range: [number, number]) => void;
aiFilterLoading: boolean;
aiFilterError: string | null;
+ aiFilterNotes: string | null;
onAiFilterSubmit: (query: string) => void;
}
@@ -104,19 +107,15 @@ export default memo(function Filters({
onNavigateToSource,
openInfoFeature,
onClearOpenInfoFeature,
- travelTimeEnabled,
- travelTimeDestination,
- travelTimeDestinationLabel,
- travelTimeMode,
- travelTimeRange,
- travelTimeDataRange,
- onTravelTimeEnable,
- onTravelTimeDisable,
+ travelTimeEntries,
+ travelTimeDataRanges,
+ onTravelTimeEnableMode,
+ onTravelTimeDisableMode,
onTravelTimeSetDestination,
- onTravelTimeModeChange,
onTravelTimeRangeChange,
aiFilterLoading,
aiFilterError,
+ aiFilterNotes,
onAiFilterSubmit,
}: FiltersProps) {
const availableFeatures = features.filter((f) => !enabledFeatures.has(f.name));
@@ -127,6 +126,11 @@ export default memo(function Filters({
const [activeInfoFeature, setActiveInfoFeature] = useState(null);
const [collapsedGroups, toggleGroup] = useCollapsibleGroups();
+ const activeModes = useMemo(
+ () => TRANSPORT_MODES.filter((m) => m in travelTimeEntries),
+ [travelTimeEntries]
+ );
+
const handleAddAndScroll = useCallback(
(name: string) => {
onAddFilter(name);
@@ -144,17 +148,19 @@ export default memo(function Filters({
const percentileScales = useMemo(() => {
const scales = new Map();
for (const f of features) {
- if (f.type === 'numeric' && f.histogram) {
+ if (f.type === 'numeric' && f.histogram && !f.absolute) {
scales.set(f.name, buildPercentileScale(f.histogram));
}
}
return scales;
}, [features]);
+ const badgeCount = enabledFeatureList.length + activeModes.length;
+
return (
-
+
setShowPhilosophy(true)}
@@ -171,32 +177,34 @@ export default memo(function Filters({
Active Filters
- {(enabledFeatureList.length > 0 || travelTimeEnabled) && (
+ {badgeCount > 0 && (
- {enabledFeatureList.length + (travelTimeEnabled ? 1 : 0)}
+ {badgeCount}
)}
- {travelTimeEnabled && (
-
-
-
- )}
+ {activeModes.map((mode) => {
+ const entry = travelTimeEntries[mode]!;
+ return (
+
+ onTravelTimeSetDestination(mode, lat, lon, label)}
+ onTimeRangeChange={(range) => onTravelTimeRangeChange(mode, range)}
+ onRemove={() => onTravelTimeDisableMode(mode)}
+ />
+
+ );
+ })}
- {enabledFeatureList.length === 0 && !travelTimeEnabled && (
+ {enabledFeatureList.length === 0 && activeModes.length === 0 && (
Browse features below and click + to add a filter
@@ -300,6 +308,7 @@ export default memo(function Filters({
max={scale ? 100 : feature.max!}
value={sliderValue}
displayValues={scale ? displayValue : undefined}
+ absoluteMax={feature.absolute}
/>
@@ -327,8 +336,8 @@ export default memo(function Filters({
onNavigateToSource={onNavigateToSource}
openInfoFeature={openInfoFeature}
onClearOpenInfoFeature={onClearOpenInfoFeature}
- travelTimeEnabled={travelTimeEnabled}
- onEnableTravelTime={onTravelTimeEnable}
+ activeTravelModes={activeModes}
+ onEnableTravelMode={onTravelTimeEnableMode}
/>
diff --git a/frontend/src/components/map/LocationSearch.tsx b/frontend/src/components/map/LocationSearch.tsx
new file mode 100644
index 0000000..dd4ab87
--- /dev/null
+++ b/frontend/src/components/map/LocationSearch.tsx
@@ -0,0 +1,143 @@
+import { useState, useCallback, useRef, useEffect } from 'react';
+import type { PostcodeGeometry } from '../../types';
+import { authHeaders } from '../../lib/api';
+import { useIsMobile } from '../../hooks/useIsMobile';
+import { useLocationSearch, type SearchResult } from '../../hooks/useLocationSearch';
+import { PlaceSearchInput } from '../ui/PlaceSearchInput';
+import { SearchIcon } from '../ui/icons/SearchIcon';
+
+export interface SearchedLocation {
+ postcode: string;
+ geometry: PostcodeGeometry;
+}
+
+const ZOOM_FOR_TYPE: Record = {
+ city: 10,
+ borough: 12,
+ town: 13,
+ suburb: 14,
+ quarter: 14,
+ neighbourhood: 14,
+ village: 14,
+ station: 15,
+ island: 12,
+ locality: 14,
+ hamlet: 15,
+ isolated_dwelling: 16,
+};
+
+export default function LocationSearch({
+ onFlyTo,
+ onLocationSearched,
+}: {
+ onFlyTo: (lat: number, lng: number, zoom: number) => void;
+ onLocationSearched?: (postcode: SearchedLocation | null) => void;
+}) {
+ const search = useLocationSearch();
+ const [error, setError] = useState(null);
+ const [loading, setLoading] = useState(false);
+ const [expanded, setExpanded] = useState(false);
+ const isMobile = useIsMobile();
+ const containerRef = useRef(null);
+ const inputRef = useRef(null);
+
+ // Close on outside click
+ useEffect(() => {
+ const handler = (e: MouseEvent) => {
+ if (containerRef.current && !containerRef.current.contains(e.target as Node)) {
+ search.close();
+ if (isMobile) setExpanded(false);
+ }
+ };
+ document.addEventListener('mousedown', handler);
+ return () => document.removeEventListener('mousedown', handler);
+ }, [isMobile, search]);
+
+ // Focus input when expanding on mobile
+ useEffect(() => {
+ if (isMobile && expanded) {
+ inputRef.current?.focus();
+ }
+ }, [isMobile, expanded]);
+
+ const selectResult = useCallback(
+ async (result: SearchResult) => {
+ if (result.type === 'place') {
+ const zoom = ZOOM_FOR_TYPE[result.place_type] ?? 14;
+ onFlyTo(result.lat, result.lon, zoom);
+ onLocationSearched?.(null);
+ search.clear();
+ if (isMobile) setExpanded(false);
+ return;
+ }
+
+ // Postcode — fetch geometry
+ setError(null);
+ setLoading(true);
+ search.close();
+ try {
+ const res = await fetch(
+ `/api/postcode/${encodeURIComponent(result.label)}`,
+ authHeaders(),
+ );
+ if (!res.ok) {
+ setError('Postcode not found');
+ return;
+ }
+ const json: {
+ postcode: string;
+ latitude: number;
+ longitude: number;
+ geometry: PostcodeGeometry;
+ } = await res.json();
+ onFlyTo(json.latitude, json.longitude, 16);
+ onLocationSearched?.({ postcode: json.postcode, geometry: json.geometry });
+ search.clear();
+ if (isMobile) setExpanded(false);
+ } catch {
+ setError('Lookup failed');
+ } finally {
+ setLoading(false);
+ }
+ },
+ [onFlyTo, onLocationSearched, isMobile, search],
+ );
+
+ // Mobile collapsed state: just a search icon button
+ if (isMobile && !expanded) {
+ return (
+ setExpanded(true)}
+ className="absolute top-3 left-3 z-10 p-2 bg-white dark:bg-warm-800 rounded shadow-lg"
+ aria-label="Search places or postcodes"
+ >
+
+
+ );
+ }
+
+ return (
+
+
+
+
setError(null)}
+ />
+
+
+ {error && (
+
+ {error}
+
+ )}
+
+ );
+}
diff --git a/frontend/src/components/map/Map.tsx b/frontend/src/components/map/Map.tsx
index e1d2449..33151b6 100644
--- a/frontend/src/components/map/Map.tsx
+++ b/frontend/src/components/map/Map.tsx
@@ -6,6 +6,7 @@ import 'maplibre-gl/dist/maplibre-gl.css';
import type {
HexagonData,
PostcodeFeature,
+ PostcodeGeometry,
ViewState,
ViewChangeParams,
POI,
@@ -15,11 +16,12 @@ import type {
import { zoomToResolution, getBoundsFromViewState, getMapStyle } from '../../lib/map-utils';
import { INITIAL_VIEW_STATE, MAP_MIN_ZOOM, MAP_BOUNDS } from '../../lib/consts';
-import PostcodeSearch, { type SearchedPostcode } from './PostcodeSearch';
+import LocationSearch, { type SearchedLocation } from './LocationSearch';
import MapLegend from './MapLegend';
import HoverCard from './HoverCard';
import type { FeatureFilters } from '../../types';
import { useDeckLayers, osmIdToUrl } from '../../hooks/useDeckLayers';
+import { MODE_LABELS, type TransportMode, type TravelTimeEntries } from '../../hooks/useTravelTime';
interface MapProps {
data: HexagonData[];
@@ -42,14 +44,12 @@ interface MapProps {
screenshotMode?: boolean;
ogMode?: boolean;
filters?: FeatureFilters;
- searchedPostcode?: SearchedPostcode | null;
- onPostcodeSearched?: (postcode: SearchedPostcode | null) => void;
+ selectedPostcodeGeometry?: PostcodeGeometry | null;
+ onLocationSearched?: (location: SearchedLocation | null) => void;
bounds?: Bounds | null;
hideLegend?: boolean;
- travelTimeEnabled?: boolean;
- travelTimeDestination?: [number, number] | null;
- travelTimeColorRange?: [number, number] | null;
- travelTimeRange?: [number, number] | null;
+ travelTimeEntries?: TravelTimeEntries;
+ travelTimeColorRanges?: Partial>;
}
interface Dimensions {
@@ -98,14 +98,12 @@ export default memo(function Map({
screenshotMode = false,
ogMode = false,
filters = {},
- searchedPostcode,
- onPostcodeSearched,
+ selectedPostcodeGeometry,
+ onLocationSearched,
bounds: viewportBounds,
hideLegend = false,
- travelTimeEnabled = false,
- travelTimeDestination,
- travelTimeColorRange,
- travelTimeRange,
+ travelTimeEntries = {},
+ travelTimeColorRanges = {},
}: MapProps) {
const containerRef = useRef(null);
const [viewState, setViewState] = useState(initialViewState || INITIAL_VIEW_STATE);
@@ -168,6 +166,7 @@ export default memo(function Map({
postcodeCountRange,
colorFeatureMeta,
handleMouseLeave,
+ primaryTravelMode,
} = useDeckLayers({
data,
postcodeData,
@@ -182,12 +181,10 @@ export default memo(function Map({
onHexagonClick,
onHexagonHover,
theme,
- searchedPostcode,
+ selectedPostcodeGeometry,
bounds: viewportBounds,
- travelTimeEnabled,
- travelTimeDestination,
- travelTimeColorRange,
- travelTimeRange,
+ travelTimeEntries,
+ travelTimeColorRanges,
});
return (
@@ -222,12 +219,12 @@ export default memo(function Map({
) : null
) : (
<>
-
+
{!hideLegend &&
- (travelTimeEnabled && travelTimeDestination && travelTimeColorRange ? (
+ (primaryTravelMode && travelTimeColorRanges[primaryTravelMode] ? (
(null);
const [selectedPOICategories, setSelectedPOICategories] =
useState>(initialPOICategories);
@@ -109,7 +114,7 @@ export default function MapPage({
const handleAiFilterSubmit = useCallback(
async (query: string) => {
const result = await aiFilters.fetchAiFilters(query);
- if (result) handleSetFilters(result);
+ if (result) handleSetFilters(result.filters);
},
[aiFilters.fetchAiFilters, handleSetFilters]
);
@@ -125,9 +130,7 @@ export default function MapPage({
activeFeature,
dragValue,
dragData,
- travelTimeEnabled: travelTime.enabled,
- travelTimeDestination: travelTime.destination,
- travelTimeMode: travelTime.mode,
+ travelTimeEntries: travelTime.entries,
});
// Keep filter bounds in sync with map data
@@ -142,24 +145,42 @@ export default function MapPage({
resolution: mapData.resolution,
});
+ // Location search handler — selects postcode + shows stats
+ const handleLocationSearchResult = useCallback(
+ (result: SearchedLocation | null) => {
+ if (result) {
+ selection.handleLocationSearch(result.postcode, result.geometry);
+ if (isMobile) setMobileDrawerOpen(true);
+ } else {
+ selection.handleCloseSelection();
+ }
+ },
+ [selection.handleLocationSearch, selection.handleCloseSelection, isMobile]
+ );
+
// POI data
const pois = usePOIData(mapData.bounds, selectedPOICategories);
- // Compute data range for travel time slider
- const travelTimeDataRange = useMemo((): [number, number] | null => {
- if (!travelTime.enabled || !travelTime.destination) return null;
- const vals: number[] = [];
- for (const item of mapData.data) {
- const val = item.travel_time;
- if (typeof val === 'number' && !isNaN(val)) vals.push(val);
+ // Compute data range for travel time slider per mode (full min/max for slider bounds)
+ const travelTimeDataRanges = useMemo((): Partial> => {
+ const ranges: Partial> = {};
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTime.entries[mode];
+ if (!entry?.destination) continue;
+ const vals: number[] = [];
+ for (const item of mapData.data) {
+ const val = item[`travel_time_${mode}`];
+ if (typeof val === 'number' && !isNaN(val)) vals.push(val);
+ }
+ if (vals.length === 0) continue;
+ vals.sort((a, b) => a - b);
+ ranges[mode] = [vals[0], vals[vals.length - 1]];
}
- if (vals.length === 0) return null;
- vals.sort((a, b) => a - b);
- return [vals[0], vals[vals.length - 1]];
- }, [travelTime.enabled, travelTime.destination, mapData.data]);
+ return ranges;
+ }, [travelTime.entries, mapData.data]);
// Sync current state to URL
- useUrlSync(mapData.currentView, filters, features, selectedPOICategories, selection.rightPaneTab, travelTime);
+ useUrlSync(mapData.currentView, filters, features, selectedPOICategories, selection.rightPaneTab, travelTime.entries);
// Set initial view and tab from URL state
useEffect(() => {
@@ -238,7 +259,7 @@ export default function MapPage({
link.click();
URL.revokeObjectURL(link.href);
})
- .catch((err) => console.error('Export failed:', err))
+ .catch((err) => logNonAbortError('Export failed', err))
.finally(() => setExporting(false));
}, [mapData.bounds, filters, features, exporting]);
@@ -258,10 +279,7 @@ export default function MapPage({
let min = Infinity;
let max = -Infinity;
for (const d of items) {
- const c =
- 'count' in d
- ? (d as { count: number }).count
- : (d as { properties: { count: number } }).properties.count;
+ const c = 'count' in d ? d.count : d.properties.count;
if (c < min) min = c;
if (c > max) max = c;
}
@@ -301,10 +319,8 @@ export default function MapPage({
screenshotMode
ogMode={ogMode}
bounds={mapData.bounds}
- travelTimeEnabled={travelTime.enabled}
- travelTimeDestination={travelTime.destination}
- travelTimeColorRange={mapData.travelTimeColorRange}
- travelTimeRange={travelTime.timeRange}
+ travelTimeEntries={travelTime.entries}
+ travelTimeColorRanges={mapData.travelTimeColorRanges}
/>
);
@@ -373,19 +389,15 @@ export default function MapPage({
onCancelPin={handleCancelPin}
openInfoFeature={pendingInfoFeature}
onClearOpenInfoFeature={onClearPendingInfoFeature}
- travelTimeEnabled={travelTime.enabled}
- travelTimeDestination={travelTime.destination}
- travelTimeDestinationLabel={travelTime.destinationLabel}
- travelTimeMode={travelTime.mode}
- travelTimeRange={travelTime.timeRange}
- travelTimeDataRange={travelTimeDataRange}
- onTravelTimeEnable={travelTime.handleEnable}
- onTravelTimeDisable={travelTime.handleDisable}
+ travelTimeEntries={travelTime.entries}
+ travelTimeDataRanges={travelTimeDataRanges}
+ onTravelTimeEnableMode={travelTime.handleEnableMode}
+ onTravelTimeDisableMode={travelTime.handleDisableMode}
onTravelTimeSetDestination={travelTime.handleSetDestination}
- onTravelTimeModeChange={travelTime.handleModeChange}
onTravelTimeRangeChange={travelTime.handleTimeRangeChange}
aiFilterLoading={aiFilters.loading}
aiFilterError={aiFilters.error}
+ aiFilterNotes={aiFilters.notes}
onAiFilterSubmit={handleAiFilterSubmit}
/>
);
@@ -426,14 +438,12 @@ export default function MapPage({
initialViewState={initialViewState}
theme={theme}
filters={filters}
- searchedPostcode={searchedPostcode}
- onPostcodeSearched={setSearchedPostcode}
+ selectedPostcodeGeometry={selection.selectedPostcodeGeometry}
+ onLocationSearched={handleLocationSearchResult}
bounds={mapData.bounds}
hideLegend
- travelTimeEnabled={travelTime.enabled}
- travelTimeDestination={travelTime.destination}
- travelTimeColorRange={mapData.travelTimeColorRange}
- travelTimeRange={travelTime.timeRange}
+ travelTimeEntries={travelTime.entries}
+ travelTimeColorRanges={mapData.travelTimeColorRanges}
/>
{mapData.loading && (
@@ -461,43 +471,54 @@ export default function MapPage({
style={{ flex: '55 0 0' }}
>
{/* Legend */}
- {travelTime.enabled && travelTime.destination && mapData.travelTimeColorRange ? (
-
- ) : viewFeature && mapData.colorRange && mobileLegendMeta ? (
-
- ) : (
-
- )}
+ {(() => {
+ const primaryMode = TRANSPORT_MODES.find(
+ (m) => travelTime.entries[m]?.destination && mapData.travelTimeColorRanges[m]
+ );
+ if (primaryMode) {
+ return (
+
+ );
+ }
+ if (viewFeature && mapData.colorRange && mobileLegendMeta) {
+ return (
+
+ );
+ }
+ return (
+
+ );
+ })()}
{/* Filters content */}
{renderFilters()}
@@ -565,13 +586,11 @@ export default function MapPage({
initialViewState={initialViewState}
theme={theme}
filters={filters}
- searchedPostcode={searchedPostcode}
- onPostcodeSearched={setSearchedPostcode}
+ selectedPostcodeGeometry={selection.selectedPostcodeGeometry}
+ onLocationSearched={handleLocationSearchResult}
bounds={mapData.bounds}
- travelTimeEnabled={travelTime.enabled}
- travelTimeDestination={travelTime.destination}
- travelTimeColorRange={mapData.travelTimeColorRange}
- travelTimeRange={travelTime.timeRange}
+ travelTimeEntries={travelTime.entries}
+ travelTimeColorRanges={mapData.travelTimeColorRanges}
/>
{mapData.loading && (
diff --git a/frontend/src/components/map/PostcodeSearch.tsx b/frontend/src/components/map/PostcodeSearch.tsx
deleted file mode 100644
index 83c1b1b..0000000
--- a/frontend/src/components/map/PostcodeSearch.tsx
+++ /dev/null
@@ -1,300 +0,0 @@
-import { useState, useCallback, useRef, useEffect } from 'react';
-import type { PostcodeGeometry, PlaceResult } from '../../types';
-import { authHeaders, logNonAbortError } from '../../lib/api';
-import { useIsMobile } from '../../hooks/useIsMobile';
-import { SearchIcon } from '../ui/icons/SearchIcon';
-import { MapPinIcon } from '../ui/icons/MapPinIcon';
-
-export interface SearchedPostcode {
- postcode: string;
- geometry: PostcodeGeometry;
-}
-
-const POSTCODE_RE = /^[A-Z]{1,2}\d[A-Z\d]?\s*\d?[A-Z]{0,2}$/i;
-function looksLikePostcode(s: string) {
- return POSTCODE_RE.test(s.trim());
-}
-
-type SearchResult =
- | { type: 'postcode'; label: string }
- | { type: 'place'; name: string; place_type: string; lat: number; lon: number };
-
-const ZOOM_FOR_TYPE: Record
= {
- city: 10,
- borough: 12,
- town: 13,
- suburb: 14,
- neighbourhood: 14,
- village: 14,
- locality: 14,
- hamlet: 15,
- isolated_dwelling: 16,
-};
-
-export default function PostcodeSearch({
- onFlyTo,
- onPostcodeSearched,
-}: {
- onFlyTo: (lat: number, lng: number, zoom: number) => void;
- onPostcodeSearched?: (postcode: SearchedPostcode | null) => void;
-}) {
- const [query, setQuery] = useState('');
- const [results, setResults] = useState([]);
- const [activeIndex, setActiveIndex] = useState(-1);
- const [open, setOpen] = useState(false);
- const [error, setError] = useState(null);
- const [loading, setLoading] = useState(false);
- const [expanded, setExpanded] = useState(false);
- const isMobile = useIsMobile();
- const containerRef = useRef(null);
- const inputRef = useRef(null);
- const abortRef = useRef(null);
- const debounceRef = useRef>();
-
- // Close on outside click
- useEffect(() => {
- const handler = (e: MouseEvent) => {
- if (containerRef.current && !containerRef.current.contains(e.target as Node)) {
- setOpen(false);
- if (isMobile) setExpanded(false);
- }
- };
- document.addEventListener('mousedown', handler);
- return () => document.removeEventListener('mousedown', handler);
- }, [isMobile]);
-
- // Focus input when expanding on mobile
- useEffect(() => {
- if (isMobile && expanded) {
- inputRef.current?.focus();
- }
- }, [isMobile, expanded]);
-
- const selectPostcode = useCallback(
- async (postcode: string) => {
- setError(null);
- setLoading(true);
- setOpen(false);
- try {
- const res = await fetch(
- `/api/postcode/${encodeURIComponent(postcode.trim())}`,
- authHeaders()
- );
- if (!res.ok) {
- setError('Postcode not found');
- return;
- }
- const json: {
- postcode: string;
- latitude: number;
- longitude: number;
- geometry: PostcodeGeometry;
- } = await res.json();
- onFlyTo(json.latitude, json.longitude, 16);
- onPostcodeSearched?.({ postcode: json.postcode, geometry: json.geometry });
- setQuery('');
- setResults([]);
- if (isMobile) setExpanded(false);
- } catch {
- setError('Lookup failed');
- } finally {
- setLoading(false);
- }
- },
- [onFlyTo, onPostcodeSearched, isMobile]
- );
-
- const selectPlace = useCallback(
- (place: { name: string; place_type: string; lat: number; lon: number }) => {
- const zoom = ZOOM_FOR_TYPE[place.place_type] ?? 14;
- onFlyTo(place.lat, place.lon, zoom);
- setQuery('');
- setResults([]);
- setOpen(false);
- if (isMobile) setExpanded(false);
- },
- [onFlyTo, isMobile]
- );
-
- const selectResult = useCallback(
- (result: SearchResult) => {
- if (result.type === 'postcode') {
- selectPostcode(result.label);
- } else {
- selectPlace(result);
- }
- },
- [selectPostcode, selectPlace]
- );
-
- const handleInputChange = useCallback((value: string) => {
- setQuery(value);
- setError(null);
- setActiveIndex(-1);
-
- // Cancel in-flight request
- abortRef.current?.abort();
- if (debounceRef.current) clearTimeout(debounceRef.current);
-
- const trimmed = value.trim();
- if (!trimmed) {
- setResults([]);
- setOpen(false);
- return;
- }
-
- if (looksLikePostcode(trimmed)) {
- setResults([{ type: 'postcode', label: trimmed.toUpperCase() }]);
- setOpen(true);
- return;
- }
-
- if (trimmed.length < 2) {
- setResults([]);
- setOpen(false);
- return;
- }
-
- // Debounced place search
- debounceRef.current = setTimeout(async () => {
- const controller = new AbortController();
- abortRef.current = controller;
- try {
- const params = new URLSearchParams({ q: trimmed, limit: '7' });
- const res = await fetch(
- `/api/places?${params}`,
- authHeaders({ signal: controller.signal })
- );
- if (!res.ok) return;
- const json: { places: PlaceResult[] } = await res.json();
- const placeResults: SearchResult[] = json.places.map((p) => ({
- type: 'place' as const,
- ...p,
- }));
- setResults(placeResults);
- setOpen(placeResults.length > 0);
- } catch (err) {
- logNonAbortError('places search', err);
- }
- }, 200);
- }, []);
-
- const handleKeyDown = useCallback(
- (e: React.KeyboardEvent) => {
- if (e.key === 'ArrowDown') {
- e.preventDefault();
- setActiveIndex((prev) => (prev < results.length - 1 ? prev + 1 : prev));
- } else if (e.key === 'ArrowUp') {
- e.preventDefault();
- setActiveIndex((prev) => (prev > 0 ? prev - 1 : -1));
- } else if (e.key === 'Enter') {
- e.preventDefault();
- if (activeIndex >= 0 && activeIndex < results.length) {
- selectResult(results[activeIndex]);
- } else if (looksLikePostcode(query)) {
- selectPostcode(query);
- }
- } else if (e.key === 'Escape') {
- setOpen(false);
- inputRef.current?.blur();
- }
- },
- [results, activeIndex, query, selectResult, selectPostcode]
- );
-
- // Cleanup on unmount
- useEffect(() => {
- return () => {
- abortRef.current?.abort();
- if (debounceRef.current) clearTimeout(debounceRef.current);
- };
- }, []);
-
- // Mobile collapsed state: just a search icon button
- if (isMobile && !expanded) {
- return (
- setExpanded(true)}
- className="absolute top-3 left-3 z-10 p-2 bg-white dark:bg-warm-800 rounded shadow-lg"
- aria-label="Search places or postcodes"
- >
-
-
- );
- }
-
- return (
-
-
-
-
-
handleInputChange(e.target.value)}
- onFocus={() => {
- if (results.length > 0) setOpen(true);
- }}
- onKeyDown={handleKeyDown}
- placeholder="Search places or postcodes..."
- className="px-2 py-2 text-sm w-56 border-none outline-none bg-transparent text-warm-700 dark:text-warm-200 placeholder-warm-400 dark:placeholder-warm-500"
- />
- {loading && (
-
- )}
-
-
- {open && results.length > 0 && (
-
- {results.map((result, idx) => (
- setActiveIndex(idx)}
- onMouseDown={(e) => {
- e.preventDefault();
- selectResult(result);
- }}
- >
- {result.type === 'postcode' ? (
- <>
-
- {result.label}
-
- postcode
-
- >
- ) : (
- <>
-
- {result.name}
-
- {result.place_type}
-
- >
- )}
-
- ))}
-
- )}
-
-
- {error && (
-
- {error}
-
- )}
-
- );
-}
diff --git a/frontend/src/components/map/PropertiesPane.tsx b/frontend/src/components/map/PropertiesPane.tsx
index e7bac8d..bfc2461 100644
--- a/frontend/src/components/map/PropertiesPane.tsx
+++ b/frontend/src/components/map/PropertiesPane.tsx
@@ -221,7 +221,7 @@ function PropertyCard({ property }: { property: Property }) {
{age !== undefined && (
Built: {' '}
- {formatAge(age, property.is_construction_date_approximate ?? true)}
+ {formatAge(age, property.is_construction_date_approximate)}
)}
{property.current_energy_rating && (
diff --git a/frontend/src/components/map/StreetViewEmbed.tsx b/frontend/src/components/map/StreetViewEmbed.tsx
index 22653d9..77c8685 100644
--- a/frontend/src/components/map/StreetViewEmbed.tsx
+++ b/frontend/src/components/map/StreetViewEmbed.tsx
@@ -1,10 +1,52 @@
+import { useEffect, useState } from 'react';
import type { HexagonLocation } from '../../lib/external-search';
+import { apiUrl, logNonAbortError } from '../../lib/api';
interface StreetViewEmbedProps {
location: HexagonLocation;
}
+type Status = 'loading' | 'ok' | 'none' | 'error';
+
export default function StreetViewEmbed({ location }: StreetViewEmbedProps) {
+ const [status, setStatus] = useState('loading');
+ const [panoId, setPanoId] = useState(null);
+
+ useEffect(() => {
+ setStatus('loading');
+ setPanoId(null);
+
+ const controller = new AbortController();
+ const params = new URLSearchParams({
+ lat: String(location.lat),
+ lon: String(location.lon),
+ });
+
+ fetch(apiUrl('streetview', params), { signal: controller.signal })
+ .then((res) => {
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
+ return res.json();
+ })
+ .then((data: { status: string; pano_id?: string }) => {
+ if (data.status === 'OK' && data.pano_id) {
+ setPanoId(data.pano_id);
+ setStatus('ok');
+ } else {
+ setStatus('none');
+ }
+ })
+ .catch((err) => {
+ logNonAbortError('streetview', err);
+ if (!controller.signal.aborted) {
+ setStatus('error');
+ }
+ });
+
+ return () => controller.abort();
+ }, [location.lat, location.lon]);
+
+ if (status === 'none' || status === 'error') return null;
+
return (
@@ -12,13 +54,20 @@ export default function StreetViewEmbed({ location }: StreetViewEmbedProps) {
-
+ {status === 'loading' ? (
+
+ ) : (
+
+ )}
diff --git a/frontend/src/components/map/TravelTimeCard.tsx b/frontend/src/components/map/TravelTimeCard.tsx
index b702b4c..fca6021 100644
--- a/frontend/src/components/map/TravelTimeCard.tsx
+++ b/frontend/src/components/map/TravelTimeCard.tsx
@@ -1,61 +1,69 @@
-import { useState, useCallback } from 'react';
+import { useState, useCallback, useRef, useEffect } from 'react';
import { Slider } from '../ui/Slider';
-import { PillToggle } from '../ui/PillToggle';
-import { PillGroup } from '../ui/PillGroup';
import { IconButton } from '../ui/IconButton';
+import { PlaceSearchInput } from '../ui/PlaceSearchInput';
import { CloseIcon } from '../ui/icons/CloseIcon';
import { MapPinIcon } from '../ui/icons/MapPinIcon';
import { RouteIcon } from '../ui/icons/RouteIcon';
import { formatFilterValue } from '../../lib/format';
-import { authHeaders } from '../../lib/api';
-import type { TransportMode } from '../../hooks/useTravelTime';
-
-const MODES: { value: TransportMode; label: string }[] = [
- { value: 'car', label: 'Car' },
- { value: 'bicycle', label: 'Bicycle' },
- { value: 'walking', label: 'Walking' },
- { value: 'transit', label: 'Transit' },
-];
+import { authHeaders, logNonAbortError } from '../../lib/api';
+import { useLocationSearch, type SearchResult } from '../../hooks/useLocationSearch';
+import { MODE_LABELS, type TransportMode } from '../../hooks/useTravelTime';
interface TravelTimeCardProps {
+ mode: TransportMode;
destination: [number, number] | null;
destinationLabel: string;
- mode: TransportMode;
timeRange: [number, number] | null;
dataRange: [number, number] | null;
onSetDestination: (lat: number, lon: number, label: string) => void;
- onModeChange: (mode: TransportMode) => void;
onTimeRangeChange: (range: [number, number]) => void;
onRemove: () => void;
}
export function TravelTimeCard({
+ mode,
destination,
destinationLabel,
- mode,
timeRange,
dataRange,
onSetDestination,
- onModeChange,
onTimeRangeChange,
onRemove,
}: TravelTimeCardProps) {
- const [query, setQuery] = useState('');
+ const search = useLocationSearch();
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
+ const containerRef = useRef(null);
- const handleSearch = useCallback(
- async (e: React.FormEvent) => {
- e.preventDefault();
- const trimmed = query.trim();
- if (!trimmed) return;
+ // Close dropdown on outside click
+ useEffect(() => {
+ const handler = (e: MouseEvent) => {
+ if (containerRef.current && !containerRef.current.contains(e.target as Node)) {
+ search.close();
+ }
+ };
+ document.addEventListener('mousedown', handler);
+ return () => document.removeEventListener('mousedown', handler);
+ }, [search]);
+ const selectResult = useCallback(
+ async (result: SearchResult) => {
+ if (result.type === 'place') {
+ onSetDestination(result.lat, result.lon, result.name);
+ search.clear();
+ setError(null);
+ return;
+ }
+
+ // Postcode — fetch coordinates
setError(null);
setLoading(true);
+ search.close();
try {
const res = await fetch(
- `/api/postcode/${encodeURIComponent(trimmed)}`,
- authHeaders()
+ `/api/postcode/${encodeURIComponent(result.label)}`,
+ authHeaders(),
);
if (!res.ok) {
setError('Postcode not found');
@@ -64,14 +72,15 @@ export function TravelTimeCard({
const json: { postcode: string; latitude: number; longitude: number } =
await res.json();
onSetDestination(json.latitude, json.longitude, json.postcode);
- setQuery('');
- } catch {
+ search.clear();
+ } catch (err) {
+ logNonAbortError('Postcode lookup failed', err);
setError('Lookup failed');
} finally {
setLoading(false);
}
},
- [query, onSetDestination]
+ [onSetDestination, search],
);
const sliderMin = dataRange ? Math.floor(dataRange[0]) : 0;
@@ -85,7 +94,7 @@ export function TravelTimeCard({
- Travel Time
+ Travel Time ({MODE_LABELS[mode]})
onRemove()} title="Remove travel time">
@@ -94,26 +103,17 @@ export function TravelTimeCard({
{/* Destination search */}
-
-
+
+
setError(null)}
+ />
+
{error && (
{error}
)}
@@ -127,24 +127,6 @@ export function TravelTimeCard({
)}
- {/* Mode selector */}
-
-
- Mode
-
-
- {MODES.map((m) => (
- onModeChange(m.value)}
- size="xs"
- />
- ))}
-
-
-
{/* Time range slider — only show when we have data */}
{destination && dataRange && (
diff --git a/frontend/src/components/ui/PlaceSearchInput.tsx b/frontend/src/components/ui/PlaceSearchInput.tsx
new file mode 100644
index 0000000..ab5b605
--- /dev/null
+++ b/frontend/src/components/ui/PlaceSearchInput.tsx
@@ -0,0 +1,123 @@
+import type React from 'react';
+import type { SearchResult } from '../../hooks/useLocationSearch';
+import { SearchIcon } from './icons/SearchIcon';
+import { MapPinIcon } from './icons/MapPinIcon';
+
+interface SearchHook {
+ query: string;
+ results: SearchResult[];
+ activeIndex: number;
+ setActiveIndex: (idx: number) => void;
+ open: boolean;
+ setOpen: (open: boolean) => void;
+ handleInputChange: (value: string) => void;
+ handleKeyDown: (
+ e: React.KeyboardEvent,
+ onSelect: (result: SearchResult) => void,
+ ) => void;
+}
+
+interface PlaceSearchInputProps {
+ search: SearchHook;
+ onSelect: (result: SearchResult) => void;
+ loading?: boolean;
+ placeholder?: string;
+ size?: 'sm' | 'xs';
+ inputClassName?: string;
+ inputRef?: React.Ref
;
+ onInputChange?: () => void;
+}
+
+export function PlaceSearchInput({
+ search,
+ onSelect,
+ loading,
+ placeholder,
+ size = 'sm',
+ inputClassName,
+ inputRef,
+ onInputChange,
+}: PlaceSearchInputProps) {
+ const sm = size === 'sm';
+ const iconSize = sm ? 'w-4 h-4' : 'w-3 h-3';
+ const spinnerSize = sm ? 'w-4 h-4' : 'w-3 h-3';
+
+ return (
+
+
{
+ search.handleInputChange(e.target.value);
+ onInputChange?.();
+ }}
+ onFocus={() => {
+ if (search.results.length > 0) search.setOpen(true);
+ }}
+ onKeyDown={(e) => search.handleKeyDown(e, onSelect)}
+ placeholder={placeholder}
+ className={inputClassName}
+ />
+
+ {loading && (
+
+ )}
+
+ {search.open && search.results.length > 0 && (
+
+ {search.results.map((result, idx) => (
+ search.setActiveIndex(idx)}
+ onMouseDown={(e) => {
+ e.preventDefault();
+ onSelect(result);
+ }}
+ >
+ {result.type === 'postcode' ? (
+ <>
+
+ {result.label}
+ >
+ ) : (
+ <>
+
+
+ {result.name}
+ {result.city && (
+
+ {' '}
+ ({result.city})
+
+ )}
+
+ >
+ )}
+
+ ))}
+
+ )}
+
+ );
+}
diff --git a/frontend/src/hooks/useAiFilters.ts b/frontend/src/hooks/useAiFilters.ts
index c6ccdcd..ab26d2e 100644
--- a/frontend/src/hooks/useAiFilters.ts
+++ b/frontend/src/hooks/useAiFilters.ts
@@ -2,24 +2,32 @@ import { useState, useCallback, useRef } from 'react';
import type { FeatureFilters } from '../types';
import { apiUrl, authHeaders, logNonAbortError } from '../lib/api';
+interface AiFiltersResult {
+ filters: FeatureFilters;
+ notes: string;
+}
+
interface UseAiFiltersResult {
- fetchAiFilters: (query: string) => Promise;
+ fetchAiFilters: (query: string) => Promise;
loading: boolean;
error: string | null;
+ notes: string | null;
}
export function useAiFilters(): UseAiFiltersResult {
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
+ const [notes, setNotes] = useState(null);
const abortRef = useRef(null);
- const fetchAiFilters = useCallback(async (query: string): Promise => {
+ const fetchAiFilters = useCallback(async (query: string): Promise => {
abortRef.current?.abort();
const controller = new AbortController();
abortRef.current = controller;
setLoading(true);
setError(null);
+ setNotes(null);
try {
const url = apiUrl('ai-filters');
@@ -39,8 +47,13 @@ export function useAiFilters(): UseAiFiltersResult {
}
const json = await response.json();
+ const result: AiFiltersResult = {
+ filters: json.filters as FeatureFilters,
+ notes: json.notes || '',
+ };
+ setNotes(result.notes || null);
setLoading(false);
- return json.filters as FeatureFilters;
+ return result;
} catch (err) {
if (controller.signal.aborted) return null;
logNonAbortError('ai-filters', err);
@@ -51,5 +64,5 @@ export function useAiFilters(): UseAiFiltersResult {
}
}, []);
- return { fetchAiFilters, loading, error };
+ return { fetchAiFilters, loading, error, notes };
}
diff --git a/frontend/src/hooks/useAuth.ts b/frontend/src/hooks/useAuth.ts
index 92d5f2f..f65798a 100644
--- a/frontend/src/hooks/useAuth.ts
+++ b/frontend/src/hooks/useAuth.ts
@@ -7,13 +7,14 @@ export interface AuthUser {
verified: boolean;
}
-// PocketBase RecordModel stores user fields as dynamic properties
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-function recordToUser(record: any): AuthUser {
+function recordToUser(record: { id: string; [key: string]: unknown }): AuthUser {
+ if (typeof record.email !== 'string') {
+ throw new Error('PocketBase record missing email field');
+ }
return {
- id: record.id || '',
- email: record.email || '',
- verified: record.verified || false,
+ id: record.id,
+ email: record.email,
+ verified: typeof record.verified === 'boolean' ? record.verified : false,
};
}
diff --git a/frontend/src/hooks/useDeckLayers.ts b/frontend/src/hooks/useDeckLayers.ts
index 4248813..b3f0d28 100644
--- a/frontend/src/hooks/useDeckLayers.ts
+++ b/frontend/src/hooks/useDeckLayers.ts
@@ -6,13 +6,18 @@ import type {
HexagonData,
PostcodeFeature,
PostcodeProperties,
+ PostcodeGeometry,
POI,
FeatureMeta,
Bounds,
} from '../types';
-import type { SearchedPostcode } from '../components/map/PostcodeSearch';
import { DENSITY_GRADIENT, DENSITY_GRADIENT_DARK } from '../lib/consts';
import { emojiToTwemojiUrl, getFeatureFillColor } from '../lib/map-utils';
+import {
+ TRANSPORT_MODES,
+ type TransportMode,
+ type TravelTimeEntries,
+} from './useTravelTime';
/** Convert POI id (e.g. "n12345") to OpenStreetMap URL */
function osmIdToUrl(id: string): string | null {
@@ -38,12 +43,10 @@ interface UseDeckLayersProps {
onHexagonClick: (id: string, isPostcode?: boolean) => void;
onHexagonHover: (h3: string | null, x?: number, y?: number) => void;
theme: 'light' | 'dark';
- searchedPostcode?: SearchedPostcode | null;
+ selectedPostcodeGeometry?: PostcodeGeometry | null;
bounds?: Bounds | null;
- travelTimeEnabled?: boolean;
- travelTimeDestination?: [number, number] | null;
- travelTimeColorRange?: [number, number] | null;
- travelTimeRange?: [number, number] | null;
+ travelTimeEntries?: TravelTimeEntries;
+ travelTimeColorRanges?: Partial>;
}
export interface PopupInfo {
@@ -54,6 +57,17 @@ export interface PopupInfo {
id: string;
}
+/** Find the primary travel mode: first mode (in canonical order) with a destination and color range. */
+function getPrimaryTravelMode(
+ entries: TravelTimeEntries,
+ colorRanges: Partial>
+): TransportMode | null {
+ for (const mode of TRANSPORT_MODES) {
+ if (entries[mode]?.destination && colorRanges[mode]) return mode;
+ }
+ return null;
+}
+
export function useDeckLayers({
data,
postcodeData,
@@ -68,12 +82,10 @@ export function useDeckLayers({
onHexagonClick,
onHexagonHover,
theme,
- searchedPostcode,
+ selectedPostcodeGeometry,
bounds: viewportBounds,
- travelTimeEnabled = false,
- travelTimeDestination,
- travelTimeColorRange,
- travelTimeRange,
+ travelTimeEntries = {},
+ travelTimeColorRanges = {},
}: UseDeckLayersProps) {
const [popupInfo, setPopupInfo] = useState(null);
const [hoverPosition, setHoverPosition] = useState<{ x: number; y: number } | null>(null);
@@ -103,14 +115,17 @@ export function useDeckLayers({
const hoveredPostcodeRef = useRef(hoveredPostcode);
hoveredPostcodeRef.current = hoveredPostcode;
- const travelTimeEnabledRef = useRef(travelTimeEnabled);
- travelTimeEnabledRef.current = travelTimeEnabled;
- const travelTimeDestinationRef = useRef(travelTimeDestination);
- travelTimeDestinationRef.current = travelTimeDestination;
- const travelTimeColorRangeRef = useRef(travelTimeColorRange);
- travelTimeColorRangeRef.current = travelTimeColorRange;
- const travelTimeRangeRef = useRef(travelTimeRange);
- travelTimeRangeRef.current = travelTimeRange;
+ const travelTimeEntriesRef = useRef(travelTimeEntries);
+ travelTimeEntriesRef.current = travelTimeEntries;
+ const travelTimeColorRangesRef = useRef(travelTimeColorRanges);
+ travelTimeColorRangesRef.current = travelTimeColorRanges;
+
+ const primaryTravelMode = useMemo(
+ () => getPrimaryTravelMode(travelTimeEntries, travelTimeColorRanges),
+ [travelTimeEntries, travelTimeColorRanges]
+ );
+ const primaryTravelModeRef = useRef(primaryTravelMode);
+ primaryTravelModeRef.current = primaryTravelMode;
const colorFeatureMeta = useMemo(
() => (viewFeature ? features.find((f) => f.name === viewFeature) || null : null),
@@ -238,7 +253,17 @@ export function useDeckLayers({
}, []);
// --- Color triggers ---
- const ttTrigger = `${travelTimeEnabled}|${travelTimeColorRange?.[0]}|${travelTimeColorRange?.[1]}|${travelTimeRange?.[0]}|${travelTimeRange?.[1]}|${travelTimeDestination?.[0]}|${travelTimeDestination?.[1]}`;
+ // Build travel time trigger from all entries
+ const ttTrigger = useMemo(() => {
+ const parts: string[] = [];
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTimeEntries[mode];
+ const cr = travelTimeColorRanges[mode];
+ parts.push(`${mode}:${entry?.destination?.[0]}|${entry?.destination?.[1]}|${cr?.[0]}|${cr?.[1]}|${entry?.timeRange?.[0]}|${entry?.timeRange?.[1]}`);
+ }
+ return parts.join(';');
+ }, [travelTimeEntries, travelTimeColorRanges]);
+
const colorTrigger = `${viewFeature}|${colorRange?.[0]}|${colorRange?.[1]}|${filterRange?.[0]}|${filterRange?.[1]}|${countRange.min}|${countRange.max}|${selectedHexagonId}|${hoveredHexagonId}|${theme}|${ttTrigger}`;
const postcodeColorTrigger = `${viewFeature}|${colorRange?.[0]}|${colorRange?.[1]}|${filterRange?.[0]}|${filterRange?.[1]}|${postcodeCountRange.min}|${postcodeCountRange.max}|${selectedPostcode}|${hoveredPostcode}|${theme}|${ttTrigger}`;
@@ -251,17 +276,28 @@ export function useDeckLayers({
getHexagon: (d) => d.h3,
getFillColor: (d) => {
const dark = isDarkRef.current;
- // Travel time coloring takes priority
- if (travelTimeEnabledRef.current && travelTimeDestinationRef.current) {
- const ttVal = d.travel_time;
- const ttClr = travelTimeColorRangeRef.current;
+ const pm = primaryTravelModeRef.current;
+ const entries = travelTimeEntriesRef.current;
+ const colorRanges = travelTimeColorRangesRef.current;
+
+ // Travel time coloring: primary mode colors, others dim-filter
+ if (pm) {
+ const ttVal = d[`travel_time_${pm}`];
+ const ttClr = colorRanges[pm];
if (ttVal == null) {
return (dark ? [80, 70, 65, 80] : [128, 128, 128, 80]) as [number, number, number, number];
}
- const ttFr = travelTimeRangeRef.current;
- if (ttFr && ((ttVal as number) < ttFr[0] || (ttVal as number) > ttFr[1])) {
- return (dark ? [60, 55, 50, 60] : [180, 180, 180, 60]) as [number, number, number, number];
+
+ // Check all modes with time ranges as filters (including primary)
+ for (const mode of TRANSPORT_MODES) {
+ const entry = entries[mode];
+ if (!entry?.timeRange) continue;
+ const modeVal = d[`travel_time_${mode}`];
+ if (modeVal == null || (modeVal as number) < entry.timeRange[0] || (modeVal as number) > entry.timeRange[1]) {
+ return (dark ? [60, 55, 50, 60] : [180, 180, 180, 60]) as [number, number, number, number];
+ }
}
+
if (ttClr) {
return getFeatureFillColor(
ttVal as number,
@@ -464,19 +500,19 @@ export function useDeckLayers({
[pois, stablePoiHover]
);
- // Check if the searched postcode has data (passes current filters)
- const searchedPostcodeHasData = useMemo(() => {
- if (!searchedPostcode) return false;
- return postcodeData.some((f) => f.properties.postcode === searchedPostcode.postcode);
- }, [searchedPostcode, postcodeData]);
+ // Check if the selected postcode has data (passes current filters)
+ const selectedPostcodeHasData = useMemo(() => {
+ if (!selectedPostcodeGeometry || !selectedHexagonId) return false;
+ return postcodeData.some((f) => f.properties.postcode === selectedHexagonId);
+ }, [selectedPostcodeGeometry, selectedHexagonId, postcodeData]);
- // Highlight layer for searched postcode
- const searchedPostcodeHighlightLayer = useMemo(() => {
- if (!searchedPostcode) return null;
- const hasData = searchedPostcodeHasData;
+ // Highlight layer for selected postcode (from search)
+ const selectedPostcodeHighlightLayer = useMemo(() => {
+ if (!selectedPostcodeGeometry) return null;
+ const hasData = selectedPostcodeHasData;
const feature = {
type: 'Feature' as const,
- geometry: searchedPostcode.geometry,
+ geometry: selectedPostcodeGeometry,
properties: {},
};
return new GeoJsonLayer({
@@ -494,13 +530,25 @@ export function useDeckLayers({
filled: true,
pickable: false,
});
- }, [searchedPostcode, searchedPostcodeHasData]);
+ }, [selectedPostcodeGeometry, selectedPostcodeHasData]);
+
+ // Destination markers: one red dot per mode with a destination
+ const destinationMarkerData = useMemo(() => {
+ const points: { position: [number, number] }[] = [];
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTimeEntries[mode];
+ if (entry?.destination) {
+ points.push({ position: [entry.destination[1], entry.destination[0]] });
+ }
+ }
+ return points;
+ }, [travelTimeEntries]);
const destinationMarkerLayer = useMemo(() => {
- if (!travelTimeEnabled || !travelTimeDestination) return null;
+ if (destinationMarkerData.length === 0) return null;
return new ScatterplotLayer({
- id: 'travel-time-destination',
- data: [{ position: [travelTimeDestination[1], travelTimeDestination[0]] }],
+ id: 'travel-time-destinations',
+ data: destinationMarkerData,
getPosition: (d: { position: [number, number] }) => d.position,
getRadius: 8,
getFillColor: [239, 68, 68, 220],
@@ -511,14 +559,14 @@ export function useDeckLayers({
stroked: true,
pickable: false,
});
- }, [travelTimeEnabled, travelTimeDestination]);
+ }, [destinationMarkerData]);
const layers = useMemo(() => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const baseLayers: any[] = usePostcodeView
? [postcodeLayer, postcodeLabelsLayer, poiLayer]
: [hexLayer, poiLayer];
- if (searchedPostcodeHighlightLayer) baseLayers.push(searchedPostcodeHighlightLayer);
+ if (selectedPostcodeHighlightLayer) baseLayers.push(selectedPostcodeHighlightLayer);
if (destinationMarkerLayer) baseLayers.push(destinationMarkerLayer);
return baseLayers;
}, [
@@ -527,7 +575,7 @@ export function useDeckLayers({
postcodeLayer,
postcodeLabelsLayer,
poiLayer,
- searchedPostcodeHighlightLayer,
+ selectedPostcodeHighlightLayer,
destinationMarkerLayer,
]);
@@ -548,5 +596,6 @@ export function useDeckLayers({
handleMouseLeave,
selectedPostcode,
hoveredPostcode,
+ primaryTravelMode,
};
}
diff --git a/frontend/src/hooks/useFilters.ts b/frontend/src/hooks/useFilters.ts
index 25d2bd2..2e83a8a 100644
--- a/frontend/src/hooks/useFilters.ts
+++ b/frontend/src/hooks/useFilters.ts
@@ -78,7 +78,8 @@ export function useFilters({ initialFilters, features }: UseFiltersOptions) {
const m = features.find((f) => f.name === n);
if (m?.type === 'enum') return `${n}:${(value as string[]).join('|')}`;
const [min, max] = value as [number, number];
- return `${n}:${min}:${max}`;
+ const maxStr = m?.absolute && max === m.max ? 'inf' : String(max);
+ return `${n}:${min}:${maxStr}`;
})
.join(',');
}
diff --git a/frontend/src/hooks/useHexagonSelection.ts b/frontend/src/hooks/useHexagonSelection.ts
index 098ead8..6c88aac 100644
--- a/frontend/src/hooks/useHexagonSelection.ts
+++ b/frontend/src/hooks/useHexagonSelection.ts
@@ -3,10 +3,11 @@ import type {
FeatureMeta,
FeatureFilters,
Property,
+ PostcodeGeometry,
HexagonPropertiesResponse,
HexagonStatsResponse,
} from '../types';
-import { buildFilterString, apiUrl, logNonAbortError, authHeaders } from '../lib/api';
+import { buildFilterString, apiUrl, assertOk, logNonAbortError, authHeaders } from '../lib/api';
interface SelectedHexagon {
id: string;
@@ -30,6 +31,8 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
const [loadingAreaStats, setLoadingAreaStats] = useState(false);
const [hoveredHexagon, setHoveredHexagon] = useState(null);
const [rightPaneTab, setRightPaneTab] = useState<'properties' | 'area'>('area');
+ const [selectedPostcodeGeometry, setSelectedPostcodeGeometry] =
+ useState(null);
const fetchHexagonStats = useCallback(
async (h3: string, res: number, signal?: AbortSignal, fields?: string[]) => {
@@ -43,6 +46,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
params.set('fields', fields.join(','));
}
const response = await fetch(apiUrl('hexagon-stats', params), authHeaders({ signal }));
+ assertOk(response, 'hexagon-stats');
return (await response.json()) as HexagonStatsResponse;
},
[filters, features]
@@ -54,6 +58,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
const filterStr = buildFilterString(filters, features);
if (filterStr) params.append('filters', filterStr);
const response = await fetch(apiUrl('postcode-stats', params), authHeaders({ signal }));
+ assertOk(response, 'postcode-stats');
return (await response.json()) as HexagonStatsResponse;
},
[filters, features]
@@ -74,6 +79,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
if (filterStr) params.append('filters', filterStr);
const response = await fetch(apiUrl('hexagon-properties', params), authHeaders());
+ assertOk(response, 'hexagon-properties');
const data: HexagonPropertiesResponse = await response.json();
if (offset === 0) {
@@ -84,7 +90,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
setPropertiesTotal(data.total);
setPropertiesOffset(offset + data.properties.length);
} catch (err) {
- console.error('Failed to fetch properties:', err);
+ logNonAbortError('Failed to fetch properties', err);
} finally {
setLoadingProperties(false);
}
@@ -94,6 +100,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
const handleHexagonClick = useCallback(
(id: string, isPostcode = false) => {
+ setSelectedPostcodeGeometry(null);
if (selectedHexagon?.id === id) {
setSelectedHexagon(null);
setProperties([]);
@@ -154,8 +161,27 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
setSelectedHexagon(null);
setProperties([]);
setAreaStats(null);
+ setSelectedPostcodeGeometry(null);
}, []);
+ const handleLocationSearch = useCallback(
+ (postcode: string, geometry: PostcodeGeometry) => {
+ setSelectedHexagon({ id: postcode, type: 'postcode', resolution });
+ setSelectedPostcodeGeometry(geometry);
+ setProperties([]);
+ setPropertiesTotal(0);
+ setPropertiesOffset(0);
+ setRightPaneTab('area');
+
+ setLoadingAreaStats(true);
+ fetchPostcodeStats(postcode)
+ .then((stats) => setAreaStats(stats))
+ .catch((error) => logNonAbortError('Failed to fetch postcode stats', error))
+ .finally(() => setLoadingAreaStats(false));
+ },
+ [resolution, fetchPostcodeStats]
+ );
+
return {
selectedHexagon,
properties,
@@ -172,5 +198,7 @@ export function useHexagonSelection({ filters, features, resolution }: UseHexago
handlePropertiesTabClick,
handleLoadMoreProperties,
handleCloseSelection,
+ selectedPostcodeGeometry,
+ handleLocationSearch,
};
}
diff --git a/frontend/src/hooks/useLocationSearch.ts b/frontend/src/hooks/useLocationSearch.ts
new file mode 100644
index 0000000..1a60837
--- /dev/null
+++ b/frontend/src/hooks/useLocationSearch.ts
@@ -0,0 +1,123 @@
+import { useState, useCallback, useRef, useEffect } from 'react';
+import type { PlaceResult } from '../types';
+import { authHeaders, logNonAbortError } from '../lib/api';
+
+const POSTCODE_RE = /^[A-Z]{1,2}\d[A-Z\d]?\s*\d?[A-Z]{0,2}$/i;
+
+export function looksLikePostcode(s: string) {
+ return POSTCODE_RE.test(s.trim());
+}
+
+export type SearchResult =
+ | { type: 'postcode'; label: string }
+ | { type: 'place'; name: string; place_type: string; lat: number; lon: number; city?: string };
+
+export function useLocationSearch() {
+ const [query, setQuery] = useState('');
+ const [results, setResults] = useState([]);
+ const [activeIndex, setActiveIndex] = useState(-1);
+ const [open, setOpen] = useState(false);
+ const abortRef = useRef(null);
+ const debounceRef = useRef>();
+
+ const handleInputChange = useCallback((value: string) => {
+ setQuery(value);
+ setActiveIndex(-1);
+
+ abortRef.current?.abort();
+ if (debounceRef.current) clearTimeout(debounceRef.current);
+
+ const trimmed = value.trim();
+ if (!trimmed) {
+ setResults([]);
+ setOpen(false);
+ return;
+ }
+
+ if (looksLikePostcode(trimmed)) {
+ setResults([{ type: 'postcode', label: trimmed.toUpperCase() }]);
+ setOpen(true);
+ return;
+ }
+
+ if (trimmed.length < 2) {
+ setResults([]);
+ setOpen(false);
+ return;
+ }
+
+ debounceRef.current = setTimeout(async () => {
+ const controller = new AbortController();
+ abortRef.current = controller;
+ try {
+ const params = new URLSearchParams({ q: trimmed, limit: '7' });
+ const res = await fetch(
+ `/api/places?${params}`,
+ authHeaders({ signal: controller.signal }),
+ );
+ if (!res.ok) return;
+ const json: { places: PlaceResult[] } = await res.json();
+ const placeResults: SearchResult[] = json.places.map((p) => ({
+ type: 'place' as const,
+ ...p,
+ }));
+ setResults(placeResults);
+ setOpen(placeResults.length > 0);
+ } catch (err) {
+ logNonAbortError('places search', err);
+ }
+ }, 200);
+ }, []);
+
+ const close = useCallback(() => setOpen(false), []);
+
+ const clear = useCallback(() => {
+ setQuery('');
+ setResults([]);
+ setOpen(false);
+ setActiveIndex(-1);
+ }, []);
+
+ const handleKeyDown = useCallback(
+ (e: React.KeyboardEvent, onSelect: (result: SearchResult) => void) => {
+ if (e.key === 'ArrowDown') {
+ e.preventDefault();
+ setActiveIndex((prev) => (prev < results.length - 1 ? prev + 1 : prev));
+ } else if (e.key === 'ArrowUp') {
+ e.preventDefault();
+ setActiveIndex((prev) => (prev > 0 ? prev - 1 : -1));
+ } else if (e.key === 'Enter') {
+ e.preventDefault();
+ if (activeIndex >= 0 && activeIndex < results.length) {
+ onSelect(results[activeIndex]);
+ } else if (looksLikePostcode(query)) {
+ onSelect({ type: 'postcode', label: query.trim().toUpperCase() });
+ }
+ } else if (e.key === 'Escape') {
+ setOpen(false);
+ }
+ },
+ [results, activeIndex, query],
+ );
+
+ // Cleanup on unmount
+ useEffect(() => {
+ return () => {
+ abortRef.current?.abort();
+ if (debounceRef.current) clearTimeout(debounceRef.current);
+ };
+ }, []);
+
+ return {
+ query,
+ results,
+ activeIndex,
+ setActiveIndex,
+ open,
+ setOpen,
+ handleInputChange,
+ handleKeyDown,
+ close,
+ clear,
+ };
+}
diff --git a/frontend/src/hooks/useMapData.ts b/frontend/src/hooks/useMapData.ts
index 14b983c..f87df78 100644
--- a/frontend/src/hooks/useMapData.ts
+++ b/frontend/src/hooks/useMapData.ts
@@ -8,9 +8,10 @@ import type {
ViewChangeParams,
ApiResponse,
} from '../types';
-import { buildFilterString, apiUrl, logNonAbortError, authHeaders } from '../lib/api';
+import { buildFilterString, apiUrl, assertOk, logNonAbortError, authHeaders } from '../lib/api';
import { POSTCODE_ZOOM_THRESHOLD } from '../lib/consts';
import { COLOR_RANGE_LOW_PERCENTILE, COLOR_RANGE_HIGH_PERCENTILE } from '../lib/consts';
+import { TRANSPORT_MODES, type TransportMode, type TravelTimeEntries } from './useTravelTime';
/** Return the p-th percentile (0–100) from a sorted array via linear interpolation. */
function percentile(sorted: number[], p: number): number {
@@ -32,9 +33,7 @@ interface UseMapDataOptions {
activeFeature: string | null;
dragValue: [number, number] | null;
dragData: HexagonData[] | null;
- travelTimeEnabled: boolean;
- travelTimeDestination: [number, number] | null;
- travelTimeMode: string;
+ travelTimeEntries: TravelTimeEntries;
}
export function useMapData({
@@ -44,9 +43,7 @@ export function useMapData({
activeFeature,
dragValue,
dragData,
- travelTimeEnabled,
- travelTimeDestination,
- travelTimeMode,
+ travelTimeEntries,
}: UseMapDataOptions) {
const [rawData, setRawData] = useState([]);
const [postcodeData, setPostcodeData] = useState([]);
@@ -71,6 +68,18 @@ export function useMapData({
[filters, features]
);
+ // Build the travel param string from entries with destinations
+ const travelParam = useMemo((): string => {
+ const segments: string[] = [];
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTimeEntries[mode];
+ if (entry?.destination) {
+ segments.push(`${entry.destination[0]},${entry.destination[1]},${mode}`);
+ }
+ }
+ return segments.join('|');
+ }, [travelTimeEntries]);
+
// Fetch hexagons or postcodes when bounds/filters change
useEffect(() => {
if (!bounds) return;
@@ -100,6 +109,7 @@ export function useMapData({
signal: abortControllerRef.current.signal,
})
);
+ assertOk(res, 'postcodes');
const json: { features: PostcodeFeature[] } = await res.json();
setPostcodeData(json.features);
setRawData([]);
@@ -110,9 +120,8 @@ export function useMapData({
});
if (filtersStr) params.set('filters', filtersStr);
params.set('fields', viewFeature || '');
- if (travelTimeEnabled && travelTimeDestination) {
- params.set('destination', `${travelTimeDestination[0]},${travelTimeDestination[1]}`);
- params.set('mode', travelTimeMode);
+ if (travelParam) {
+ params.set('travel', travelParam);
}
const res = await fetch(
apiUrl('hexagons', params),
@@ -120,6 +129,7 @@ export function useMapData({
signal: abortControllerRef.current.signal,
})
);
+ assertOk(res, 'hexagons');
const json: ApiResponse = await res.json();
setRawData(json.features);
setPostcodeData([]);
@@ -136,7 +146,7 @@ export function useMapData({
clearTimeout(debounceRef.current);
}
};
- }, [resolution, bounds, filters, buildFilterParam, viewFeature, usePostcodeView, travelTimeEnabled, travelTimeDestination, travelTimeMode]);
+ }, [resolution, bounds, filters, buildFilterParam, viewFeature, usePostcodeView, travelParam]);
const data = dragData ?? rawData;
@@ -159,7 +169,7 @@ export function useMapData({
if (lat < bounds.south || lat > bounds.north || lng < bounds.west || lng > bounds.east)
continue;
}
- const val = feat.properties[`avg_${viewFeature}`] ?? feat.properties[`min_${viewFeature}`];
+ const val = feat.properties[`avg_${viewFeature}`];
if (typeof val === 'number' && !isNaN(val)) vals.push(val);
}
} else {
@@ -170,7 +180,7 @@ export function useMapData({
if (lat < bounds.south || lat > bounds.north || lon < bounds.west || lon > bounds.east)
continue;
}
- const val = item[`avg_${viewFeature}`] ?? item[`min_${viewFeature}`];
+ const val = item[`avg_${viewFeature}`];
if (typeof val === 'number' && !isNaN(val)) vals.push(val);
}
}
@@ -197,26 +207,32 @@ export function useMapData({
return null;
}, [viewFeature, features, dataRange, activeFeature, dragValue]);
- // Color range for travel time (computed from response data)
- const travelTimeColorRange = useMemo((): [number, number] | null => {
- if (!travelTimeEnabled || !travelTimeDestination) return null;
- const vals: number[] = [];
- for (const item of data) {
- if (bounds) {
- const { lat, lon } = item;
- if (lat < bounds.south || lat > bounds.north || lon < bounds.west || lon > bounds.east)
- continue;
+ // Color ranges for travel time per mode (computed from response data)
+ const travelTimeColorRanges = useMemo((): Partial> => {
+ const ranges: Partial> = {};
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTimeEntries[mode];
+ if (!entry?.destination) continue;
+ const fieldName = `travel_time_${mode}`;
+ const vals: number[] = [];
+ for (const item of data) {
+ if (bounds) {
+ const { lat, lon } = item;
+ if (lat < bounds.south || lat > bounds.north || lon < bounds.west || lon > bounds.east)
+ continue;
+ }
+ const val = item[fieldName];
+ if (typeof val === 'number' && !isNaN(val)) vals.push(val);
}
- const val = item.travel_time;
- if (typeof val === 'number' && !isNaN(val)) vals.push(val);
+ if (vals.length === 0) continue;
+ vals.sort((a, b) => a - b);
+ ranges[mode] = [
+ percentile(vals, COLOR_RANGE_LOW_PERCENTILE),
+ percentile(vals, COLOR_RANGE_HIGH_PERCENTILE),
+ ];
}
- if (vals.length === 0) return null;
- vals.sort((a, b) => a - b);
- return [
- percentile(vals, COLOR_RANGE_LOW_PERCENTILE),
- percentile(vals, COLOR_RANGE_HIGH_PERCENTILE),
- ];
- }, [travelTimeEnabled, travelTimeDestination, data, bounds]);
+ return ranges;
+ }, [travelTimeEntries, data, bounds]);
const handleViewChange = useCallback(
({
@@ -257,7 +273,7 @@ export function useMapData({
currentView,
usePostcodeView,
colorRange,
- travelTimeColorRange,
+ travelTimeColorRanges,
handleViewChange,
setInitialView,
};
diff --git a/frontend/src/hooks/useTravelTime.ts b/frontend/src/hooks/useTravelTime.ts
index 4f9d60a..7f6626b 100644
--- a/frontend/src/hooks/useTravelTime.ts
+++ b/frontend/src/hooks/useTravelTime.ts
@@ -1,67 +1,83 @@
-import { useState, useCallback } from 'react';
+import { useState, useCallback, useMemo } from 'react';
export type TransportMode = 'car' | 'bicycle' | 'walking' | 'transit';
-export interface TravelTimeState {
- enabled: boolean;
+export const TRANSPORT_MODES: TransportMode[] = ['car', 'bicycle', 'walking', 'transit'];
+
+export const MODE_LABELS: Record = {
+ car: 'Car',
+ bicycle: 'Bicycle',
+ walking: 'Walking',
+ transit: 'Transit',
+};
+
+export interface TravelTimeEntry {
destination: [number, number] | null; // [lat, lon]
destinationLabel: string;
- mode: TransportMode;
timeRange: [number, number] | null;
}
+export type TravelTimeEntries = Partial>;
+
export interface TravelTimeInitial {
- destination?: [number, number];
- destinationLabel?: string;
- mode?: TransportMode;
- timeRange?: [number, number];
+ entries?: TravelTimeEntries;
}
export function useTravelTime(initial?: TravelTimeInitial) {
- const [enabled, setEnabled] = useState(!!initial?.destination);
- const [destination, setDestination] = useState<[number, number] | null>(
- initial?.destination ?? null
- );
- const [destinationLabel, setDestinationLabel] = useState(initial?.destinationLabel ?? '');
- const [mode, setMode] = useState(initial?.mode ?? 'car');
- const [timeRange, setTimeRange] = useState<[number, number] | null>(
- initial?.timeRange ?? null
+ const [entries, setEntries] = useState(initial?.entries ?? {});
+
+ const activeModes = useMemo(
+ () => TRANSPORT_MODES.filter((m) => m in entries),
+ [entries]
);
- const handleEnable = useCallback(() => {
- setEnabled(true);
+ const modesWithDestination = useMemo(
+ () => TRANSPORT_MODES.filter((m) => entries[m]?.destination != null),
+ [entries]
+ );
+
+ const handleEnableMode = useCallback((mode: TransportMode) => {
+ setEntries((prev) => ({
+ ...prev,
+ [mode]: { destination: null, destinationLabel: '', timeRange: null },
+ }));
}, []);
- const handleDisable = useCallback(() => {
- setEnabled(false);
- setDestination(null);
- setDestinationLabel('');
- setTimeRange(null);
+ const handleDisableMode = useCallback((mode: TransportMode) => {
+ setEntries((prev) => {
+ const next = { ...prev };
+ delete next[mode];
+ return next;
+ });
}, []);
- const handleSetDestination = useCallback((lat: number, lon: number, label: string) => {
- setDestination([lat, lon]);
- setDestinationLabel(label);
- }, []);
+ const handleSetDestination = useCallback(
+ (mode: TransportMode, lat: number, lon: number, label: string) => {
+ setEntries((prev) => ({
+ ...prev,
+ [mode]: { ...prev[mode], destination: [lat, lon] as [number, number], destinationLabel: label },
+ }));
+ },
+ []
+ );
- const handleModeChange = useCallback((newMode: TransportMode) => {
- setMode(newMode);
- }, []);
-
- const handleTimeRangeChange = useCallback((range: [number, number]) => {
- setTimeRange(range);
- }, []);
+ const handleTimeRangeChange = useCallback(
+ (mode: TransportMode, range: [number, number]) => {
+ setEntries((prev) => ({
+ ...prev,
+ [mode]: { ...prev[mode], timeRange: range },
+ }));
+ },
+ []
+ );
return {
- enabled,
- destination,
- destinationLabel,
- mode,
- timeRange,
- handleEnable,
- handleDisable,
+ entries,
+ activeModes,
+ modesWithDestination,
+ handleEnableMode,
+ handleDisableMode,
handleSetDestination,
- handleModeChange,
handleTimeRangeChange,
};
}
diff --git a/frontend/src/hooks/useUrlSync.ts b/frontend/src/hooks/useUrlSync.ts
index b3dea39..782bf2c 100644
--- a/frontend/src/hooks/useUrlSync.ts
+++ b/frontend/src/hooks/useUrlSync.ts
@@ -1,15 +1,7 @@
import { useEffect, useRef } from 'react';
import type { FeatureMeta, FeatureFilters } from '../types';
import { stateToParams } from '../lib/url-state';
-import type { TransportMode } from './useTravelTime';
-
-export interface TravelTimeUrlState {
- enabled: boolean;
- destination: [number, number] | null;
- destinationLabel: string;
- mode: TransportMode;
- timeRange: [number, number] | null;
-}
+import type { TravelTimeEntries } from './useTravelTime';
const URL_DEBOUNCE_MS = 300;
@@ -19,7 +11,7 @@ export function useUrlSync(
features: FeatureMeta[],
selectedPOICategories: Set,
rightPaneTab: 'properties' | 'area',
- travelTime?: TravelTimeUrlState
+ travelTimeEntries?: TravelTimeEntries
) {
const urlDebounceRef = useRef | null>(null);
@@ -34,7 +26,7 @@ export function useUrlSync(
features,
selectedPOICategories,
rightPaneTab,
- travelTime
+ travelTimeEntries
);
const search = params.toString();
const newUrl = search ? `${window.location.pathname}?${search}` : window.location.pathname;
@@ -44,5 +36,5 @@ export function useUrlSync(
return () => {
if (urlDebounceRef.current) clearTimeout(urlDebounceRef.current);
};
- }, [currentView, filters, features, selectedPOICategories, rightPaneTab, travelTime]);
+ }, [currentView, filters, features, selectedPOICategories, rightPaneTab, travelTimeEntries]);
}
diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts
index 0662105..b8f2560 100644
--- a/frontend/src/lib/api.ts
+++ b/frontend/src/lib/api.ts
@@ -10,6 +10,17 @@ export function logNonAbortError(label: string, error: unknown): void {
console.error(`${label}:`, error);
}
+export function isAbortError(error: unknown): boolean {
+ return error instanceof Error && error.name === 'AbortError';
+}
+
+/** Throw if response is not 2xx. Call before `.json()`. */
+export function assertOk(res: Response, label: string): void {
+ if (!res.ok) {
+ throw new Error(`${label}: HTTP ${res.status} ${res.statusText}`);
+ }
+}
+
export function authHeaders(init?: RequestInit): RequestInit {
const headers: Record = {};
if (pb.authStore.isValid && pb.authStore.token) {
@@ -69,7 +80,8 @@ export function buildFilterString(filters: FeatureFilters, features: FeatureMeta
return `${name}:${(value as string[]).join('|')}`;
}
const [min, max] = value as [number, number];
- return `${name}:${min}:${max}`;
+ const maxStr = meta?.absolute && max === meta.max ? 'inf' : String(max);
+ return `${name}:${min}:${maxStr}`;
})
.join(',');
}
diff --git a/frontend/src/lib/url-state.ts b/frontend/src/lib/url-state.ts
index 4049ecd..54164f0 100644
--- a/frontend/src/lib/url-state.ts
+++ b/frontend/src/lib/url-state.ts
@@ -1,5 +1,10 @@
import type { FeatureMeta, FeatureFilters, ViewState } from '../types';
-import type { TransportMode, TravelTimeInitial } from '../hooks/useTravelTime';
+import {
+ TRANSPORT_MODES,
+ type TransportMode,
+ type TravelTimeEntries,
+ type TravelTimeInitial,
+} from '../hooks/useTravelTime';
function parseFilters(params: URLSearchParams): FeatureFilters | undefined {
const filterParams = params.getAll('filter');
@@ -65,26 +70,33 @@ export function parseUrlState(): {
result.tab = tab;
}
- // Travel time
- const dest = params.get('dest');
- if (dest) {
- const parts = dest.split(',').map(Number);
- if (parts.length === 2 && parts.every((n) => !isNaN(n))) {
- const tt: TravelTimeInitial = {
- destination: [parts[0], parts[1]],
- destinationLabel: params.get('destLabel') || '',
- mode: (params.get('tmode') as TransportMode) || 'car',
- };
- const ttRange = params.get('tt');
- if (ttRange) {
- const [min, max] = ttRange.split(':').map(Number);
- if (!isNaN(min) && !isNaN(max)) {
- tt.timeRange = [min, max];
+ // Travel time: per-mode params (tt_car=lat,lon ttl_car=label ttr_car=min:max)
+ const entries: TravelTimeEntries = {};
+ for (const mode of TRANSPORT_MODES) {
+ const dest = params.get(`tt_${mode}`);
+ if (dest) {
+ const parts = dest.split(',').map(Number);
+ if (parts.length === 2 && parts.every((n) => !isNaN(n))) {
+ const label = params.get(`ttl_${mode}`) || '';
+ let timeRange: [number, number] | null = null;
+ const rangeStr = params.get(`ttr_${mode}`);
+ if (rangeStr) {
+ const [min, max] = rangeStr.split(':').map(Number);
+ if (!isNaN(min) && !isNaN(max)) {
+ timeRange = [min, max];
+ }
}
+ entries[mode] = {
+ destination: [parts[0], parts[1]],
+ destinationLabel: label,
+ timeRange,
+ };
}
- result.travelTime = tt;
}
}
+ if (Object.keys(entries).length > 0) {
+ result.travelTime = { entries };
+ }
return result;
}
@@ -95,7 +107,7 @@ export function stateToParams(
features: FeatureMeta[],
selectedPOICategories: Set,
rightPaneTab: 'properties' | 'area',
- travelTime?: { enabled: boolean; destination: [number, number] | null; destinationLabel: string; mode: string; timeRange: [number, number] | null }
+ travelTimeEntries?: TravelTimeEntries
): URLSearchParams {
const params = new URLSearchParams();
@@ -123,16 +135,18 @@ export function stateToParams(
params.set('tab', 'properties');
}
- if (travelTime?.enabled && travelTime.destination) {
- params.set('dest', `${travelTime.destination[0].toFixed(5)},${travelTime.destination[1].toFixed(5)}`);
- if (travelTime.destinationLabel) {
- params.set('destLabel', travelTime.destinationLabel);
- }
- if (travelTime.mode !== 'car') {
- params.set('tmode', travelTime.mode);
- }
- if (travelTime.timeRange) {
- params.set('tt', `${travelTime.timeRange[0]}:${travelTime.timeRange[1]}`);
+ // Travel time: per-mode params
+ if (travelTimeEntries) {
+ for (const mode of TRANSPORT_MODES) {
+ const entry = travelTimeEntries[mode];
+ if (!entry?.destination) continue;
+ params.set(`tt_${mode}`, `${entry.destination[0].toFixed(5)},${entry.destination[1].toFixed(5)}`);
+ if (entry.destinationLabel) {
+ params.set(`ttl_${mode}`, entry.destinationLabel);
+ }
+ if (entry.timeRange) {
+ params.set(`ttr_${mode}`, `${entry.timeRange[0]}:${entry.timeRange[1]}`);
+ }
}
}
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index 6eec4ab..380d837 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -17,6 +17,7 @@ export interface FeatureMeta {
prefix?: string;
suffix?: string;
raw?: boolean;
+ absolute?: boolean;
}
export interface FeatureGroup {
@@ -104,6 +105,7 @@ export interface PlaceResult {
place_type: string;
lat: number;
lon: number;
+ city?: string;
}
export interface RenovationEvent {
diff --git a/pipeline/download/places.py b/pipeline/download/places.py
index 68b51d7..908e81d 100644
--- a/pipeline/download/places.py
+++ b/pipeline/download/places.py
@@ -1,6 +1,7 @@
-"""Extract place=* nodes from OSM PBF → data/places.parquet.
+"""Extract place=* nodes and railway stations from OSM PBF → data/places.parquet.
-Extracts named place nodes (cities, towns, suburbs, etc.) for typeahead search.
+Extracts named place nodes (cities, towns, suburbs, etc.) and railway stations
+(tube, national rail, DLR, etc.) for typeahead search.
Reuses the same great-britain-latest.osm.pbf as pois.py.
"""
@@ -18,13 +19,54 @@ PLACE_TYPES = {
"borough",
"town",
"suburb",
+ "quarter",
"neighbourhood",
"village",
"hamlet",
"locality",
+ "island",
"isolated_dwelling",
}
+# Suffixes to strip from raw station names before appending the typed suffix.
+_STATION_STRIP = (
+ " tube station",
+ " underground station",
+ " railway station",
+ " dlr station",
+ " overground station",
+ " tram stop",
+ " station",
+)
+
+
+def _station_display_name(name: str, tags: dict[str, str]) -> str:
+ """Build a descriptive station name like 'Bank tube station'."""
+ station_tag = tags.get("station", "")
+ network = tags.get("network", "").lower()
+
+ if station_tag == "subway" or "underground" in network:
+ suffix = "tube station"
+ elif "docklands" in network or "dlr" in network:
+ suffix = "DLR station"
+ elif "overground" in network:
+ suffix = "overground station"
+ elif "elizabeth" in network:
+ suffix = "Elizabeth line station"
+ elif station_tag == "light_rail" or "tramlink" in network or "tram" in network:
+ suffix = "tram stop"
+ else:
+ suffix = "railway station"
+
+ # Strip any existing station suffix from the raw name
+ lower = name.lower()
+ for s in _STATION_STRIP:
+ if lower.endswith(s):
+ name = name[: len(name) - len(s)].rstrip()
+ break
+
+ return f"{name} {suffix}"
+
class PlaceHandler(osmium.SimpleHandler):
def __init__(self, progress: tqdm) -> None:
@@ -32,6 +74,12 @@ class PlaceHandler(osmium.SimpleHandler):
self._progress = progress
self.places: list[dict] = []
+ def _add(self, name: str, place_type: str, lat: float, lon: float, population: int) -> None:
+ self.places.append(
+ {"name": name, "place_type": place_type, "lat": lat, "lon": lon, "population": population}
+ )
+ self._progress.set_postfix(places=f"{len(self.places):,}", refresh=False)
+
def node(self, n: osmium.osm.Node) -> None:
self._progress.update(1)
if not n.location.valid:
@@ -39,16 +87,28 @@ class PlaceHandler(osmium.SimpleHandler):
lat, lon = n.location.lat, n.location.lon
if not (UK_BBOX_SOUTH <= lat <= UK_BBOX_NORTH and UK_BBOX_WEST <= lon <= UK_BBOX_EAST):
return
- place_type = n.tags.get("place")
- if place_type not in PLACE_TYPES:
- return
+
name = n.tags.get("name:en", n.tags.get("name", ""))
if not name:
return
- self.places.append(
- {"name": name, "place_type": place_type, "lat": lat, "lon": lon}
- )
- self._progress.set_postfix(places=f"{len(self.places):,}", refresh=False)
+
+ pop_str = n.tags.get("population", "")
+ try:
+ population = int(pop_str)
+ except ValueError:
+ population = 0
+
+ # place=* nodes (cities, towns, suburbs, etc.)
+ place_type = n.tags.get("place")
+ if place_type in PLACE_TYPES:
+ self._add(name, place_type, lat, lon, population)
+ return
+
+ # railway=station nodes (tube, national rail, DLR, tram, etc.)
+ if n.tags.get("railway") == "station":
+ display_name = _station_display_name(name, dict(n.tags))
+ self._add(display_name, "station", lat, lon, population)
+ return
def main() -> None:
@@ -73,7 +133,7 @@ def main() -> None:
else:
print(f"Using cached PBF: {pbf_file}")
- print(f"Extracting place nodes: {sorted(PLACE_TYPES)}")
+ print(f"Extracting place nodes: {sorted(PLACE_TYPES)} + railway=station")
with tqdm(
unit=" elements",
unit_scale=True,
diff --git a/pipeline/transform/_price_utils.py b/pipeline/transform/_price_utils.py
new file mode 100644
index 0000000..d187159
--- /dev/null
+++ b/pipeline/transform/_price_utils.py
@@ -0,0 +1,121 @@
+"""Shared utilities for price index, price estimate, and renovation premium scripts."""
+
+import numpy as np
+import polars as pl
+
+CURRENT_YEAR = 2025
+TERRACE_TYPES = [
+ "Mid-Terrace",
+ "End-Terrace",
+ "Enclosed Mid-Terrace",
+ "Enclosed End-Terrace",
+ "Terraced",
+]
+FLAT_TYPES = ["Flats/Maisonettes", "Flat", "Maisonette"]
+TYPE_GROUPS = ["Detached", "Semi-Detached", "Terraced", "Flats", "Bungalow"]
+SHRINKAGE_K = 50
+
+
+def type_group_expr():
+ """Polars expression: Property type -> type_group."""
+ return (
+ pl.when(pl.col("Property type").is_in(TERRACE_TYPES))
+ .then(pl.lit("Terraced"))
+ .when(pl.col("Property type").is_in(FLAT_TYPES))
+ .then(pl.lit("Flats"))
+ .when(pl.col("Property type") == "Bungalow")
+ .then(pl.lit("Bungalow"))
+ .when(pl.col("Property type").is_in(["Detached", "Semi-Detached"]))
+ .then(pl.col("Property type"))
+ .otherwise(pl.lit(None))
+ .alias("type_group")
+ )
+
+
+def sector_expr():
+ """Polars expression: Postcode -> sector (drop last 2 chars, strip)."""
+ return (
+ pl.col("Postcode")
+ .str.slice(0, pl.col("Postcode").str.len_chars() - 2)
+ .str.strip_chars()
+ .alias("sector")
+ )
+
+
+def hierarchy_keys(sector: str) -> tuple[str, str]:
+ """Return (district, area) for a sector string."""
+ district = sector.rsplit(" ", 1)[0] if " " in sector else sector
+ area = ""
+ for ch in district:
+ if ch.isalpha():
+ area += ch
+ else:
+ break
+ return district, area
+
+
+AGE_BREAKS = [1900, 1930, 1950, 1967, 1983, 2000, 2010]
+AGE_LABELS = [
+ "pre-1900",
+ "1900-1929",
+ "1930-1949",
+ "1950-1966",
+ "1967-1982",
+ "1983-1999",
+ "2000-2009",
+ "2010+",
+]
+
+HEDONIC_COLUMNS = [
+ "Last known price",
+ "Date of last transaction",
+ "Property type",
+ "Total floor area (sqm)",
+ "Postcode",
+]
+
+
+def age_band_expr():
+ """Polars expression: Construction age (UInt16 year) → age band string."""
+ expr = pl.when(pl.col("Construction age").is_null()).then(pl.lit(None))
+ for i, brk in enumerate(AGE_BREAKS):
+ expr = expr.when(pl.col("Construction age") < brk).then(pl.lit(AGE_LABELS[i]))
+ return expr.otherwise(pl.lit(AGE_LABELS[-1])).alias("age_band")
+
+
+NON_REF_TYPES = ["Terraced", "Semi-Detached", "Flats", "Bungalow"]
+
+
+def build_hedonic_features(df: pl.DataFrame) -> np.ndarray:
+ """Build hedonic feature matrix from a DataFrame with type_group column.
+
+ Columns (5 total): log(floor_area), 4 type dummies (ref: Detached).
+ Sector fixed effects do the heavy lifting — additional property features
+ (EPC, rooms, age) add no predictive value after sector demeaning.
+ """
+ fa = df["Total floor area (sqm)"].to_numpy().astype(np.float32)
+ log_fa = np.log(np.maximum(fa, 1.0)).reshape(-1, 1)
+ tg = df["type_group"].to_numpy()
+ parts = [log_fa]
+ for t in NON_REF_TYPES:
+ parts.append((tg == t).astype(np.float32).reshape(-1, 1))
+ return np.hstack(parts)
+
+
+def extract_centroids(input_path) -> dict[str, tuple[float, float]]:
+ """Compute mean lat/lon per postcode sector."""
+ print("Computing sector centroids...")
+ df = (
+ pl.scan_parquet(input_path)
+ .select("Postcode", "lat", "lon")
+ .filter(pl.col("Postcode").is_not_null(), pl.col("lat").is_not_null())
+ .with_columns(sector_expr())
+ .group_by("sector")
+ .agg(pl.col("lat").mean(), pl.col("lon").mean())
+ .collect()
+ )
+ centroids = {}
+ for row in df.iter_rows(named=True):
+ centroids[row["sector"]] = (row["lat"], row["lon"])
+ print(f" {len(centroids):,} sector centroids")
+ return centroids
diff --git a/pipeline/transform/hedonic_quality.py b/pipeline/transform/hedonic_quality.py
new file mode 100644
index 0000000..7e1273b
--- /dev/null
+++ b/pipeline/transform/hedonic_quality.py
@@ -0,0 +1,300 @@
+"""Cross-Sectional Hedonic Model (Per-Type)
+
+Trains separate OLS models per property type on recent sales (last 5 years)
+with sector fixed effects via Frisch-Waugh-Lovell demeaning:
+
+ log(price) = beta_type * log(floor_area) + alpha_sector_type + epsilon
+
+Each type gets its own floor area elasticity and sector intercepts, capturing
+that detached houses (beta=0.74) have higher price sensitivity to size than
+terraced houses (beta=0.60), and a sector's value differs by property type.
+
+Sector intercepts are hierarchically shrunk (sector → district → area → national)
+and spatially smoothed via KD-tree nearest neighbors.
+
+Output: hedonic_model.json with per-type betas and sector intercepts.
+"""
+
+import argparse
+import json
+from pathlib import Path
+
+import numpy as np
+import polars as pl
+from scipy.spatial import KDTree
+
+from pipeline.transform._price_utils import (
+ CURRENT_YEAR,
+ HEDONIC_COLUMNS,
+ SHRINKAGE_K,
+ TYPE_GROUPS,
+ extract_centroids,
+ hierarchy_keys,
+ sector_expr,
+ type_group_expr,
+)
+
+TRAINING_YEARS = 5
+SPATIAL_NEIGHBORS = 5
+SPATIAL_BLEND_K = 30
+
+
+def load_training_data(input_path: Path) -> pl.DataFrame:
+ """Load recent sales with complete hedonic features."""
+ min_year = CURRENT_YEAR - TRAINING_YEARS
+ print(f"Loading training data (sales {min_year}-{CURRENT_YEAR})...")
+ df = (
+ pl.scan_parquet(input_path)
+ .select(*HEDONIC_COLUMNS)
+ .filter(
+ pl.col("Last known price").is_not_null(),
+ pl.col("Total floor area (sqm)").is_not_null(),
+ pl.col("Total floor area (sqm)") > 0,
+ pl.col("Postcode").is_not_null(),
+ )
+ .with_columns(
+ pl.col("Date of last transaction").dt.year().alias("sale_year"),
+ type_group_expr(),
+ sector_expr(),
+ )
+ .filter(
+ pl.col("type_group").is_not_null(),
+ pl.col("sale_year").is_not_null(),
+ pl.col("sale_year") >= min_year,
+ pl.col("sale_year") <= CURRENT_YEAR,
+ )
+ .collect()
+ )
+ print(f" {len(df):,} complete cases")
+ return df
+
+
+def train_type_model(
+ df: pl.DataFrame, type_group: str
+) -> tuple[float, dict[str, float], dict[str, int], float]:
+ """Train hedonic model for a single property type.
+
+ Returns (beta_fa, sector_intercepts, sector_counts, national_intercept).
+ """
+ t_df = df.filter(pl.col("type_group") == type_group)
+ y = np.log(t_df["Last known price"].to_numpy().astype(np.float64))
+ log_fa = np.log(
+ np.maximum(t_df["Total floor area (sqm)"].to_numpy().astype(np.float64), 1.0)
+ )
+ X = log_fa.reshape(-1, 1)
+ sectors = t_df["sector"].to_list()
+
+ # Group by sector for demeaning
+ sector_indices: dict[str, list[int]] = {}
+ for i, s in enumerate(sectors):
+ sector_indices.setdefault(s, []).append(i)
+
+ # Compute sector means and demean
+ X_demeaned = np.empty_like(X)
+ y_demeaned = np.empty_like(y)
+ sector_X_means: dict[str, np.ndarray] = {}
+ sector_y_means: dict[str, float] = {}
+ sector_counts: dict[str, int] = {}
+
+ for s, idxs in sector_indices.items():
+ idx = np.array(idxs)
+ X_mean = X[idx].mean(axis=0)
+ y_mean = y[idx].mean()
+ sector_X_means[s] = X_mean
+ sector_y_means[s] = y_mean
+ X_demeaned[idx] = X[idx] - X_mean
+ y_demeaned[idx] = y[idx] - y_mean
+ sector_counts[s] = len(idxs)
+
+ # OLS on demeaned data
+ beta = np.linalg.lstsq(X_demeaned, y_demeaned, rcond=None)[0]
+ beta_fa = float(beta[0])
+
+ # Recover sector intercepts
+ sector_intercepts = {}
+ for s in sector_indices:
+ sector_intercepts[s] = float(sector_y_means[s] - beta_fa * sector_X_means[s][0])
+
+ national_intercept = float(np.mean(list(sector_intercepts.values())))
+
+ # R-squared
+ y_pred = X[:, 0] * beta_fa
+ for i, s in enumerate(sectors):
+ y_pred[i] += sector_intercepts[s]
+ ss_res = np.sum((y - y_pred) ** 2)
+ ss_tot = np.sum((y - y.mean()) ** 2)
+ r2 = 1 - ss_res / ss_tot
+
+ print(
+ f" {type_group:<15s}: n={len(t_df):>9,} β_fa={beta_fa:.4f} "
+ f"R²={r2:.4f} sectors={len(sector_intercepts):,}"
+ )
+
+ return beta_fa, sector_intercepts, sector_counts, national_intercept
+
+
+def shrink_intercepts(
+ sector_intercepts: dict[str, float],
+ sector_counts: dict[str, int],
+) -> dict[str, float]:
+ """Hierarchical shrinkage: sector -> district -> area -> national."""
+ national = float(np.mean(list(sector_intercepts.values())))
+
+ sector_to_dist: dict[str, str] = {}
+ dist_to_area: dict[str, str] = {}
+ for s in sector_intercepts:
+ d, a = hierarchy_keys(s)
+ sector_to_dist[s] = d
+ dist_to_area[d] = a
+
+ # Area-level intercepts (weighted mean of sectors in area)
+ area_vals: dict[str, list[tuple[float, int]]] = {}
+ for s, val in sector_intercepts.items():
+ d = sector_to_dist[s]
+ a = dist_to_area[d]
+ area_vals.setdefault(a, []).append((val, sector_counts.get(s, 0)))
+
+ area_intercepts: dict[str, float] = {}
+ area_counts: dict[str, int] = {}
+ for a, entries in area_vals.items():
+ total_n = sum(n for _, n in entries)
+ if total_n > 0:
+ area_intercepts[a] = sum(v * n for v, n in entries) / total_n
+ else:
+ area_intercepts[a] = sum(v for v, _ in entries) / len(entries)
+ area_counts[a] = total_n
+
+ # District-level intercepts
+ dist_vals: dict[str, list[tuple[float, int]]] = {}
+ for s, val in sector_intercepts.items():
+ d = sector_to_dist[s]
+ dist_vals.setdefault(d, []).append((val, sector_counts.get(s, 0)))
+
+ dist_intercepts: dict[str, float] = {}
+ dist_counts: dict[str, int] = {}
+ for d, entries in dist_vals.items():
+ total_n = sum(n for _, n in entries)
+ if total_n > 0:
+ dist_intercepts[d] = sum(v * n for v, n in entries) / total_n
+ else:
+ dist_intercepts[d] = sum(v for v, _ in entries) / len(entries)
+ dist_counts[d] = total_n
+
+ # Shrink: area -> national
+ area_shrunk: dict[str, float] = {}
+ for a, val in area_intercepts.items():
+ n = area_counts[a]
+ w = n / (n + SHRINKAGE_K)
+ area_shrunk[a] = w * val + (1 - w) * national
+
+ # Shrink: district -> area
+ dist_shrunk: dict[str, float] = {}
+ for d, val in dist_intercepts.items():
+ a = dist_to_area[d]
+ parent = area_shrunk.get(a, national)
+ n = dist_counts[d]
+ w = n / (n + SHRINKAGE_K)
+ dist_shrunk[d] = w * val + (1 - w) * parent
+
+ # Shrink: sector -> district
+ result: dict[str, float] = {}
+ for s, val in sector_intercepts.items():
+ d = sector_to_dist[s]
+ parent = dist_shrunk.get(d, national)
+ n = sector_counts.get(s, 0)
+ w = n / (n + SHRINKAGE_K)
+ result[s] = w * val + (1 - w) * parent
+
+ return result
+
+
+def spatial_smooth_intercepts(
+ sector_intercepts: dict[str, float],
+ centroids: dict[str, tuple[float, float]],
+ sector_counts: dict[str, int],
+) -> dict[str, float]:
+ """Blend sparse sector intercepts with K nearest neighbors."""
+ sectors_with_coords = [s for s in sector_intercepts if s in centroids]
+ if len(sectors_with_coords) < SPATIAL_NEIGHBORS + 1:
+ return sector_intercepts
+
+ coords = np.array([centroids[s] for s in sectors_with_coords])
+ mean_lat = np.mean(coords[:, 0])
+ scale = np.cos(np.radians(mean_lat))
+ scaled_coords = np.column_stack([coords[:, 0], coords[:, 1] * scale])
+ tree = KDTree(scaled_coords)
+
+ result = dict(sector_intercepts)
+ for i, sec in enumerate(sectors_with_coords):
+ n = sector_counts.get(sec, 0)
+ self_w = n / (n + SPATIAL_BLEND_K)
+ if self_w > 0.95:
+ continue
+
+ dists, idxs = tree.query(scaled_coords[i], k=SPATIAL_NEIGHBORS + 1)
+ neighbor_dists = dists[1:]
+ neighbor_idxs = idxs[1:]
+
+ inv_dists = []
+ neighbor_vals = []
+ for d, j in zip(neighbor_dists, neighbor_idxs):
+ ns = sectors_with_coords[j]
+ if d > 0 and ns in sector_intercepts:
+ inv_dists.append(1.0 / d)
+ neighbor_vals.append(sector_intercepts[ns])
+
+ if not neighbor_vals:
+ continue
+
+ total_inv = sum(inv_dists)
+ nbr_w = 1.0 - self_w
+ blended = self_w * sector_intercepts[sec]
+ for val, iw in zip(neighbor_vals, inv_dists):
+ blended += nbr_w * (iw / total_inv) * val
+ result[sec] = blended
+
+ return result
+
+
+def main():
+ parser = argparse.ArgumentParser(description="Train cross-sectional hedonic model")
+ parser.add_argument(
+ "--input", type=Path, required=True, help="Path to wide.parquet"
+ )
+ parser.add_argument(
+ "--output", type=Path, required=True, help="Output hedonic_model.json"
+ )
+ args = parser.parse_args()
+
+ df = load_training_data(args.input)
+ centroids = extract_centroids(args.input)
+
+ print("\nTraining per-type models...")
+ type_models = {}
+ total_sectors = 0
+
+ for tg in TYPE_GROUPS:
+ beta_fa, raw_intercepts, sector_counts, national = train_type_model(df, tg)
+
+ shrunk = shrink_intercepts(raw_intercepts, sector_counts)
+ smoothed = spatial_smooth_intercepts(shrunk, centroids, sector_counts)
+ total_sectors += len(smoothed)
+
+ type_models[tg] = {
+ "beta_fa": beta_fa,
+ "sector_intercepts": smoothed,
+ "national_intercept": national,
+ }
+
+ # Output
+ args.output.parent.mkdir(parents=True, exist_ok=True)
+ with open(args.output, "w") as f:
+ json.dump({"type_models": type_models}, f, indent=2)
+
+ size_kb = args.output.stat().st_size / 1024
+ print(f"\nWrote {args.output} ({size_kb:.0f} KB)")
+ print(f" {len(TYPE_GROUPS)} type models, {total_sectors:,} total sector intercepts")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/pipeline/transform/merge.py b/pipeline/transform/merge.py
index fd0fda4..118f243 100644
--- a/pipeline/transform/merge.py
+++ b/pipeline/transform/merge.py
@@ -223,7 +223,6 @@ def _build_wide(
)
.drop(
"inspection_date",
- "floor_height",
"_bedrooms",
"LSOA name (2021)",
"Local Authority District code (2024)",
@@ -276,6 +275,7 @@ def _build_wide(
"shrink_swell_risk": "Shrink-swell risk",
"soluble_rocks_risk": "Soluble rocks risk",
"median_monthly_rent": "Estimated monthly rent",
+ "floor_height": "Interior height (m)",
}
)
)
diff --git a/pipeline/transform/price_backtest.py b/pipeline/transform/price_backtest.py
index e95b4b7..e04a7e7 100644
--- a/pipeline/transform/price_backtest.py
+++ b/pipeline/transform/price_backtest.py
@@ -9,45 +9,60 @@ Output: backtest_results.parquet with predictions vs actuals.
"""
import argparse
+import json
from pathlib import Path
import numpy as np
import polars as pl
-CURRENT_YEAR = 2025
+from pipeline.transform._price_utils import (
+ CURRENT_YEAR,
+ HEDONIC_COLUMNS,
+ sector_expr,
+ type_group_expr,
+)
+
TEST_YEAR_MIN = 2022
-TERRACE_TYPES = ["Mid-Terrace", "End-Terrace", "Enclosed Mid-Terrace", "Enclosed End-Terrace"]
-def type_group_expr():
- return (
- pl.when(pl.col("Property type").is_in(TERRACE_TYPES)).then(pl.lit("Terraced"))
- .when(pl.col("Property type") == "Flats/Maisonettes").then(pl.lit("Flats"))
- .when(pl.col("Property type").is_in(["Detached", "Semi-Detached"])).then(pl.col("Property type"))
- .otherwise(pl.lit(None))
- .alias("type_group")
- )
-
-
-def extract_test_set(input_path: Path) -> pl.DataFrame:
+def extract_test_set(
+ input_path: Path, include_hedonic_cols: bool = False
+) -> pl.DataFrame:
"""Extract test pairs: second-to-last sale as input, last sale as ground truth."""
print("Loading test set...")
+ cols = ["Postcode", "historical_prices", "Property type"]
+ if include_hedonic_cols:
+ for c in HEDONIC_COLUMNS:
+ if c not in cols:
+ cols.append(c)
df = (
pl.scan_parquet(input_path)
- .select("Postcode", "historical_prices", "Property type")
+ .select(cols)
.filter(
pl.col("Postcode").is_not_null(),
pl.col("historical_prices").list.len() >= 2,
)
.with_columns(
- pl.col("Postcode").str.slice(0, pl.col("Postcode").str.len_chars() - 2).str.strip_chars().alias("sector"),
+ sector_expr(),
type_group_expr(),
# Last sale (ground truth)
- pl.col("historical_prices").list.last().struct.field("year").alias("actual_year"),
- pl.col("historical_prices").list.last().struct.field("price").alias("actual_price"),
+ pl.col("historical_prices")
+ .list.last()
+ .struct.field("year")
+ .alias("actual_year"),
+ pl.col("historical_prices")
+ .list.last()
+ .struct.field("price")
+ .alias("actual_price"),
# Second-to-last sale (input)
- pl.col("historical_prices").list.get(-2).struct.field("year").alias("input_year"),
- pl.col("historical_prices").list.get(-2).struct.field("price").alias("input_price"),
+ pl.col("historical_prices")
+ .list.get(-2)
+ .struct.field("year")
+ .alias("input_year"),
+ pl.col("historical_prices")
+ .list.get(-2)
+ .struct.field("price")
+ .alias("input_price"),
)
.filter(
pl.col("actual_year") >= TEST_YEAR_MIN,
@@ -71,7 +86,9 @@ def predict(test: pl.DataFrame, index: pl.DataFrame) -> pl.DataFrame:
# Join type-specific index at input year
test = test.join(
- idx_typed.select("sector", "type_group", "year", pl.col("log_index").alias("li_in_typed")),
+ idx_typed.select(
+ "sector", "type_group", "year", pl.col("log_index").alias("li_in_typed")
+ ),
left_on=["sector", "type_group", "input_year"],
right_on=["sector", "type_group", "year"],
how="left",
@@ -85,7 +102,12 @@ def predict(test: pl.DataFrame, index: pl.DataFrame) -> pl.DataFrame:
)
# Join type-specific index at actual year
test = test.join(
- idx_typed.select("sector", "type_group", "year", pl.col("log_index").alias("li_act_typed")),
+ idx_typed.select(
+ "sector",
+ "type_group",
+ "year",
+ pl.col("log_index").alias("li_act_typed"),
+ ),
left_on=["sector", "type_group", "actual_year"],
right_on=["sector", "type_group", "year"],
how="left",
@@ -99,19 +121,27 @@ def predict(test: pl.DataFrame, index: pl.DataFrame) -> pl.DataFrame:
)
test = test.with_columns(
- pl.col("li_in_typed").fill_null(pl.col("li_in_all")).alias("log_index_input"),
- pl.col("li_act_typed").fill_null(pl.col("li_act_all")).alias("log_index_actual"),
+ pl.col("li_in_typed")
+ .fill_null(pl.col("li_in_all"))
+ .alias("log_index_input"),
+ pl.col("li_act_typed")
+ .fill_null(pl.col("li_act_all"))
+ .alias("log_index_actual"),
)
else:
# Unstratified index
test = test.join(
- index.select("sector", "year", pl.col("log_index").alias("log_index_input")),
+ index.select(
+ "sector", "year", pl.col("log_index").alias("log_index_input")
+ ),
left_on=["sector", "input_year"],
right_on=["sector", "year"],
how="left",
)
test = test.join(
- index.select("sector", "year", pl.col("log_index").alias("log_index_actual")),
+ index.select(
+ "sector", "year", pl.col("log_index").alias("log_index_actual")
+ ),
left_on=["sector", "actual_year"],
right_on=["sector", "year"],
how="left",
@@ -121,7 +151,9 @@ def predict(test: pl.DataFrame, index: pl.DataFrame) -> pl.DataFrame:
(
pl.col("input_price").cast(pl.Float64)
* (pl.col("log_index_actual") - pl.col("log_index_input")).exp()
- ).fill_null(pl.col("input_price").cast(pl.Float64)).alias("predicted"),
+ )
+ .fill_null(pl.col("input_price").cast(pl.Float64))
+ .alias("predicted"),
)
return test
@@ -150,7 +182,15 @@ def print_metrics_table(metrics_by_stage: dict):
print("BACKTEST RESULTS")
print("=" * 55)
- metric_names = ["MdAPE (%)", "% within 10%", "% within 20%", "% within 30%", "MAE (£)", "Mean signed error (£)", "n"]
+ metric_names = [
+ "MdAPE (%)",
+ "% within 10%",
+ "% within 20%",
+ "% within 30%",
+ "MAE (£)",
+ "Mean signed error (£)",
+ "n",
+ ]
stages = list(metrics_by_stage.keys())
header = f"{'Metric':<25s}"
@@ -176,20 +216,37 @@ def print_metrics_table(metrics_by_stage: dict):
def main():
parser = argparse.ArgumentParser(description="Backtest price estimation model")
- parser.add_argument("--input", type=Path, required=True, help="Path to wide.parquet")
- parser.add_argument("--index", type=Path, required=True, help="Path to price_index.parquet")
- parser.add_argument("--output", type=Path, required=True, help="Output backtest_results.parquet")
+ parser.add_argument(
+ "--input", type=Path, required=True, help="Path to wide.parquet"
+ )
+ parser.add_argument(
+ "--index", type=Path, required=True, help="Path to price_index.parquet"
+ )
+ parser.add_argument(
+ "--output", type=Path, required=True, help="Output backtest_results.parquet"
+ )
+ parser.add_argument(
+ "--hedonic-model",
+ type=Path,
+ default=None,
+ help="Path to hedonic_model.json (optional)",
+ )
args = parser.parse_args()
index = pl.read_parquet(args.index)
has_type_group = "type_group" in index.columns
if has_type_group:
- print(f"Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors, "
- f"{index['type_group'].n_unique()} type groups")
+ print(
+ f"Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors, "
+ f"{index['type_group'].n_unique()} type groups"
+ )
else:
- print(f"Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors")
+ print(
+ f"Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors"
+ )
- test = extract_test_set(args.input)
+ has_hedonic = args.hedonic_model is not None
+ test = extract_test_set(args.input, include_hedonic_cols=has_hedonic)
print("\nPredicting with price index...")
test = predict(test, index)
@@ -197,19 +254,126 @@ def main():
# Compute and print metrics
actual = test["actual_price"].to_numpy().astype(np.float64)
metrics = {
- "Naive": compute_metrics(actual, test["input_price"].to_numpy().astype(np.float64)),
- "Index": compute_metrics(actual, test["predicted"].to_numpy().astype(np.float64)),
+ "Naive": compute_metrics(
+ actual, test["input_price"].to_numpy().astype(np.float64)
+ ),
+ "Index": compute_metrics(
+ actual, test["predicted"].to_numpy().astype(np.float64)
+ ),
}
+ # Hedonic blending
+ if has_hedonic:
+ print("\nApplying hedonic blending...")
+ with open(args.hedonic_model) as f:
+ model = json.load(f)
+ type_models = model["type_models"]
+
+ # Identify eligible rows for hedonic estimate
+ hedonic_mask = (
+ pl.col("Total floor area (sqm)").is_not_null()
+ & (pl.col("Total floor area (sqm)") > 0)
+ & pl.col("type_group").is_not_null()
+ )
+ eligible_mask = test.select(hedonic_mask).to_series()
+ eligible = test.filter(eligible_mask)
+
+ if len(eligible) > 0:
+ log_fa = np.log(
+ np.maximum(
+ eligible["Total floor area (sqm)"].to_numpy().astype(np.float64),
+ 1.0,
+ )
+ )
+ sectors = eligible["sector"].to_list()
+ types = eligible["type_group"].to_list()
+
+ # Per-type hedonic prediction
+ log_hedonic = np.empty(len(eligible))
+ for i in range(len(eligible)):
+ tm = type_models.get(types[i])
+ if tm is None:
+ log_hedonic[i] = np.nan
+ continue
+ alpha = tm["sector_intercepts"].get(
+ sectors[i], tm["national_intercept"]
+ )
+ log_hedonic[i] = tm["beta_fa"] * log_fa[i] + alpha
+
+ valid = np.isfinite(log_hedonic)
+
+ # Hold years: input_year to actual_year (simulating real prediction)
+ input_years = eligible["input_year"].to_numpy().astype(np.float64)
+ actual_years = eligible["actual_year"].to_numpy().astype(np.float64)
+ hold_years = np.maximum(actual_years - input_years, 0.0)
+
+ log_index_pred = np.log(
+ np.maximum(eligible["predicted"].to_numpy().astype(np.float64), 1.0)
+ )
+
+ # Sweep tau values (only on valid hedonic rows)
+ tau_values = [5.0, 10.0, 15.0, 20.0, 30.0]
+ actual_eligible = eligible["actual_price"].to_numpy().astype(np.float64)
+ best_tau = 15.0
+ best_mdape = float("inf")
+
+ print(f"\n tau sweep ({valid.sum():,} eligible properties):")
+ for tau in tau_values:
+ blend_w = hold_years / (hold_years + tau)
+ log_blended = np.where(
+ valid,
+ (1 - blend_w) * log_index_pred + blend_w * log_hedonic,
+ log_index_pred,
+ )
+ blended = np.exp(log_blended)
+ m = compute_metrics(actual_eligible, blended)
+ marker = ""
+ if m["MdAPE (%)"] < best_mdape:
+ best_mdape = m["MdAPE (%)"]
+ best_tau = tau
+ marker = " <-- best"
+ print(
+ f" tau={tau:>4.0f}: MdAPE={m['MdAPE (%)']:>5.1f}%, "
+ f"within 10%={m['% within 10%']:>5.1f}%{marker}"
+ )
+
+ print(f"\n Best tau = {best_tau}")
+
+ # Compute blended predictions with best tau for full test set
+ blend_w = hold_years / (hold_years + best_tau)
+ log_blended = np.where(
+ valid,
+ (1 - blend_w) * log_index_pred + blend_w * log_hedonic,
+ log_index_pred,
+ )
+ blended_eligible = np.exp(log_blended)
+
+ # Merge back: for non-eligible rows, use index prediction
+ blended_all = test["predicted"].to_numpy().astype(np.float64).copy()
+ eligible_indices = eligible_mask.arg_true()
+ for i, idx in enumerate(eligible_indices):
+ blended_all[idx] = blended_eligible[i]
+
+ test = test.with_columns(
+ pl.Series("blended", blended_all, dtype=pl.Float64),
+ )
+ metrics["Blended"] = compute_metrics(actual, blended_all)
+
print_metrics_table(metrics)
# Save results
- result = test.select(
- "Postcode", "sector",
- "input_year", "input_price",
- "actual_year", "actual_price",
+ result_cols = [
+ "Postcode",
+ "sector",
+ "input_year",
+ "input_price",
+ "actual_year",
+ "actual_price",
"predicted",
- )
+ ]
+ if "blended" in test.columns:
+ result_cols.append("blended")
+ result = test.select(result_cols)
result.write_parquet(args.output)
size_mb = args.output.stat().st_size / (1024 * 1024)
diff --git a/pipeline/transform/price_estimate.py b/pipeline/transform/price_estimate.py
index ddafa8a..2ddc3e8 100644
--- a/pipeline/transform/price_estimate.py
+++ b/pipeline/transform/price_estimate.py
@@ -4,32 +4,56 @@ Joins the precomputed repeat-sales price index (from price_index.py) with each
property's last known sale to produce an inflation-adjusted current price estimate.
Uses type-stratified index when available, falling back to "All" type.
+Optionally applies renovation premiums from renovation_premium.py: for properties
+with post-sale renovation events, the estimated price is adjusted upward based on
+data-driven per-area premiums with time decay.
+
Modifies wide.parquet in-place, adding the "Estimated current price" column.
"""
import argparse
+import json
+import math
from pathlib import Path
+import numpy as np
import polars as pl
-CURRENT_YEAR = 2025
-TERRACE_TYPES = ["Mid-Terrace", "End-Terrace", "Enclosed Mid-Terrace", "Enclosed End-Terrace"]
+from pipeline.transform._price_utils import (
+ CURRENT_YEAR,
+ sector_expr,
+ type_group_expr,
+)
-
-def type_group_expr():
- return (
- pl.when(pl.col("Property type").is_in(TERRACE_TYPES)).then(pl.lit("Terraced"))
- .when(pl.col("Property type") == "Flats/Maisonettes").then(pl.lit("Flats"))
- .when(pl.col("Property type").is_in(["Detached", "Semi-Detached"])).then(pl.col("Property type"))
- .otherwise(pl.lit(None))
- .alias("type_group")
- )
+HALF_LIFE = 10.0
+DECAY_RATE = math.log(2) / HALF_LIFE
def main():
- parser = argparse.ArgumentParser(description="Augment wide.parquet with estimated current prices")
- parser.add_argument("--input", type=Path, required=True, help="Path to wide.parquet (modified in-place)")
- parser.add_argument("--index", type=Path, required=True, help="Path to price_index.parquet")
+ parser = argparse.ArgumentParser(
+ description="Augment wide.parquet with estimated current prices"
+ )
+ parser.add_argument(
+ "--input",
+ type=Path,
+ required=True,
+ help="Path to wide.parquet (modified in-place)",
+ )
+ parser.add_argument(
+ "--index", type=Path, required=True, help="Path to price_index.parquet"
+ )
+ parser.add_argument(
+ "--renovation-premium",
+ type=Path,
+ default=None,
+ help="Path to renovation_premium.parquet (optional)",
+ )
+ parser.add_argument(
+ "--hedonic-model",
+ type=Path,
+ default=None,
+ help="Path to hedonic_model.json (optional)",
+ )
args = parser.parse_args()
print("Loading wide.parquet...")
@@ -49,7 +73,7 @@ def main():
)
df = df.with_columns(
- pl.col("Postcode").str.slice(0, pl.col("Postcode").str.len_chars() - 2).str.strip_chars().alias("_sector"),
+ sector_expr().alias("_sector"),
pl.col("Date of last transaction").dt.year().alias("_sale_year"),
type_group_expr().alias("_type_group"),
)
@@ -57,10 +81,14 @@ def main():
index = pl.read_parquet(args.index)
has_type_group = "type_group" in index.columns
if has_type_group:
- print(f" Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors, "
- f"{index['type_group'].n_unique()} type groups")
+ print(
+ f" Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors, "
+ f"{index['type_group'].n_unique()} type groups"
+ )
else:
- print(f" Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors (unstratified)")
+ print(
+ f" Price index: {len(index):,} rows, {index['sector'].n_unique():,} sectors (unstratified)"
+ )
print("\nApplying repeat-sales index...")
@@ -70,49 +98,63 @@ def main():
# Join type-specific index at sale year
df = df.join(
- idx_typed.select("sector", "type_group", "year", pl.col("log_index").alias("log_idx_sale_typed")),
+ idx_typed.select(
+ "sector",
+ "type_group",
+ "year",
+ pl.col("log_index").alias("log_idx_sale_typed"),
+ ),
left_on=["_sector", "_type_group", "_sale_year"],
right_on=["sector", "type_group", "year"],
how="left",
)
# Join "All" index at sale year
df = df.join(
- idx_all.select("sector", "year", pl.col("log_index").alias("log_idx_sale_all")),
+ idx_all.select(
+ "sector", "year", pl.col("log_index").alias("log_idx_sale_all")
+ ),
left_on=["_sector", "_sale_year"],
right_on=["sector", "year"],
how="left",
)
# Join type-specific index at current year
df = df.join(
- idx_typed.filter(pl.col("year") == CURRENT_YEAR)
- .select("sector", "type_group", pl.col("log_index").alias("log_idx_cur_typed")),
+ idx_typed.filter(pl.col("year") == CURRENT_YEAR).select(
+ "sector", "type_group", pl.col("log_index").alias("log_idx_cur_typed")
+ ),
left_on=["_sector", "_type_group"],
right_on=["sector", "type_group"],
how="left",
)
# Join "All" index at current year
df = df.join(
- idx_all.filter(pl.col("year") == CURRENT_YEAR)
- .select("sector", pl.col("log_index").alias("log_idx_cur_all")),
+ idx_all.filter(pl.col("year") == CURRENT_YEAR).select(
+ "sector", pl.col("log_index").alias("log_idx_cur_all")
+ ),
left_on="_sector",
right_on="sector",
how="left",
)
df = df.with_columns(
- pl.col("log_idx_sale_typed").fill_null(pl.col("log_idx_sale_all")).alias("_log_index_sale"),
- pl.col("log_idx_cur_typed").fill_null(pl.col("log_idx_cur_all")).alias("_log_index_current"),
+ pl.col("log_idx_sale_typed")
+ .fill_null(pl.col("log_idx_sale_all"))
+ .alias("_log_index_sale"),
+ pl.col("log_idx_cur_typed")
+ .fill_null(pl.col("log_idx_cur_all"))
+ .alias("_log_index_current"),
)
else:
df = df.join(
- index.select("sector", "year", pl.col("log_index").alias("_log_index_sale")),
+ index.select(
+ "sector", "year", pl.col("log_index").alias("_log_index_sale")
+ ),
left_on=["_sector", "_sale_year"],
right_on=["sector", "year"],
how="left",
)
- index_current = (
- index.filter(pl.col("year") == CURRENT_YEAR)
- .select("sector", pl.col("log_index").alias("_log_index_current"))
+ index_current = index.filter(pl.col("year") == CURRENT_YEAR).select(
+ "sector", pl.col("log_index").alias("_log_index_current")
)
df = df.join(index_current, left_on="_sector", right_on="sector", how="left")
@@ -127,6 +169,224 @@ def main():
.alias("Estimated current price"),
)
+ n_adjusted = df.filter(has_price & pl.col("_log_index_sale").is_not_null()).height
+ n_with_price = df.filter(has_price).height
+ print(
+ f" {n_adjusted:,} of {n_with_price:,} properties adjusted by index ({n_adjusted / max(n_with_price, 1) * 100:.1f}%)"
+ )
+
+ # Apply hedonic blending if model provided
+ if args.hedonic_model is not None:
+ print("\nApplying hedonic blending...")
+ with open(args.hedonic_model) as f:
+ model = json.load(f)
+ type_models = model["type_models"]
+ tau = model.get("tau", 15.0)
+ print(f" tau = {tau}, {len(type_models)} type models")
+
+ # Add type_group for per-type lookup
+ df = df.with_columns(type_group_expr())
+ hedonic_mask = (
+ has_price
+ & pl.col("Estimated current price").is_not_null()
+ & pl.col("Total floor area (sqm)").is_not_null()
+ & (pl.col("Total floor area (sqm)") > 0)
+ & pl.col("type_group").is_not_null()
+ )
+ eligible = df.filter(hedonic_mask)
+
+ if len(eligible) > 0:
+ log_fa = np.log(
+ np.maximum(
+ eligible["Total floor area (sqm)"].to_numpy().astype(np.float64),
+ 1.0,
+ )
+ )
+ sectors = eligible["_sector"].to_list()
+ types = eligible["type_group"].to_list()
+
+ # Per-type hedonic prediction
+ log_hedonic = np.empty(len(eligible))
+ for i in range(len(eligible)):
+ tm = type_models.get(types[i])
+ if tm is None:
+ log_hedonic[i] = np.nan
+ continue
+ alpha = tm["sector_intercepts"].get(
+ sectors[i], tm["national_intercept"]
+ )
+ log_hedonic[i] = tm["beta_fa"] * log_fa[i] + alpha
+
+ valid = np.isfinite(log_hedonic)
+
+ # Hold years and blend weight
+ sale_years = eligible["_sale_year"].to_numpy().astype(np.float64)
+ hold_years = np.maximum(CURRENT_YEAR - sale_years, 0.0)
+ blend_w = hold_years / (hold_years + tau)
+
+ # Blend in log space
+ log_index_est = np.log(
+ eligible["Estimated current price"].to_numpy().astype(np.float64)
+ )
+ log_blended = np.where(
+ valid,
+ (1 - blend_w) * log_index_est + blend_w * log_hedonic,
+ log_index_est,
+ )
+ blended_prices = np.exp(log_blended)
+
+ # Write back into df
+ eligible_indices = df.select(hedonic_mask).to_series().arg_true()
+ price_arr = df["Estimated current price"].to_numpy().astype(np.float64)
+ for i, idx in enumerate(eligible_indices):
+ price_arr[idx] = blended_prices[i]
+ df = df.with_columns(
+ pl.Series("Estimated current price", price_arr, dtype=pl.Float64),
+ )
+
+ n_blended = int(valid.sum())
+ avg_w = float(np.mean(blend_w[valid]))
+ print(
+ f" {n_blended:,} properties with hedonic blending (avg blend weight: {avg_w:.3f})"
+ )
+ else:
+ print(" No eligible properties for hedonic blending")
+
+ # Apply renovation premiums if provided
+ if args.renovation_premium is not None:
+ print("\nApplying renovation premiums...")
+ reno_prem = pl.read_parquet(args.renovation_premium)
+ print(f" Loaded {len(reno_prem):,} premium rows")
+
+ # Find properties with post-sale renovation events
+ has_reno = (
+ pl.col("renovation_history").is_not_null()
+ & (pl.col("renovation_history").list.len() > 0)
+ & pl.col("Estimated current price").is_not_null()
+ )
+
+ # Explode renovation events, filter to post-sale only
+ reno_rows = (
+ df.lazy()
+ .filter(has_reno)
+ .select("_sector", "_type_group", "_sale_year", "renovation_history")
+ .with_row_index("_row_idx")
+ .explode("renovation_history")
+ .with_columns(
+ pl.col("renovation_history").struct.field("year").alias("_event_year"),
+ pl.col("renovation_history").struct.field("event").alias("_event_type"),
+ )
+ .filter(pl.col("_event_year") > pl.col("_sale_year"))
+ .collect()
+ )
+
+ if len(reno_rows) > 0:
+ # Take most recent event per (row, event_type)
+ latest = (
+ reno_rows.lazy()
+ .group_by("_row_idx", "_event_type", "_sector", "_type_group")
+ .agg(pl.col("_event_year").max().alias("_event_year"))
+ .collect()
+ )
+
+ # Compute time-decayed premium
+ latest = latest.with_columns(
+ (-DECAY_RATE * (CURRENT_YEAR - pl.col("_event_year")).cast(pl.Float64))
+ .exp()
+ .alias("_decay"),
+ )
+
+ # Join with renovation_premium.parquet — try typed first, fall back to "All"
+ rp_typed = reno_prem.filter(pl.col("type_group") != "All")
+ rp_all = reno_prem.filter(pl.col("type_group") == "All")
+
+ latest = (
+ latest.join(
+ rp_typed.select(
+ "sector",
+ "type_group",
+ "event_type",
+ pl.col("log_premium").alias("_lp_typed"),
+ ),
+ left_on=["_sector", "_type_group", "_event_type"],
+ right_on=["sector", "type_group", "event_type"],
+ how="left",
+ )
+ .join(
+ rp_all.select(
+ "sector", "event_type", pl.col("log_premium").alias("_lp_all")
+ ),
+ left_on=["_sector", "_event_type"],
+ right_on=["sector", "event_type"],
+ how="left",
+ )
+ .with_columns(
+ pl.col("_lp_typed")
+ .fill_null(pl.col("_lp_all"))
+ .fill_null(0.0)
+ .alias("_log_premium"),
+ )
+ )
+
+ # Compute total decayed log premium per property
+ per_property = (
+ latest.lazy()
+ .with_columns(
+ (pl.col("_log_premium") * pl.col("_decay")).alias("_decayed_lp"),
+ )
+ .group_by("_row_idx")
+ .agg(pl.col("_decayed_lp").sum().alias("_reno_log_premium"))
+ .collect()
+ )
+
+ # We need to map _row_idx back to the main df. Re-derive the row indices.
+ # _row_idx was generated from filtered rows — we need the actual df row indices.
+ reno_mask = df.select(has_reno).to_series()
+ actual_indices = reno_mask.arg_true()
+
+ # Build a mapping: _row_idx -> actual df row
+ idx_map = per_property.with_columns(
+ pl.col("_row_idx")
+ .map_elements(
+ lambda i: int(actual_indices[i]),
+ return_dtype=pl.UInt32,
+ )
+ .alias("_df_row"),
+ )
+
+ # Create a full-length column of zeros, then fill in premium values
+ reno_log_prem = [0.0] * len(df)
+ for row in idx_map.iter_rows(named=True):
+ reno_log_prem[row["_df_row"]] = row["_reno_log_premium"]
+
+ df = df.with_columns(
+ pl.Series("_reno_log_premium", reno_log_prem, dtype=pl.Float64),
+ )
+
+ # Apply: multiply estimated price by exp(reno_log_premium) where premium > 0
+ df = df.with_columns(
+ pl.when(pl.col("_reno_log_premium") != 0.0)
+ .then(
+ pl.col("Estimated current price")
+ * pl.col("_reno_log_premium").exp()
+ )
+ .otherwise(pl.col("Estimated current price"))
+ .alias("Estimated current price"),
+ )
+
+ n_with_premium = idx_map.height
+ avg_multiplier = math.exp(
+ per_property["_reno_log_premium"]
+ .filter(per_property["_reno_log_premium"] != 0.0)
+ .mean()
+ )
+ print(f" {n_with_premium:,} properties with renovation premium applied")
+ print(
+ f" Average premium multiplier: {avg_multiplier:.3f} ({avg_multiplier - 1:.1%} uplift)"
+ )
+ else:
+ print(" No properties with post-sale renovation events")
+
# Derive estimated price per sqm where both estimated price and floor area exist
df = df.with_columns(
(pl.col("Estimated current price") / pl.col("Total floor area (sqm)"))
@@ -135,20 +395,19 @@ def main():
.alias("Est. price per sqm"),
)
- n_adjusted = df.filter(
- has_price & pl.col("_log_index_sale").is_not_null()
- ).height
- n_with_price = df.filter(has_price).height
- print(f" {n_adjusted:,} of {n_with_price:,} properties adjusted by index ({n_adjusted / max(n_with_price, 1) * 100:.1f}%)")
-
# Drop all temporary columns
temp_cols = [c for c in df.columns if c.startswith("_") or c.startswith("log_idx_")]
+ # Also drop hedonic-derived column if it was added
+ if "type_group" in df.columns:
+ temp_cols.append("type_group")
df = df.drop(temp_cols)
df.write_parquet(args.input)
size_mb = args.input.stat().st_size / (1024 * 1024)
print(f"\nWrote {args.input} ({size_mb:.1f} MB)")
- print(f" {len(df):,} rows, {len(df.columns)} columns (including 'Estimated current price')")
+ print(
+ f" {len(df):,} rows, {len(df.columns)} columns (including 'Estimated current price')"
+ )
if __name__ == "__main__":
diff --git a/pipeline/transform/price_index.py b/pipeline/transform/price_index.py
index 529c507..676b1c7 100644
--- a/pipeline/transform/price_index.py
+++ b/pipeline/transform/price_index.py
@@ -19,66 +19,38 @@ from scipy.sparse.linalg import lsqr
from scipy.spatial import KDTree
from tqdm import tqdm
+from pipeline.transform._price_utils import (
+ CURRENT_YEAR,
+ SHRINKAGE_K,
+ TYPE_GROUPS,
+ build_hedonic_features,
+ extract_centroids,
+ hierarchy_keys,
+ sector_expr,
+ type_group_expr,
+)
+
# --- Constants ---
MIN_PAIRS = 5
-SHRINKAGE_K = 50
OUTLIER_THRESHOLD = 3.0 # hard pre-filter; Huber handles the rest
HUBER_K = 1.345
IRLS_ITERATIONS = 5
SPATIAL_NEIGHBORS = 5
SPATIAL_BLEND_K = 30
-CURRENT_YEAR = 2025
-
-TYPE_GROUPS = ["Detached", "Semi-Detached", "Terraced", "Flats"]
-TERRACE_TYPES = ["Mid-Terrace", "End-Terrace", "Enclosed Mid-Terrace", "Enclosed End-Terrace"]
-AGE_BREAKS = [1900, 1930, 1950, 1967, 1983, 2000, 2010]
-AGE_LABELS = ["pre-1900", "1900-1929", "1930-1949", "1950-1966", "1967-1982", "1983-1999", "2000-2009", "2010+"]
-
-
-def type_group_expr():
- """Polars expression: Property type → type_group."""
- return (
- pl.when(pl.col("Property type").is_in(TERRACE_TYPES)).then(pl.lit("Terraced"))
- .when(pl.col("Property type") == "Flats/Maisonettes").then(pl.lit("Flats"))
- .when(pl.col("Property type").is_in(["Detached", "Semi-Detached"])).then(pl.col("Property type"))
- .otherwise(pl.lit(None))
- .alias("type_group")
- )
-
-
-def age_band_expr():
- """Polars expression: Construction age (UInt16 year) → age band string."""
- expr = pl.when(pl.col("Construction age").is_null()).then(pl.lit(None))
- for i, brk in enumerate(AGE_BREAKS):
- expr = expr.when(pl.col("Construction age") < brk).then(pl.lit(AGE_LABELS[i]))
- return expr.otherwise(pl.lit(AGE_LABELS[-1])).alias("age_band")
-
-
-def sector_expr():
- """Polars expression: Postcode → sector (drop last 2 chars, strip)."""
- return pl.col("Postcode").str.slice(0, pl.col("Postcode").str.len_chars() - 2).str.strip_chars().alias("sector")
-
-
-def hierarchy_keys(sector: str) -> tuple[str, str]:
- """Return (district, area) for a sector string."""
- district = sector.rsplit(" ", 1)[0] if " " in sector else sector
- area = ""
- for ch in district:
- if ch.isalpha():
- area += ch
- else:
- break
- return district, area
# --- Pair extraction ---
+
def extract_pairs(input_path: Path) -> pl.DataFrame:
print("Extracting repeat-sale pairs...")
df = (
pl.scan_parquet(input_path)
.select("Postcode", "historical_prices", "Property type")
- .filter(pl.col("Postcode").is_not_null(), pl.col("historical_prices").list.len() >= 2)
+ .filter(
+ pl.col("Postcode").is_not_null(),
+ pl.col("historical_prices").list.len() >= 2,
+ )
.with_columns(sector_expr(), type_group_expr())
.collect()
)
@@ -87,7 +59,9 @@ def extract_pairs(input_path: Path) -> pl.DataFrame:
pairs = (
df.lazy()
.with_columns(
- pl.col("historical_prices").list.slice(0, pl.col("historical_prices").list.len() - 1).alias("from_txn"),
+ pl.col("historical_prices")
+ .list.slice(0, pl.col("historical_prices").list.len() - 1)
+ .alias("from_txn"),
pl.col("historical_prices").list.slice(1).alias("to_txn"),
)
.explode("from_txn", "to_txn")
@@ -98,10 +72,18 @@ def extract_pairs(input_path: Path) -> pl.DataFrame:
pl.col("to_txn").struct.field("price").alias("price2"),
)
.select("sector", "type_group", "year1", "price1", "year2", "price2")
- .filter(pl.col("price1") > 0, pl.col("price2") > 0, pl.col("year2") > pl.col("year1"))
+ .filter(
+ pl.col("price1") > 0,
+ pl.col("price2") > 0,
+ pl.col("year2") > pl.col("year1"),
+ )
.with_columns(
- (pl.col("price2").cast(pl.Float64) / pl.col("price1").cast(pl.Float64)).log().alias("log_ratio"),
- (1.0 / (pl.col("year2") - pl.col("year1")).cast(pl.Float64).sqrt()).alias("weight"),
+ (pl.col("price2").cast(pl.Float64) / pl.col("price1").cast(pl.Float64))
+ .log()
+ .alias("log_ratio"),
+ (1.0 / (pl.col("year2") - pl.col("year1")).cast(pl.Float64).sqrt()).alias(
+ "weight"
+ ),
)
.filter(pl.col("log_ratio").abs() <= OUTLIER_THRESHOLD)
.collect()
@@ -118,31 +100,14 @@ def extract_pairs(input_path: Path) -> pl.DataFrame:
return pairs
-# --- Sector centroids ---
-
-def extract_centroids(input_path: Path) -> dict[str, tuple[float, float]]:
- print("Computing sector centroids...")
- df = (
- pl.scan_parquet(input_path)
- .select("Postcode", "lat", "lon")
- .filter(pl.col("Postcode").is_not_null(), pl.col("lat").is_not_null())
- .with_columns(sector_expr())
- .group_by("sector")
- .agg(pl.col("lat").mean(), pl.col("lon").mean())
- .collect()
- )
- centroids = {}
- for row in df.iter_rows(named=True):
- centroids[row["sector"]] = (row["lat"], row["lon"])
- print(f" {len(centroids):,} sector centroids")
- return centroids
-
-
# --- Robust IRLS solver ---
+
def solve_robust_index(
- years1: np.ndarray, years2: np.ndarray,
- log_ratios: np.ndarray, base_weights: np.ndarray,
+ years1: np.ndarray,
+ years2: np.ndarray,
+ log_ratios: np.ndarray,
+ base_weights: np.ndarray,
) -> dict[int, float]:
"""IRLS Huber M-estimation for the Case-Shiller repeat-sales model."""
n = len(years1)
@@ -205,11 +170,16 @@ def solve_robust_index(
def compute_indices_for_level(pairs: pl.DataFrame, group_col: str):
"""Solve robust indices for each group. Returns (indices, n_pairs) dicts."""
groups = pairs.group_by(group_col).agg(
- pl.col("year1"), pl.col("year2"), pl.col("log_ratio"), pl.col("weight"),
+ pl.col("year1"),
+ pl.col("year2"),
+ pl.col("log_ratio"),
+ pl.col("weight"),
)
indices = {}
n_pairs = {}
- for row in tqdm(groups.iter_rows(named=True), total=len(groups), desc=f" {group_col}"):
+ for row in tqdm(
+ groups.iter_rows(named=True), total=len(groups), desc=f" {group_col}"
+ ):
key = row[group_col]
y1 = np.array(row["year1"], dtype=np.int32)
y2 = np.array(row["year2"], dtype=np.int32)
@@ -224,28 +194,28 @@ def compute_indices_for_level(pairs: pl.DataFrame, group_col: str):
# --- Hedonic model ---
-def compute_hedonic_index(input_path: Path, min_year: int, max_year: int) -> dict[int, float]:
+
+def compute_hedonic_index(
+ input_path: Path, min_year: int, max_year: int
+) -> dict[int, float]:
"""Two-step hedonic index: regress log(price) on features, average residual by year."""
print("Computing hedonic index...")
df = (
pl.scan_parquet(input_path)
.select(
- "Last known price", "Date of last transaction", "Property type",
- "Total floor area (sqm)", "Current energy rating",
- "Number of bedrooms & living rooms", "Construction age",
+ "Last known price",
+ "Date of last transaction",
+ "Property type",
+ "Total floor area (sqm)",
)
.filter(
pl.col("Last known price").is_not_null(),
pl.col("Total floor area (sqm)").is_not_null(),
pl.col("Total floor area (sqm)") > 0,
- pl.col("Current energy rating").is_in(["A", "B", "C", "D", "E", "F", "G"]),
- pl.col("Number of bedrooms & living rooms").is_not_null(),
- pl.col("Construction age").is_not_null(),
)
.with_columns(
pl.col("Date of last transaction").dt.year().alias("sale_year"),
type_group_expr(),
- age_band_expr(),
)
.filter(
pl.col("type_group").is_not_null(),
@@ -261,29 +231,9 @@ def compute_hedonic_index(input_path: Path, min_year: int, max_year: int) -> dic
log_price = np.log(df["Last known price"].to_numpy().astype(np.float64))
sale_years = df["sale_year"].to_numpy()
- # Build feature matrix
- parts = []
- # log(floor_area)
- fa = df["Total floor area (sqm)"].to_numpy().astype(np.float32)
- parts.append(np.log(np.maximum(fa, 1.0)).reshape(-1, 1))
- # Type dummies (ref: Detached)
- tg = df["type_group"].to_numpy()
- for t in ["Terraced", "Semi-Detached", "Flats"]:
- parts.append((tg == t).astype(np.float32).reshape(-1, 1))
- # EPC dummies (ref: D)
- epc = df["Current energy rating"].to_numpy()
- for r in ["A", "B", "C", "E", "F", "G"]:
- parts.append((epc == r).astype(np.float32).reshape(-1, 1))
- # Rooms
- parts.append(df["Number of bedrooms & living rooms"].to_numpy().astype(np.float32).reshape(-1, 1))
- # Age band dummies (ref: pre-1900)
- ab = df["age_band"].to_numpy()
- for band in AGE_LABELS[1:]:
- parts.append((ab == band).astype(np.float32).reshape(-1, 1))
- # Intercept
- parts.append(np.ones((len(df), 1), dtype=np.float32))
-
- F = np.hstack(parts)
+ # Build feature matrix (18 hedonic features + intercept)
+ X = build_hedonic_features(df)
+ F = np.hstack([X, np.ones((len(df), 1), dtype=np.float32)])
print(f" Feature matrix: {F.shape[0]:,} × {F.shape[1]}")
# Step 1: regress log(price) on features → quality score
@@ -303,12 +253,15 @@ def compute_hedonic_index(input_path: Path, min_year: int, max_year: int) -> dic
for y in hedonic:
hedonic[y] -= base
- print(f" Hedonic index: {len(hedonic)} years, range {min(hedonic.values()):.3f} to {max(hedonic.values()):.3f}")
+ print(
+ f" Hedonic index: {len(hedonic)} years, range {min(hedonic.values()):.3f} to {max(hedonic.values()):.3f}"
+ )
return hedonic
# --- Shrinkage ---
+
def shrink_index(raw: dict, parent: dict, n_pairs: int, k: int = SHRINKAGE_K) -> dict:
w = n_pairs / (n_pairs + k)
result = {}
@@ -320,9 +273,18 @@ def shrink_index(raw: dict, parent: dict, n_pairs: int, k: int = SHRINKAGE_K) ->
def apply_shrinkage(
- sector_idx, sector_n, district_idx, district_n,
- area_idx, area_n, national_idx, national_n,
- hedonic_idx, all_sectors, sector_to_dist, dist_to_area,
+ sector_idx,
+ sector_n,
+ district_idx,
+ district_n,
+ area_idx,
+ area_n,
+ national_idx,
+ national_n,
+ hedonic_idx,
+ all_sectors,
+ sector_to_dist,
+ dist_to_area,
):
"""Top-down hierarchical shrinkage: national→hedonic, area→national, etc."""
# National → hedonic
@@ -361,8 +323,11 @@ def apply_shrinkage(
# --- Spatial smoothing ---
+
def spatial_smooth(
- sector_indices: dict, centroids: dict, n_pairs_map: dict,
+ sector_indices: dict,
+ centroids: dict,
+ n_pairs_map: dict,
) -> dict:
"""Blend sparse sector indices with K nearest neighbors."""
# Build coordinate arrays for sectors with centroids
@@ -420,6 +385,7 @@ def spatial_smooth(
# --- Forward fill ---
+
def forward_fill(index: dict, min_year: int, max_year: int) -> dict:
filled = {}
last = 0.0
@@ -432,8 +398,11 @@ def forward_fill(index: dict, min_year: int, max_year: int) -> dict:
# --- Main ---
+
def main():
- parser = argparse.ArgumentParser(description="Build improved repeat-sales price index")
+ parser = argparse.ArgumentParser(
+ description="Build improved repeat-sales price index"
+ )
parser.add_argument("--input", type=Path, required=True)
parser.add_argument("--output", type=Path, required=True)
args = parser.parse_args()
@@ -474,8 +443,10 @@ def main():
# National
np_arrs = typed.select("year1", "year2", "log_ratio", "weight")
national_idx = solve_robust_index(
- np_arrs["year1"].to_numpy(), np_arrs["year2"].to_numpy(),
- np_arrs["log_ratio"].to_numpy(), np_arrs["weight"].to_numpy(),
+ np_arrs["year1"].to_numpy(),
+ np_arrs["year2"].to_numpy(),
+ np_arrs["log_ratio"].to_numpy(),
+ np_arrs["weight"].to_numpy(),
)
national_n = len(typed)
print(f" National: {len(national_idx)} years")
@@ -485,14 +456,25 @@ def main():
area_idx, area_n = compute_indices_for_level(typed, "area")
district_idx, district_n = compute_indices_for_level(typed, "district")
sector_idx, sector_n = compute_indices_for_level(typed, "sector")
- print(f" {len(area_idx)} areas, {len(district_idx)} districts, {len(sector_idx)} sectors")
+ print(
+ f" {len(area_idx)} areas, {len(district_idx)} districts, {len(sector_idx)} sectors"
+ )
# Shrinkage
print(" Applying shrinkage...")
sector_shrunk = apply_shrinkage(
- sector_idx, sector_n, district_idx, district_n,
- area_idx, area_n, national_idx, national_n,
- hedonic_idx, all_sectors, sector_to_dist, dist_to_area,
+ sector_idx,
+ sector_n,
+ district_idx,
+ district_n,
+ area_idx,
+ area_n,
+ national_idx,
+ national_n,
+ hedonic_idx,
+ all_sectors,
+ sector_to_dist,
+ dist_to_area,
)
# Spatial smoothing
@@ -519,15 +501,22 @@ def main():
result = pl.DataFrame(
rows,
- schema={"sector": pl.String, "type_group": pl.String, "year": pl.Int32,
- "log_index": pl.Float64, "n_pairs": pl.Int64},
+ schema={
+ "sector": pl.String,
+ "type_group": pl.String,
+ "year": pl.Int32,
+ "log_index": pl.Float64,
+ "n_pairs": pl.Int64,
+ },
orient="row",
).sort("type_group", "sector", "year")
result.write_parquet(args.output)
size_mb = args.output.stat().st_size / (1024 * 1024)
print(f"\nWrote {args.output} ({size_mb:.1f} MB)")
- print(f" {result['sector'].n_unique():,} sectors × {len(all_type_groups)} types × {max_year - min_year + 1} years = {len(result):,} rows")
+ print(
+ f" {result['sector'].n_unique():,} sectors × {len(all_type_groups)} types × {max_year - min_year + 1} years = {len(result):,} rows"
+ )
if __name__ == "__main__":
diff --git a/pipeline/transform/renovation_premium.py b/pipeline/transform/renovation_premium.py
new file mode 100644
index 0000000..587f5fe
--- /dev/null
+++ b/pipeline/transform/renovation_premium.py
@@ -0,0 +1,572 @@
+"""Estimate per-area renovation premiums from repeat-sale residuals.
+
+For each repeat-sale pair, computes the residual after removing the price-index
+predicted return. Pairs where renovation events occurred between sales should have
+systematically higher residuals. A WLS regression estimates the log-premium per
+event type, with hierarchical shrinkage and spatial smoothing.
+
+Output: renovation_premium.parquet — sector × type_group × event_type → log_premium
+"""
+
+import argparse
+import math
+from pathlib import Path
+
+import numpy as np
+import polars as pl
+from scipy.spatial import KDTree
+
+from pipeline.transform._price_utils import (
+ SHRINKAGE_K,
+ TYPE_GROUPS,
+ extract_centroids,
+ hierarchy_keys,
+ sector_expr,
+ type_group_expr,
+)
+
+HALF_LIFE = 10.0
+DECAY_RATE = math.log(2) / HALF_LIFE
+OUTLIER_THRESHOLD = 3.0
+MIN_PAIRS = 10
+SPATIAL_NEIGHBORS = 5
+SPATIAL_BLEND_K = 30
+EVENT_TYPES = ["Extension", "Renovation", "Remodeling"]
+
+
+def extract_pairs_with_events(input_path: Path, index_path: Path) -> pl.DataFrame:
+ """Extract repeat-sale pairs with renovation events and index residuals."""
+ print("Extracting repeat-sale pairs with renovation events...")
+
+ df = (
+ pl.scan_parquet(input_path)
+ .select("Postcode", "historical_prices", "Property type", "renovation_history")
+ .filter(
+ pl.col("Postcode").is_not_null(),
+ pl.col("historical_prices").list.len() >= 2,
+ )
+ .with_columns(sector_expr(), type_group_expr())
+ .collect()
+ )
+ print(f" {len(df):,} properties with 2+ transactions")
+
+ # Build consecutive pairs
+ pairs = (
+ df.lazy()
+ .with_columns(
+ pl.col("historical_prices")
+ .list.slice(0, pl.col("historical_prices").list.len() - 1)
+ .alias("from_txn"),
+ pl.col("historical_prices").list.slice(1).alias("to_txn"),
+ )
+ .explode("from_txn", "to_txn")
+ .with_columns(
+ pl.col("from_txn").struct.field("year").alias("year1"),
+ pl.col("from_txn").struct.field("price").alias("price1"),
+ pl.col("to_txn").struct.field("year").alias("year2"),
+ pl.col("to_txn").struct.field("price").alias("price2"),
+ )
+ .select(
+ "sector",
+ "type_group",
+ "year1",
+ "price1",
+ "year2",
+ "price2",
+ "renovation_history",
+ )
+ .filter(
+ pl.col("price1") > 0,
+ pl.col("price2") > 0,
+ pl.col("year2") > pl.col("year1"),
+ )
+ .with_columns(
+ (pl.col("price2").cast(pl.Float64) / pl.col("price1").cast(pl.Float64))
+ .log()
+ .alias("log_ratio"),
+ )
+ .filter(pl.col("log_ratio").abs() <= OUTLIER_THRESHOLD)
+ .collect()
+ )
+ print(f" {len(pairs):,} repeat-sale pairs")
+
+ # Join price index to compute residuals
+ index = pl.read_parquet(index_path)
+ has_type_group = "type_group" in index.columns
+
+ if has_type_group:
+ idx_typed = index.filter(pl.col("type_group") != "All")
+ idx_all = index.filter(pl.col("type_group") == "All")
+
+ # Join at year1
+ pairs = pairs.join(
+ idx_typed.select(
+ "sector", "type_group", "year", pl.col("log_index").alias("li1_typed")
+ ),
+ left_on=["sector", "type_group", "year1"],
+ right_on=["sector", "type_group", "year"],
+ how="left",
+ ).join(
+ idx_all.select("sector", "year", pl.col("log_index").alias("li1_all")),
+ left_on=["sector", "year1"],
+ right_on=["sector", "year"],
+ how="left",
+ )
+ # Join at year2
+ pairs = pairs.join(
+ idx_typed.select(
+ "sector", "type_group", "year", pl.col("log_index").alias("li2_typed")
+ ),
+ left_on=["sector", "type_group", "year2"],
+ right_on=["sector", "type_group", "year"],
+ how="left",
+ ).join(
+ idx_all.select("sector", "year", pl.col("log_index").alias("li2_all")),
+ left_on=["sector", "year2"],
+ right_on=["sector", "year"],
+ how="left",
+ )
+
+ pairs = pairs.with_columns(
+ (pl.col("li1_typed").fill_null(pl.col("li1_all"))).alias("_li1"),
+ (pl.col("li2_typed").fill_null(pl.col("li2_all"))).alias("_li2"),
+ )
+ else:
+ pairs = pairs.join(
+ index.select("sector", "year", pl.col("log_index").alias("_li1")),
+ left_on=["sector", "year1"],
+ right_on=["sector", "year"],
+ how="left",
+ ).join(
+ index.select("sector", "year", pl.col("log_index").alias("_li2")),
+ left_on=["sector", "year2"],
+ right_on=["sector", "year"],
+ how="left",
+ )
+
+ # Compute residual = log_ratio - (index2 - index1)
+ pairs = pairs.with_columns(
+ (
+ pl.col("log_ratio")
+ - (pl.col("_li2").fill_null(0.0) - pl.col("_li1").fill_null(0.0))
+ ).alias("residual"),
+ (1.0 / (pl.col("year2") - pl.col("year1")).cast(pl.Float64).sqrt()).alias(
+ "weight"
+ ),
+ )
+
+ # For each pair, compute time-decayed renovation indicators
+ # Use row index for unique identification (composite keys aren't unique per pair)
+ pairs = pairs.with_row_index("_pair_idx")
+
+ for et in EVENT_TYPES:
+ col_name = f"has_{et.lower()}"
+ pairs = pairs.with_columns(pl.lit(0.0).alias(col_name))
+
+ # Process properties that have renovation history
+ has_reno = pairs.filter(
+ pl.col("renovation_history").is_not_null()
+ & (pl.col("renovation_history").list.len() > 0)
+ )
+
+ if len(has_reno) > 0:
+ reno_exploded = (
+ has_reno.select("_pair_idx", "year1", "year2", "renovation_history")
+ .explode("renovation_history")
+ .with_columns(
+ pl.col("renovation_history").struct.field("year").alias("event_year"),
+ pl.col("renovation_history").struct.field("event").alias("event_type"),
+ )
+ # Only events between the two sales
+ .filter(
+ (pl.col("event_year") > pl.col("year1"))
+ & (pl.col("event_year") <= pl.col("year2"))
+ )
+ )
+
+ if len(reno_exploded) > 0:
+ # For each pair + event type, take the most recent event
+ latest_events = reno_exploded.group_by(
+ "_pair_idx", "event_type", "year2"
+ ).agg(pl.col("event_year").max().alias("latest_event_year"))
+
+ # Compute time-decayed indicator: exp(-decay_rate * (year2 - event_year))
+ latest_events = latest_events.with_columns(
+ (
+ -DECAY_RATE
+ * (pl.col("year2") - pl.col("latest_event_year")).cast(pl.Float64)
+ )
+ .exp()
+ .alias("decayed_indicator"),
+ )
+
+ # Pivot to wide format using _pair_idx for unique join
+ for et in EVENT_TYPES:
+ et_data = latest_events.filter(pl.col("event_type") == et)
+ if len(et_data) > 0:
+ col_name = f"has_{et.lower()}"
+ pairs = (
+ pairs.join(
+ et_data.select(
+ "_pair_idx",
+ pl.col("decayed_indicator").alias(f"_{col_name}"),
+ ),
+ on="_pair_idx",
+ how="left",
+ )
+ .with_columns(
+ pl.col(f"_{col_name}").fill_null(0.0).alias(col_name),
+ )
+ .drop(f"_{col_name}")
+ )
+
+ pairs = pairs.drop("_pair_idx")
+
+ # Add hierarchy columns
+ pairs = pairs.with_columns(
+ pl.col("sector").str.replace(r"\s+\d+$", "").alias("district"),
+ ).with_columns(
+ pl.col("district").str.replace(r"\d.*$", "").alias("area"),
+ )
+
+ # Count reno pairs
+ reno_mask = (
+ (pl.col("has_extension") > 0)
+ | (pl.col("has_renovation") > 0)
+ | (pl.col("has_remodeling") > 0)
+ )
+ n_reno = pairs.filter(reno_mask).height
+ print(
+ f" {n_reno:,} pairs with renovation events ({n_reno / len(pairs) * 100:.1f}%)"
+ )
+
+ # Drop temporary columns from index join + renovation_history (no longer needed)
+ temp_cols = [
+ c
+ for c in pairs.columns
+ if c.startswith("_li") or c.startswith("li1_") or c.startswith("li2_")
+ ]
+ pairs = pairs.drop(temp_cols + ["renovation_history"])
+
+ return pairs
+
+
+def wls_regression(
+ residuals: np.ndarray,
+ weights: np.ndarray,
+ X: np.ndarray,
+) -> np.ndarray:
+ """Weighted least squares: residual ~ X (with intercept column in X).
+
+ Uses sqrt(weights) scaling to avoid building a full N×N diagonal matrix.
+ """
+ sqrt_w = np.sqrt(weights)[:, np.newaxis]
+ Xw = X * sqrt_w
+ yw = residuals * sqrt_w.ravel()
+ try:
+ betas = np.linalg.lstsq(Xw, yw, rcond=None)[0]
+ except np.linalg.LinAlgError:
+ betas = np.zeros(X.shape[1])
+ return betas
+
+
+def compute_premiums_for_group(df: pl.DataFrame) -> dict[str, float]:
+ """Run WLS regression for a group, return {event_type: log_premium}."""
+ n = len(df)
+ if n < MIN_PAIRS:
+ return {}
+
+ residuals = df["residual"].to_numpy().astype(np.float64)
+ weights = df["weight"].to_numpy().astype(np.float64)
+
+ # Build design matrix: intercept + 3 event indicators
+ X = np.column_stack(
+ [
+ np.ones(n),
+ df["has_extension"].to_numpy().astype(np.float64),
+ df["has_renovation"].to_numpy().astype(np.float64),
+ df["has_remodeling"].to_numpy().astype(np.float64),
+ ]
+ )
+
+ # Check if we have any renovation pairs in this group
+ reno_sum = X[:, 1:].sum()
+ if reno_sum < 1.0:
+ return {}
+
+ betas = wls_regression(residuals, weights, X)
+ # betas[0] is intercept, betas[1:4] are the premiums
+ return {
+ "Extension": float(betas[1]),
+ "Renovation": float(betas[2]),
+ "Remodeling": float(betas[3]),
+ }
+
+
+def compute_premiums_for_level(
+ pairs: pl.DataFrame, group_col: str
+) -> tuple[dict, dict]:
+ """Compute premiums per group at a given hierarchy level.
+
+ Returns (premiums, n_reno_pairs) dicts keyed by group value.
+ premiums[key] = {event_type: log_premium}
+ """
+ groups = pairs.group_by(group_col)
+ premiums = {}
+ n_reno_pairs = {}
+ for key, group_df in groups:
+ key_val = key[0]
+ result = compute_premiums_for_group(group_df)
+ if result:
+ premiums[key_val] = result
+ # Count pairs with any reno indicator
+ reno_mask = (
+ (group_df["has_extension"].to_numpy() > 0)
+ | (group_df["has_renovation"].to_numpy() > 0)
+ | (group_df["has_remodeling"].to_numpy() > 0)
+ )
+ n_reno_pairs[key_val] = int(reno_mask.sum())
+ return premiums, n_reno_pairs
+
+
+def shrink_premium(
+ raw: dict[str, float], parent: dict[str, float], n: int
+) -> dict[str, float]:
+ """Shrink raw premiums toward parent level."""
+ w = n / (n + SHRINKAGE_K)
+ result = {}
+ for et in EVENT_TYPES:
+ r = raw.get(et, parent.get(et, 0.0))
+ p = parent.get(et, raw.get(et, 0.0))
+ result[et] = w * r + (1 - w) * p
+ return result
+
+
+def apply_shrinkage(
+ sector_prem,
+ sector_n,
+ district_prem,
+ district_n,
+ area_prem,
+ area_n,
+ national_prem,
+ national_n,
+ all_sectors,
+ sector_to_dist,
+ dist_to_area,
+):
+ """Top-down hierarchical shrinkage for premiums."""
+ # Area -> national
+ area_shrunk = {}
+ for area, prem in area_prem.items():
+ area_shrunk[area] = shrink_premium(prem, national_prem, area_n.get(area, 0))
+
+ # District -> area
+ district_shrunk = {}
+ for dist, prem in district_prem.items():
+ a = dist_to_area.get(dist, "")
+ parent = area_shrunk.get(a, national_prem)
+ district_shrunk[dist] = shrink_premium(prem, parent, district_n.get(dist, 0))
+
+ # Sector -> district
+ sector_shrunk = {}
+ for sec, prem in sector_prem.items():
+ d = sector_to_dist.get(sec, "")
+ parent = district_shrunk.get(d, national_prem)
+ sector_shrunk[sec] = shrink_premium(prem, parent, sector_n.get(sec, 0))
+
+ # Fill missing sectors
+ for sec in all_sectors:
+ if sec not in sector_shrunk:
+ d = sector_to_dist.get(sec, "")
+ a = dist_to_area.get(d, "")
+ sector_shrunk[sec] = district_shrunk.get(
+ d, area_shrunk.get(a, national_prem)
+ )
+
+ return sector_shrunk
+
+
+def spatial_smooth(
+ sector_premiums: dict[str, dict[str, float]],
+ centroids: dict[str, tuple[float, float]],
+ n_reno_map: dict[str, int],
+) -> dict[str, dict[str, float]]:
+ """Blend sparse sector premiums with K nearest neighbors."""
+ sectors_with_coords = [s for s in sector_premiums if s in centroids]
+ if len(sectors_with_coords) < SPATIAL_NEIGHBORS + 1:
+ return sector_premiums
+
+ coords = np.array([centroids[s] for s in sectors_with_coords])
+ mean_lat = np.mean(coords[:, 0])
+ scale = np.cos(np.radians(mean_lat))
+ scaled_coords = np.column_stack([coords[:, 0], coords[:, 1] * scale])
+ tree = KDTree(scaled_coords)
+
+ result = dict(sector_premiums)
+ for i, sec in enumerate(sectors_with_coords):
+ n = n_reno_map.get(sec, 0)
+ self_w = n / (n + SPATIAL_BLEND_K)
+ if self_w > 0.95:
+ continue
+
+ dists, idxs = tree.query(scaled_coords[i], k=SPATIAL_NEIGHBORS + 1)
+ neighbor_dists = dists[1:]
+ neighbor_idxs = idxs[1:]
+
+ inv_dists = []
+ neighbor_prems = []
+ for d, j in zip(neighbor_dists, neighbor_idxs):
+ ns = sectors_with_coords[j]
+ if d > 0 and ns in sector_premiums:
+ inv_dists.append(1.0 / d)
+ neighbor_prems.append(sector_premiums[ns])
+
+ if not neighbor_prems:
+ continue
+
+ total_inv = sum(inv_dists)
+ nbr_w = 1.0 - self_w
+ ws = [iw / total_inv * nbr_w for iw in inv_dists]
+
+ blended = {}
+ for et in EVENT_TYPES:
+ val = self_w * sector_premiums[sec].get(et, 0.0)
+ for np_dict, w in zip(neighbor_prems, ws):
+ val += w * np_dict.get(et, 0.0)
+ blended[et] = val
+ result[sec] = blended
+
+ return result
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ description="Estimate renovation premiums from repeat-sale residuals"
+ )
+ parser.add_argument(
+ "--input", type=Path, required=True, help="Path to wide.parquet"
+ )
+ parser.add_argument(
+ "--index", type=Path, required=True, help="Path to price_index.parquet"
+ )
+ parser.add_argument(
+ "--output", type=Path, required=True, help="Output renovation_premium.parquet"
+ )
+ args = parser.parse_args()
+
+ pairs = extract_pairs_with_events(args.input, args.index)
+ centroids = extract_centroids(args.input)
+
+ # Precompute hierarchy
+ all_sectors = pairs["sector"].unique().to_list()
+ sector_to_dist = {}
+ dist_to_area = {}
+ for s in all_sectors:
+ d, a = hierarchy_keys(s)
+ sector_to_dist[s] = d
+ dist_to_area[d] = a
+
+ all_type_groups = ["All"] + TYPE_GROUPS
+ rows = []
+
+ for tg in all_type_groups:
+ print(f"\n--- {tg} ---")
+ typed = pairs if tg == "All" else pairs.filter(pl.col("type_group") == tg)
+ if len(typed) < MIN_PAIRS:
+ print(f" Skipping (only {len(typed)} pairs)")
+ continue
+
+ print(f" {len(typed):,} pairs")
+
+ # National
+ national_prem = compute_premiums_for_group(typed)
+ national_reno = typed.filter(
+ (pl.col("has_extension") > 0)
+ | (pl.col("has_renovation") > 0)
+ | (pl.col("has_remodeling") > 0)
+ ).height
+ if not national_prem:
+ print(" No renovation pairs at national level, skipping")
+ continue
+
+ print(
+ " National premiums: "
+ + ", ".join(
+ f"{et}: {v:.4f} ({math.exp(v) - 1:.1%})"
+ for et, v in national_prem.items()
+ )
+ )
+
+ # Per-level
+ print(" Computing per-level premiums:")
+ area_prem, area_n = compute_premiums_for_level(typed, "area")
+ district_prem, district_n = compute_premiums_for_level(typed, "district")
+ sector_prem, sector_n = compute_premiums_for_level(typed, "sector")
+ print(
+ f" {len(area_prem)} areas, {len(district_prem)} districts, {len(sector_prem)} sectors with data"
+ )
+
+ # Shrinkage
+ print(" Applying shrinkage...")
+ sector_shrunk = apply_shrinkage(
+ sector_prem,
+ sector_n,
+ district_prem,
+ district_n,
+ area_prem,
+ area_n,
+ national_prem,
+ national_reno,
+ all_sectors,
+ sector_to_dist,
+ dist_to_area,
+ )
+
+ # Spatial smoothing
+ print(" Spatial smoothing...")
+ sector_smoothed = spatial_smooth(sector_shrunk, centroids, sector_n)
+
+ # Collect rows
+ for sec in all_sectors:
+ prem = sector_smoothed.get(sec, national_prem)
+ n = sector_n.get(sec, 0)
+ for et in EVENT_TYPES:
+ rows.append((sec, tg, et, prem.get(et, 0.0), n))
+
+ result = pl.DataFrame(
+ rows,
+ schema={
+ "sector": pl.String,
+ "type_group": pl.String,
+ "event_type": pl.String,
+ "log_premium": pl.Float64,
+ "n_reno_pairs": pl.Int64,
+ },
+ orient="row",
+ ).sort("type_group", "sector", "event_type")
+
+ result.write_parquet(args.output)
+ size_mb = args.output.stat().st_size / (1024 * 1024)
+ print(f"\nWrote {args.output} ({size_mb:.1f} MB)")
+ print(
+ f" {result['sector'].n_unique():,} sectors x {len(all_type_groups)} types x {len(EVENT_TYPES)} events = {len(result):,} rows"
+ )
+
+ # Print summary statistics
+ print("\nNational premium summary:")
+ national = (
+ result.filter(pl.col("type_group") == "All")
+ .group_by("event_type")
+ .agg(
+ pl.col("log_premium").mean().alias("mean_log_premium"),
+ )
+ )
+ for row in national.iter_rows(named=True):
+ et = row["event_type"]
+ lp = row["mean_log_premium"]
+ print(f" {et}: log_premium={lp:.4f} ({math.exp(lp) - 1:.1%} price uplift)")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/r5-java/src/main/java/propertymap/App.java b/r5-java/src/main/java/propertymap/App.java
index 63bb990..6646e17 100644
--- a/r5-java/src/main/java/propertymap/App.java
+++ b/r5-java/src/main/java/propertymap/App.java
@@ -163,7 +163,7 @@ public class App {
case "bicycle":
task.fromTime = 8 * 3600;
task.toTime = 8 * 3600 + 60;
- task.maxTripDurationMinutes = 90;
+ task.maxTripDurationMinutes = 120;
task.accessModes = EnumSet.of(LegMode.BICYCLE);
task.egressModes = EnumSet.of(LegMode.BICYCLE);
task.directModes = EnumSet.of(LegMode.BICYCLE);
@@ -172,7 +172,7 @@ public class App {
case "walking":
task.fromTime = 8 * 3600;
task.toTime = 8 * 3600 + 60;
- task.maxTripDurationMinutes = 60;
+ task.maxTripDurationMinutes = 120;
task.accessModes = EnumSet.of(LegMode.WALK);
task.egressModes = EnumSet.of(LegMode.WALK);
task.directModes = EnumSet.of(LegMode.WALK);
@@ -181,7 +181,7 @@ public class App {
default: // transit
task.fromTime = 8 * 3600;
task.toTime = 8 * 3600 + 60; // single RAPTOR sweep
- task.maxTripDurationMinutes = 90;
+ task.maxTripDurationMinutes = 120;
task.maxRides = 4;
task.accessModes = EnumSet.of(LegMode.WALK);
task.egressModes = EnumSet.of(LegMode.WALK);
diff --git a/server-rs/src/auth.rs b/server-rs/src/auth.rs
index 7fb245d..7cd25da 100644
--- a/server-rs/src/auth.rs
+++ b/server-rs/src/auth.rs
@@ -79,13 +79,18 @@ async fn validate_token(
.header("Authorization", format!("Bearer {token}"))
.send()
.await
+ .map_err(|err| warn!("Token validation request failed: {err}"))
.ok()?;
if !res.status().is_success() {
return None;
}
- let body: AuthRefreshResponse = res.json().await.ok()?;
+ let body: AuthRefreshResponse = res
+ .json()
+ .await
+ .map_err(|err| warn!("Failed to parse auth refresh response: {err}"))
+ .ok()?;
Some(body.record)
}
diff --git a/server-rs/src/consts.rs b/server-rs/src/consts.rs
index e615e25..f7e1627 100644
--- a/server-rs/src/consts.rs
+++ b/server-rs/src/consts.rs
@@ -18,6 +18,5 @@ pub const AREA_SUMMARY_SYSTEM_PROMPT: &str = "You are an experienced estate agen
pub const AREA_SUMMARY_MAX_TOKENS: usize = 300;
pub const AREA_SUMMARY_TEMPERATURE: f32 = 0.3;
-pub const AI_FILTERS_SYSTEM_PROMPT: &str = "You are a property search assistant. The user will describe their ideal property or area in natural language. Your job is to translate their description into filter settings. ONLY set filters the user explicitly mentioned or clearly implied. Leave everything else out. Do not guess or add extra filters. If a request is ambiguous, prefer a wider range. Output valid JSON matching the provided schema.";
pub const AI_FILTERS_MAX_TOKENS: usize = 2000;
pub const AI_FILTERS_TEMPERATURE: f32 = 0.0;
diff --git a/server-rs/src/features.rs b/server-rs/src/features.rs
index ffbe192..2c2bff8 100644
--- a/server-rs/src/features.rs
+++ b/server-rs/src/features.rs
@@ -26,6 +26,8 @@ pub struct FeatureConfig {
pub suffix: &'static str,
/// If true, show full integer (no k/M abbreviation)
pub raw: bool,
+ /// If true, the slider uses absolute min/max/step instead of percentile scaling
+ pub absolute: bool,
}
/// Features whose histogram bins should be exactly 1 unit wide (one per integer).
@@ -85,6 +87,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "£",
suffix: "",
raw: false,
+ absolute: true,
},
FeatureConfig {
name: "Estimated current price",
@@ -94,11 +97,12 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
},
step: 10000.0,
description: "Inflation-adjusted estimate of the current property value",
- detail: "Estimated by applying a repeat-sales price index to the last known sale price. The index tracks price changes within each postcode sector and property type. Properties sold recently will have estimates close to their sale price; older sales are adjusted more. Coverage depends on having enough repeat sales in the local area to build the index.",
+ detail: "Estimated by applying a repeat-sales price index to the last known sale price, plus a renovation premium for properties with post-sale improvements detected from EPC records (extensions, renovations, remodeling). The index tracks price changes within each postcode sector and property type. Renovation premiums are estimated per area from observed repeat-sale pairs and decay over time. Properties sold recently will have estimates close to their sale price; older sales are adjusted more.",
source: "price-paid",
prefix: "£",
suffix: "",
raw: false,
+ absolute: true,
},
FeatureConfig {
name: "Price per sqm",
@@ -113,6 +117,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "£",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Est. price per sqm",
@@ -122,11 +127,12 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
},
step: 100.0,
description: "Estimated current price divided by total floor area",
- detail: "Calculated by dividing the inflation-adjusted estimated current price by the total floor area from the EPC certificate. Provides a more up-to-date price-per-area comparison than the historical sale price per sqm.",
+ detail: "Calculated by dividing the inflation-adjusted estimated current price (including any renovation premium) by the total floor area from the EPC certificate. Provides a more up-to-date price-per-area comparison than the historical sale price per sqm.",
source: "price-paid",
prefix: "£",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Total floor area (sqm)",
@@ -141,12 +147,28 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " sqm",
raw: false,
+ absolute: false,
+ },
+ FeatureConfig {
+ name: "Interior height (m)",
+ bounds: Bounds::Percentile {
+ low: 2.0,
+ high: 98.0,
+ },
+ step: 0.1,
+ description: "Average storey height from the EPC survey",
+ detail: "Average internal floor-to-ceiling height in metres as recorded during the Energy Performance Certificate assessment. Calculated by dividing the total internal volume by the total floor area.",
+ source: "epc",
+ prefix: "",
+ suffix: " m",
+ raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Number of bedrooms & living rooms",
bounds: Bounds::Fixed {
min: 1.0,
- max: 10.0,
+ max: 12.0,
},
step: 1.0,
description: "Count of habitable rooms from the EPC survey",
@@ -155,6 +177,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " rooms",
raw: false,
+ absolute: true,
},
FeatureConfig {
name: "Estimated monthly rent",
@@ -166,6 +189,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "£",
suffix: "/mo",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Date of last transaction",
@@ -180,6 +204,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: true,
+ absolute: false,
},
FeatureConfig {
name: "Construction age",
@@ -194,6 +219,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: true,
+ absolute: false,
},
],
},
@@ -213,6 +239,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " mins",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Public transport to Fitzrovia (mins)",
@@ -227,6 +254,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " mins",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Cycling to Bank (mins)",
@@ -241,6 +269,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " mins",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Cycling to Fitzrovia (mins)",
@@ -255,6 +284,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " mins",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Number of public transport stations within 2km",
@@ -269,6 +299,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
],
},
@@ -288,6 +319,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Good+ primary schools within 5km",
@@ -302,6 +334,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Good+ secondary schools within 5km",
@@ -316,6 +349,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
],
},
@@ -332,6 +366,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Employment Score (rate)",
@@ -343,6 +378,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Health Deprivation and Disability Score",
@@ -357,6 +393,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Living Environment Score",
@@ -371,6 +408,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Indoors Sub-domain Score",
@@ -385,6 +423,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Outdoors Sub-domain Score",
@@ -399,6 +438,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
],
},
@@ -418,6 +458,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Violence and sexual offences (avg/yr)",
@@ -432,6 +473,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Criminal damage and arson (avg/yr)",
@@ -446,6 +488,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Burglary (avg/yr)",
@@ -460,6 +503,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Vehicle crime (avg/yr)",
@@ -474,6 +518,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Robbery (avg/yr)",
@@ -488,6 +533,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Other theft (avg/yr)",
@@ -502,6 +548,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Shoplifting (avg/yr)",
@@ -516,6 +563,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Drugs (avg/yr)",
@@ -530,6 +578,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Possession of weapons (avg/yr)",
@@ -544,6 +593,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Public order (avg/yr)",
@@ -558,6 +608,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Bicycle theft (avg/yr)",
@@ -572,6 +623,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Theft from the person (avg/yr)",
@@ -586,6 +638,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Other crime (avg/yr)",
@@ -600,6 +653,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Serious crime (avg/yr)",
@@ -614,6 +668,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Minor crime (avg/yr)",
@@ -628,6 +683,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "/yr",
raw: false,
+ absolute: false,
},
],
},
@@ -647,6 +703,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "%",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "% Asian",
@@ -661,6 +718,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "%",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "% Black",
@@ -675,6 +733,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "%",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "% Mixed",
@@ -689,6 +748,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "%",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "% Other",
@@ -703,6 +763,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "%",
raw: false,
+ absolute: false,
},
],
},
@@ -722,6 +783,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Number of grocery shops and supermarkets within 2km",
@@ -736,6 +798,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Number of parks within 2km",
@@ -750,6 +813,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: "",
raw: false,
+ absolute: false,
},
],
},
@@ -769,6 +833,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " dB",
raw: false,
+ absolute: false,
},
FeatureConfig {
name: "Max available download speed (Mbps)",
@@ -783,6 +848,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
prefix: "",
suffix: " Mbps",
raw: true,
+ absolute: false,
},
],
},
diff --git a/server-rs/src/main.rs b/server-rs/src/main.rs
index 1d6e563..b0ba19a 100644
--- a/server-rs/src/main.rs
+++ b/server-rs/src/main.rs
@@ -6,6 +6,7 @@ mod features;
mod metrics;
mod og_middleware;
pub mod parsing;
+mod pocketbase;
mod routes;
mod state;
pub mod utils;
@@ -23,7 +24,7 @@ use tower_http::compression::CompressionLayer;
use tower_http::cors::{Any, CorsLayer};
use tower_http::services::{ServeDir, ServeFile};
use tower_http::trace::TraceLayer;
-use tracing::{info, warn};
+use tracing::info;
use tracing_subscriber::EnvFilter;
use state::AppState;
@@ -39,6 +40,10 @@ struct Cli {
#[arg(long)]
pois: PathBuf,
+ /// Path to the places parquet file
+ #[arg(long)]
+ places: PathBuf,
+
/// Path to the postcode boundaries directory
#[arg(long)]
postcodes: PathBuf,
@@ -56,28 +61,36 @@ struct Cli {
screenshot_url: String,
/// Public-facing URL for absolute og:image URLs
- #[arg(
- long,
- env = "PUBLIC_URL",
- default_value = "https://perfectpostcodes.schmelczer.dev"
- )]
+ #[arg(long, env = "PUBLIC_URL")]
public_url: String,
/// PocketBase server URL for authentication (e.g. http://localhost:8090)
#[arg(long, env = "POCKETBASE_URL")]
pocketbase_url: String,
+ /// PocketBase superuser email (for auto-creating collections at startup)
+ #[arg(long, env = "POCKETBASE_ADMIN_EMAIL")]
+ pocketbase_admin_email: Option,
+
+ /// PocketBase superuser password (for auto-creating collections at startup)
+ #[arg(long, env = "POCKETBASE_ADMIN_PASSWORD")]
+ pocketbase_admin_password: Option,
+
/// Ollama server URL for AI area summaries (e.g. http://ollama:11434)
#[arg(long, env = "OLLAMA_URL")]
ollama_url: String,
/// Ollama model name for area summaries
- #[arg(long, env = "OLLAMA_MODEL", default_value = "gemma3:12b")]
+ #[arg(long, env = "OLLAMA_MODEL")]
ollama_model: String,
- /// R5 routing service URL for real-time travel times (e.g. http://r5:8003)
- #[arg(long, env = "R5_URL", default_value = "")]
- r5_url: String,
+ /// R5 routing service URL for all travel times (e.g. http://r5:8003)
+ #[arg(long, env = "R5_URL")]
+ r5_url: Option,
+
+ /// Google Maps API key for Street View metadata lookups
+ #[arg(long, env = "GOOGLE_MAPS_API_KEY")]
+ google_maps_api_key: String,
}
#[tokio::main]
@@ -138,6 +151,15 @@ async fn main() -> anyhow::Result<()> {
info!("Building POI spatial grid index");
let poi_grid = utils::GridIndex::build(&poi_data.lat, &poi_data.lng, consts::GRID_CELL_SIZE);
+ // Load place data
+ let places_path = &cli.places;
+ if !places_path.exists() {
+ bail!("Places parquet file not found: {}", places_path.display());
+ }
+ info!("Loading place data from {}", places_path.display());
+ let place_data = data::PlaceData::load(places_path)?;
+ info!(places = place_data.name.len(), "Place data loaded");
+
// Load postcode boundaries
let postcodes_path = &cli.postcodes;
if !postcodes_path.exists() {
@@ -191,26 +213,15 @@ async fn main() -> anyhow::Result<()> {
let poi_category_groups = poi_data.category_groups()?;
// Read index.html at startup for crawler OG injection
- let frontend_dist = cli
- .dist
- .unwrap_or_else(|| PathBuf::from("frontend/dist"));
-
- let index_html = {
- let index_path = frontend_dist.join("index.html");
- match std::fs::read_to_string(&index_path) {
- Ok(html) => {
- info!("Loaded index.html for OG injection");
- Some(html)
- }
- Err(err) => {
- warn!(
- "Could not read {}: {} (OG injection disabled)",
- index_path.display(),
- err
- );
- None
- }
- }
+ let (frontend_dist, index_html) = if let Some(dist) = cli.dist {
+ let index_path = dist.join("index.html");
+ let html = std::fs::read_to_string(&index_path)
+ .with_context(|| format!("Failed to read {}", index_path.display()))?;
+ info!("Loaded index.html for OG injection");
+ (Some(dist), Some(html))
+ } else {
+ info!("No --dist provided, static serving and OG injection disabled");
+ (None, None)
};
let http_client = reqwest::Client::new();
@@ -223,6 +234,10 @@ async fn main() -> anyhow::Result<()> {
"Precomputed features response"
);
+ let ai_filters_schema = routes::build_ollama_schema(&features_response);
+ let ai_filters_system_prompt = routes::build_system_prompt(&features_response);
+ info!("Precomputed AI filters schema and system prompt");
+
// Record data loading metrics
metrics::record_data_stats(
property_data.lat.len(),
@@ -231,12 +246,21 @@ async fn main() -> anyhow::Result<()> {
);
info!("PocketBase configured: {}", cli.pocketbase_url);
+
+ if let (Some(ref email), Some(ref password)) =
+ (&cli.pocketbase_admin_email, &cli.pocketbase_admin_password)
+ {
+ pocketbase::ensure_collections(&http_client, &cli.pocketbase_url, email, password).await?;
+ } else {
+ info!("PocketBase admin credentials not set — skipping collection auto-creation");
+ }
+
info!(
"Ollama configured: {} (model: {})",
cli.ollama_url, cli.ollama_model
);
- if !cli.r5_url.is_empty() {
- info!("R5 routing service configured: {}", cli.r5_url);
+ if let Some(ref url) = cli.r5_url {
+ info!("R5 routing service configured: {}", url);
} else {
info!("R5 routing service not configured (travel time queries disabled)");
}
@@ -249,6 +273,7 @@ async fn main() -> anyhow::Result<()> {
h3_cells,
poi_data,
poi_grid,
+ place_data,
postcode_data,
feature_name_to_index,
min_keys,
@@ -265,6 +290,9 @@ async fn main() -> anyhow::Result<()> {
ollama_model: cli.ollama_model,
r5_url: cli.r5_url,
token_cache,
+ ai_filters_schema,
+ ai_filters_system_prompt,
+ google_maps_api_key: cli.google_maps_api_key,
});
let cors = CorsLayer::new()
@@ -286,8 +314,11 @@ async fn main() -> anyhow::Result<()> {
let state_pb = state.clone();
let state_postcode_stats = state.clone();
let state_area_summary = state.clone();
+ let state_places = state.clone();
let state_shorten = state.clone();
let state_short_url = state.clone();
+ let state_ai_filters = state.clone();
+ let state_streetview = state.clone();
let api = Router::new()
.route(
@@ -314,6 +345,10 @@ async fn main() -> anyhow::Result<()> {
"/api/poi-categories",
get(move || routes::get_poi_categories(state_poi_categories.clone())),
)
+ .route(
+ "/api/places",
+ get(move |query| routes::get_places(state_places.clone(), query)),
+ )
.route(
"/api/hexagon-properties",
get(move |query| {
@@ -345,6 +380,14 @@ async fn main() -> anyhow::Result<()> {
"/api/shorten",
post(move |body| routes::post_shorten(state_shorten.clone(), body)),
)
+ .route(
+ "/api/ai-filters",
+ post(move |body| routes::post_ai_filters(state_ai_filters.clone(), body)),
+ )
+ .route(
+ "/api/streetview",
+ get(move |query| routes::get_streetview(state_streetview.clone(), query)),
+ )
.route(
"/s/{code}",
get(move |path| routes::get_short_url(state_short_url.clone(), path)),
@@ -364,6 +407,7 @@ async fn main() -> anyhow::Result<()> {
routes::get_style(axum::extract::State(reader_style.clone()), headers, query)
}),
)
+ .route("/health", get(|| async { "ok" }))
.route(
"/metrics",
get(move || metrics::metrics_handler(metrics_handle.clone())),
@@ -373,10 +417,9 @@ async fn main() -> anyhow::Result<()> {
any(move |req| routes::proxy_to_pocketbase(state_pb.clone(), req)),
);
- let app = if frontend_dist.exists() {
+ let app = if let Some(ref dist) = frontend_dist {
api.fallback_service(
- ServeDir::new(&frontend_dist)
- .not_found_service(ServeFile::new(frontend_dist.join("index.html"))),
+ ServeDir::new(dist).not_found_service(ServeFile::new(dist.join("index.html"))),
)
} else {
api
diff --git a/server-rs/src/parsing/h3.rs b/server-rs/src/parsing/h3.rs
index 2001001..35d3147 100644
--- a/server-rs/src/parsing/h3.rs
+++ b/server-rs/src/parsing/h3.rs
@@ -38,11 +38,8 @@ pub fn cell_for_row(
if !need_parent || max_cell == 0 {
return max_cell;
}
- h3o::CellIndex::try_from(max_cell)
- .ok()
- .and_then(|ci| ci.parent(h3_res))
- .map(u64::from)
- .unwrap_or(0)
+ let cell = h3o::CellIndex::try_from(max_cell).expect("precomputed H3 cell must be valid");
+ u64::from(cell.parent(h3_res).expect("parent resolution must be valid for precomputed cell"))
}
/// Whether the given resolution requires computing a parent from precomputed cells.
diff --git a/server-rs/src/pocketbase.rs b/server-rs/src/pocketbase.rs
new file mode 100644
index 0000000..12d1779
--- /dev/null
+++ b/server-rs/src/pocketbase.rs
@@ -0,0 +1,235 @@
+use reqwest::Client;
+use serde::{Deserialize, Serialize};
+use tracing::info;
+
+#[derive(Deserialize)]
+struct AuthResponse {
+ token: String,
+}
+
+#[derive(Deserialize)]
+struct CollectionList {
+ items: Vec,
+}
+
+#[derive(Deserialize)]
+struct CollectionItem {
+ name: String,
+}
+
+#[derive(Serialize)]
+struct CreateCollection {
+ name: String,
+ r#type: String,
+ fields: Vec,
+}
+
+#[derive(Serialize)]
+#[serde(rename_all = "camelCase")]
+struct Field {
+ name: String,
+ r#type: String,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ required: Option,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ max_select: Option,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ collection_id: Option,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ max_size: Option,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ mime_types: Option>,
+}
+
+impl Field {
+ fn text(name: &str, required: bool) -> Self {
+ Self {
+ name: name.to_string(),
+ r#type: "text".to_string(),
+ required: Some(required),
+ max_select: None,
+ collection_id: None,
+ max_size: None,
+ mime_types: None,
+ }
+ }
+
+ fn file(name: &str, mime_types: Vec<&str>) -> Self {
+ Self {
+ name: name.to_string(),
+ r#type: "file".to_string(),
+ required: Some(false),
+ max_select: Some(1),
+ collection_id: None,
+ max_size: Some(10 * 1024 * 1024), // 10 MB
+ mime_types: Some(mime_types.into_iter().map(String::from).collect()),
+ }
+ }
+
+ fn relation(name: &str, collection_id: &str) -> Self {
+ Self {
+ name: name.to_string(),
+ r#type: "relation".to_string(),
+ required: Some(true),
+ max_select: Some(1),
+ collection_id: Some(collection_id.to_string()),
+ max_size: None,
+ mime_types: None,
+ }
+ }
+}
+
+async fn auth_superuser(
+ client: &Client,
+ base_url: &str,
+ email: &str,
+ password: &str,
+) -> anyhow::Result {
+ let url = format!("{base_url}/api/collections/_superusers/auth-with-password");
+ let resp = client
+ .post(&url)
+ .json(&serde_json::json!({
+ "identity": email,
+ "password": password,
+ }))
+ .send()
+ .await?;
+
+ if !resp.status().is_success() {
+ let status = resp.status();
+ let text = resp.text().await.unwrap_or_default();
+ anyhow::bail!("PocketBase superuser auth failed ({status}): {text}");
+ }
+
+ let body: AuthResponse = resp.json().await?;
+ Ok(body.token)
+}
+
+async fn list_collections(
+ client: &Client,
+ base_url: &str,
+ token: &str,
+) -> anyhow::Result> {
+ let url = format!("{base_url}/api/collections?perPage=200");
+ let resp = client
+ .get(&url)
+ .header("Authorization", format!("Bearer {token}"))
+ .send()
+ .await?;
+
+ if !resp.status().is_success() {
+ let status = resp.status();
+ let text = resp.text().await.unwrap_or_default();
+ anyhow::bail!("Failed to list PocketBase collections ({status}): {text}");
+ }
+
+ let body: CollectionList = resp.json().await?;
+ Ok(body.items.into_iter().map(|c| c.name).collect())
+}
+
+async fn create_collection(
+ client: &Client,
+ base_url: &str,
+ token: &str,
+ collection: CreateCollection,
+) -> anyhow::Result<()> {
+ let name = collection.name.clone();
+ let resp = client
+ .post(&format!("{base_url}/api/collections"))
+ .header("Authorization", format!("Bearer {token}"))
+ .json(&collection)
+ .send()
+ .await?;
+
+ if !resp.status().is_success() {
+ let status = resp.status();
+ let text = resp.text().await.unwrap_or_default();
+ anyhow::bail!("Failed to create collection '{name}' ({status}): {text}");
+ }
+
+ info!("Created PocketBase collection: {name}");
+ Ok(())
+}
+
+/// Look up the internal ID of the `users` auth collection.
+async fn find_users_collection_id(
+ client: &Client,
+ base_url: &str,
+ token: &str,
+) -> anyhow::Result {
+ let url = format!("{base_url}/api/collections/users");
+ let resp = client
+ .get(&url)
+ .header("Authorization", format!("Bearer {token}"))
+ .send()
+ .await?;
+
+ if !resp.status().is_success() {
+ let status = resp.status();
+ let text = resp.text().await.unwrap_or_default();
+ anyhow::bail!("Failed to fetch users collection ({status}): {text}");
+ }
+
+ let body: serde_json::Value = resp.json().await?;
+ let id = body["id"]
+ .as_str()
+ .ok_or_else(|| anyhow::anyhow!("users collection has no id field"))?;
+ Ok(id.to_string())
+}
+
+/// Ensure the `saved_searches` and `short_urls` collections exist in PocketBase.
+/// Authenticates as superuser, checks existing collections, and creates any that are missing.
+pub async fn ensure_collections(
+ client: &Client,
+ base_url: &str,
+ admin_email: &str,
+ admin_password: &str,
+) -> anyhow::Result<()> {
+ let base_url = base_url.trim_end_matches('/');
+
+ let token = auth_superuser(client, base_url, admin_email, admin_password).await?;
+ let existing = list_collections(client, base_url, &token).await?;
+
+ if !existing.iter().any(|n| n == "saved_searches") {
+ let users_id = find_users_collection_id(client, base_url, &token).await?;
+ create_collection(
+ client,
+ base_url,
+ &token,
+ CreateCollection {
+ name: "saved_searches".to_string(),
+ r#type: "base".to_string(),
+ fields: vec![
+ Field::relation("user", &users_id),
+ Field::text("name", true),
+ Field::text("params", true),
+ Field::file("screenshot", vec!["image/png", "image/jpeg", "image/webp"]),
+ ],
+ },
+ )
+ .await?;
+ } else {
+ info!("PocketBase collection 'saved_searches' already exists");
+ }
+
+ if !existing.iter().any(|n| n == "short_urls") {
+ create_collection(
+ client,
+ base_url,
+ &token,
+ CreateCollection {
+ name: "short_urls".to_string(),
+ r#type: "base".to_string(),
+ fields: vec![
+ Field::text("code", true),
+ Field::text("params", true),
+ ],
+ },
+ )
+ .await?;
+ } else {
+ info!("PocketBase collection 'short_urls' already exists");
+ }
+
+ Ok(())
+}
diff --git a/server-rs/src/routes.rs b/server-rs/src/routes.rs
index 587d4e3..eb01899 100644
--- a/server-rs/src/routes.rs
+++ b/server-rs/src/routes.rs
@@ -14,10 +14,11 @@ pub(crate) mod properties;
mod screenshot;
mod shorten;
mod stats;
+mod streetview;
mod tiles;
pub(crate) mod travel_time;
-pub use ai_filters::{build_feature_prompt, build_ollama_schema, post_ai_filters};
+pub use ai_filters::{build_ollama_schema, build_system_prompt, post_ai_filters};
pub use area_summary::post_area_summary;
pub use export::get_export;
pub use features::{build_features_response, get_features, FeatureInfo, FeaturesResponse};
@@ -32,4 +33,5 @@ pub use postcodes::{get_postcode_lookup, get_postcodes};
pub use properties::get_hexagon_properties;
pub use screenshot::get_screenshot;
pub use shorten::{get_short_url, post_shorten};
+pub use streetview::get_streetview;
pub use tiles::{get_style, get_tile, init_tile_reader};
diff --git a/server-rs/src/routes/ai_filters.rs b/server-rs/src/routes/ai_filters.rs
new file mode 100644
index 0000000..e1884ae
--- /dev/null
+++ b/server-rs/src/routes/ai_filters.rs
@@ -0,0 +1,334 @@
+use std::sync::Arc;
+
+use axum::http::StatusCode;
+use axum::response::Json;
+use serde::{Deserialize, Serialize};
+use serde_json::{json, Value};
+use tracing::{info, warn};
+
+use crate::consts::{AI_FILTERS_MAX_TOKENS, AI_FILTERS_TEMPERATURE};
+use crate::routes::{FeatureInfo, FeaturesResponse};
+use crate::state::AppState;
+use crate::utils::{extract_ollama_content, ollama_chat, strip_think_blocks};
+
+#[derive(Deserialize)]
+pub struct AiFiltersRequest {
+ query: String,
+}
+
+#[derive(Serialize)]
+pub struct AiFiltersResponse {
+ filters: Value,
+ /// What the LLM couldn't map to existing filters (empty if everything matched)
+ #[serde(skip_serializing_if = "String::is_empty")]
+ notes: String,
+}
+
+/// Build a JSON schema for Ollama structured output.
+///
+/// Uses two arrays (`numeric_filters` and `enum_filters`) instead of one property
+/// per feature, because Ollama converts JSON schema to GBNF grammar and a schema
+/// with 50+ optional keys causes a combinatorial explosion that crashes the parser.
+/// Array-based schema keeps the grammar small and constant-size.
+pub fn build_ollama_schema(_features: &FeaturesResponse) -> Value {
+ json!({
+ "type": "object",
+ "properties": {
+ "numeric_filters": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": { "type": "string" },
+ "min": { "type": "number" },
+ "max": { "type": "number" }
+ },
+ "required": ["name"]
+ }
+ },
+ "enum_filters": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": { "type": "string" },
+ "values": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["name", "values"]
+ }
+ },
+ "notes": {
+ "type": "string"
+ }
+ }
+ })
+}
+
+/// Build the complete system prompt for AI filters.
+///
+/// Contains: role instructions, feature catalogue, few-shot examples, output rules.
+/// Precomputed at startup and cached in AppState.
+pub fn build_system_prompt(features: &FeaturesResponse) -> String {
+ let mut parts = Vec::new();
+
+ // Role and task description
+ parts.push(
+ "You are a UK property search assistant. \
+ The user describes their ideal property or area in natural language. \
+ Translate their description into filter settings using ONLY the features listed below.\n\
+ \n\
+ Rules:\n\
+ - ONLY set filters the user explicitly mentioned or clearly implied.\n\
+ - Leave out any filter the user did not mention. Empty arrays are fine.\n\
+ - For numeric filters, omit \"min\" to leave the lower bound open, \
+ omit \"max\" to leave the upper bound open.\n\
+ - Use EXACT feature names from the list — spelling, capitalisation, and punctuation must match.\n\
+ - \"cheap\" / \"affordable\" = lower price range. \"expensive\" = higher price range.\n\
+ - \"low crime\" / \"safe\" = low values on crime features. \
+ \"quiet\" = low Noise (dB). \"green\" / \"near parks\" = high Number of parks within 2km.\n\
+ - When the user says a number like \"under 400k\", interpret it as 400000.\n\
+ - When the user says \"3 bed\" or \"3 bedroom\", use Number of bedrooms & living rooms \
+ (note: this counts bedrooms + living rooms combined, so 3 bed ~ min 4).\n\
+ - If the user mentions something that has no matching filter, put it in \"notes\" \
+ as a short phrase (e.g. \"No filter for: garden, sea view\"). \
+ If everything was matched, set \"notes\" to an empty string."
+ .to_string(),
+ );
+
+ // Feature catalogue
+ parts.push("\n--- AVAILABLE FEATURES ---\n".to_string());
+ for group in &features.groups {
+ parts.push(format!("## {}", group.name));
+ for feature in &group.features {
+ match feature {
+ FeatureInfo::Numeric {
+ name,
+ min,
+ max,
+ description,
+ prefix,
+ suffix,
+ ..
+ } => {
+ parts.push(format!(
+ "- \"{}\" (numeric, {}{:.0}{} to {}{:.0}{}): {}",
+ name, prefix, min, suffix, prefix, max, suffix, description
+ ));
+ }
+ FeatureInfo::Enum {
+ name,
+ values,
+ description,
+ ..
+ } => {
+ parts.push(format!(
+ "- \"{}\" (enum, values: [{}]): {}",
+ name,
+ values
+ .iter()
+ .map(|val| format!("\"{}\"", val))
+ .collect::>()
+ .join(", "),
+ description
+ ));
+ }
+ }
+ }
+ }
+
+ // Few-shot examples
+ parts.push("\n--- EXAMPLES ---\n".to_string());
+
+ parts.push(
+ "User: \"cheap freehold house under 400k\"\n\
+ Output: {\"numeric_filters\": [{\"name\": \"Last known price\", \"max\": 400000}], \
+ \"enum_filters\": [{\"name\": \"Leashold/Freehold\", \"values\": [\"Freehold\"]}, \
+ {\"name\": \"Property type\", \"values\": [\"Detached\", \"Semi-Detached\", \"Terraced\"]}], \
+ \"notes\": \"\"}"
+ .to_string(),
+ );
+
+ parts.push(
+ "\nUser: \"safe quiet area with good schools and parks\"\n\
+ Output: {\"numeric_filters\": [\
+ {\"name\": \"Violence and sexual offences (avg/yr)\", \"max\": 20}, \
+ {\"name\": \"Burglary (avg/yr)\", \"max\": 10}, \
+ {\"name\": \"Noise (dB)\", \"max\": 55}, \
+ {\"name\": \"Good+ primary schools within 5km\", \"min\": 5}, \
+ {\"name\": \"Good+ secondary schools within 5km\", \"min\": 2}, \
+ {\"name\": \"Number of parks within 2km\", \"min\": 3}], \
+ \"enum_filters\": [], \"notes\": \"\"}"
+ .to_string(),
+ );
+
+ parts.push(
+ "\nUser: \"3 bed flat under 300k with fast broadband near the beach\"\n\
+ Output: {\"numeric_filters\": [\
+ {\"name\": \"Last known price\", \"max\": 300000}, \
+ {\"name\": \"Number of bedrooms & living rooms\", \"min\": 4}, \
+ {\"name\": \"Max available download speed (Mbps)\", \"min\": 100}], \
+ \"enum_filters\": [{\"name\": \"Property type\", \"values\": [\"Flat\"]}], \
+ \"notes\": \"No filter for: beach proximity\"}"
+ .to_string(),
+ );
+
+ parts.push(
+ "\nUser: \"large family home with a garden near restaurants\"\n\
+ Output: {\"numeric_filters\": [\
+ {\"name\": \"Total floor area (sqm)\", \"min\": 100}, \
+ {\"name\": \"Number of bedrooms & living rooms\", \"min\": 5}, \
+ {\"name\": \"Number of restaurants within 2km\", \"min\": 10}], \
+ \"enum_filters\": [{\"name\": \"Property type\", \
+ \"values\": [\"Detached\", \"Semi-Detached\"]}], \
+ \"notes\": \"No filter for: garden\"}"
+ .to_string(),
+ );
+
+ // Output format reminder
+ parts.push(
+ "\n--- OUTPUT FORMAT ---\n\
+ {\"numeric_filters\": [...], \"enum_filters\": [...], \"notes\": \"...\"}\n\
+ Respond with ONLY the JSON object. No explanation."
+ .to_string(),
+ );
+
+ parts.join("\n")
+}
+
+pub async fn post_ai_filters(
+ state: Arc,
+ Json(req): Json,
+) -> Result, (StatusCode, String)> {
+ info!(query = %req.query, "POST /api/ai-filters");
+
+ // Use Ollama native API with structured output
+ let url = format!("{}/api/chat", state.ollama_url);
+ let body = json!({
+ "model": state.ollama_model,
+ "messages": [
+ { "role": "system", "content": state.ai_filters_system_prompt },
+ { "role": "user", "content": req.query }
+ ],
+ "stream": false,
+ "format": state.ai_filters_schema,
+ "options": {
+ "temperature": AI_FILTERS_TEMPERATURE,
+ "num_predict": AI_FILTERS_MAX_TOKENS,
+ }
+ });
+
+ let json_resp = ollama_chat(&state.http_client, &url, &body).await?;
+ let content = extract_ollama_content(&json_resp)?;
+
+ let content = strip_think_blocks(content);
+ let content = content.trim();
+
+ let raw: Value = serde_json::from_str(content).map_err(|err| {
+ warn!(error = %err, content = %content, "Failed to parse LLM JSON output");
+ (
+ StatusCode::BAD_GATEWAY,
+ format!("Failed to parse LLM output as JSON: {}", err),
+ )
+ })?;
+
+ // Validate and convert to FeatureFilters format
+ let filters = validate_and_convert(&raw, &state.features_response);
+ let notes = raw
+ .get("notes")
+ .and_then(|val| val.as_str())
+ .unwrap_or("")
+ .to_string();
+
+ Ok(Json(AiFiltersResponse { filters, notes }))
+}
+
+/// Validate LLM output against feature metadata and convert to FeatureFilters format.
+///
+/// Input format (array-based, grammar-friendly):
+/// ```json
+/// {
+/// "numeric_filters": [{"name": "Last known price", "min": 0, "max": 300000}],
+/// "enum_filters": [{"name": "Leashold/Freehold", "values": ["Freehold"]}]
+/// }
+/// ```
+///
+/// Output format (FeatureFilters):
+/// ```json
+/// { "Last known price": [0, 300000], "Leashold/Freehold": ["Freehold"] }
+/// ```
+fn validate_and_convert(raw: &Value, features: &FeaturesResponse) -> Value {
+ let mut result = serde_json::Map::new();
+
+ // Build lookup maps from feature metadata
+ let mut numeric_features: rustc_hash::FxHashMap<&str, (f32, f32)> =
+ rustc_hash::FxHashMap::default();
+ let mut enum_features: rustc_hash::FxHashMap<&str, &[String]> =
+ rustc_hash::FxHashMap::default();
+
+ for group in &features.groups {
+ for feature in &group.features {
+ match feature {
+ FeatureInfo::Numeric { name, min, max, .. } => {
+ numeric_features.insert(name, (*min, *max));
+ }
+ FeatureInfo::Enum { name, values, .. } => {
+ enum_features.insert(name, values);
+ }
+ }
+ }
+ }
+
+ // Process numeric filters
+ if let Some(arr) = raw.get("numeric_filters").and_then(|val| val.as_array()) {
+ for item in arr {
+ let name = match item.get("name").and_then(|val| val.as_str()) {
+ Some(name) => name,
+ None => continue,
+ };
+ let (feat_min, feat_max) = match numeric_features.get(name) {
+ Some(range) => *range,
+ None => continue,
+ };
+ let filter_min = item
+ .get("min")
+ .and_then(|val| val.as_f64())
+ .map(|num| num.max(feat_min as f64).min(feat_max as f64) as f32)
+ .unwrap_or(feat_min);
+ let filter_max = item
+ .get("max")
+ .and_then(|val| val.as_f64())
+ .map(|num| num.max(feat_min as f64).min(feat_max as f64) as f32)
+ .unwrap_or(feat_max);
+ // Only include if range is narrower than full range
+ if filter_min > feat_min || filter_max < feat_max {
+ result.insert(name.to_string(), json!([filter_min, filter_max]));
+ }
+ }
+ }
+
+ // Process enum filters
+ if let Some(arr) = raw.get("enum_filters").and_then(|val| val.as_array()) {
+ for item in arr {
+ let name = match item.get("name").and_then(|val| val.as_str()) {
+ Some(name) => name,
+ None => continue,
+ };
+ let valid_values = match enum_features.get(name) {
+ Some(values) => *values,
+ None => continue,
+ };
+ if let Some(selected) = item.get("values").and_then(|val| val.as_array()) {
+ let valid: Vec<&str> = selected
+ .iter()
+ .filter_map(|item| item.as_str())
+ .filter(|str_val| valid_values.iter().any(|known| known == str_val))
+ .collect();
+ if !valid.is_empty() && valid.len() < valid_values.len() {
+ result.insert(name.to_string(), json!(valid));
+ }
+ }
+ }
+ }
+
+ Value::Object(result)
+}
diff --git a/server-rs/src/routes/area_summary.rs b/server-rs/src/routes/area_summary.rs
index 628997a..cceef11 100644
--- a/server-rs/src/routes/area_summary.rs
+++ b/server-rs/src/routes/area_summary.rs
@@ -3,12 +3,13 @@ use std::sync::Arc;
use axum::http::StatusCode;
use axum::response::Json;
use serde::{Deserialize, Serialize};
-use tracing::{info, warn};
+use tracing::info;
use crate::consts::{
AREA_SUMMARY_MAX_TOKENS, AREA_SUMMARY_SYSTEM_PROMPT, AREA_SUMMARY_TEMPERATURE,
};
use crate::state::AppState;
+use crate::utils::{extract_openai_content, ollama_chat, strip_think_blocks};
#[derive(Deserialize)]
pub struct NumericStat {
@@ -89,22 +90,6 @@ fn build_prompt(req: &AreaSummaryRequest) -> String {
result
}
-/// Strip `... ` blocks from model output
-pub(crate) fn strip_think_blocks(text: &str) -> String {
- let mut result = String::new();
- let mut remaining = text;
- while let Some(start) = remaining.find("") {
- result.push_str(&remaining[..start]);
- if let Some(end) = remaining[start..].find(" ") {
- remaining = &remaining[start + end + 8..];
- } else {
- return result;
- }
- }
- result.push_str(remaining);
- result
-}
-
pub async fn post_area_summary(
state: Arc,
Json(req): Json,
@@ -124,45 +109,8 @@ pub async fn post_area_summary(
"max_tokens": AREA_SUMMARY_MAX_TOKENS,
});
- let response = state
- .http_client
- .post(&url)
- .json(&body)
- .send()
- .await
- .map_err(|err| {
- warn!(error = %err, "Failed to connect to Ollama");
- (
- StatusCode::BAD_GATEWAY,
- format!("Failed to connect to Ollama: {}", err),
- )
- })?;
-
- if !response.status().is_success() {
- let status = response.status();
- let body_text = response.text().await.unwrap_or_default();
- warn!(status = %status, body = %body_text, "Ollama returned error");
- return Err((
- StatusCode::BAD_GATEWAY,
- format!("Ollama error {}: {}", status, body_text),
- ));
- }
-
- let json: serde_json::Value = response.json().await.map_err(|err| {
- warn!(error = %err, "Failed to parse Ollama response");
- (
- StatusCode::BAD_GATEWAY,
- format!("Failed to parse Ollama response: {}", err),
- )
- })?;
-
- let content = json
- .get("choices")
- .and_then(|ch| ch.get(0))
- .and_then(|ch| ch.get("message"))
- .and_then(|msg| msg.get("content"))
- .and_then(|ct| ct.as_str())
- .unwrap_or("");
+ let json = ollama_chat(&state.http_client, &url, &body).await?;
+ let content = extract_openai_content(&json)?;
let summary = strip_think_blocks(content).trim().to_string();
diff --git a/server-rs/src/routes/export.rs b/server-rs/src/routes/export.rs
index 2767417..27dace6 100644
--- a/server-rs/src/routes/export.rs
+++ b/server-rs/src/routes/export.rs
@@ -530,13 +530,19 @@ pub async fn get_export(
}
// Column widths
- sheet.set_column_width(0, 12).ok();
- sheet.set_column_width(1, 12).ok();
+ sheet
+ .set_column_width(0, 12)
+ .map_err(|e| format!("Failed to set column width: {e}"))?;
+ sheet
+ .set_column_width(1, 12)
+ .map_err(|e| format!("Failed to set column width: {e}"))?;
for col_offset in 0..feat_indices.len() {
let col = (col_offset + 2) as u16;
let feat_name = &feature_names[feat_indices[col_offset]];
let width = (feat_name.len() as f64 * 1.1).clamp(10.0, 30.0);
- sheet.set_column_width(col, width).ok();
+ sheet
+ .set_column_width(col, width)
+ .map_err(|e| format!("Failed to set column width: {e}"))?;
}
}
diff --git a/server-rs/src/routes/features.rs b/server-rs/src/routes/features.rs
index b99de08..09034e3 100644
--- a/server-rs/src/routes/features.rs
+++ b/server-rs/src/routes/features.rs
@@ -35,6 +35,8 @@ pub enum FeatureInfo {
suffix: &'static str,
#[serde(skip_serializing_if = "is_false")]
raw: bool,
+ #[serde(skip_serializing_if = "is_false")]
+ absolute: bool,
},
#[serde(rename = "enum")]
Enum {
@@ -99,6 +101,7 @@ pub fn build_features_response(data: &PropertyData) -> FeaturesResponse {
prefix: feature_config.prefix,
suffix: feature_config.suffix,
raw: feature_config.raw,
+ absolute: feature_config.absolute,
});
}
}
diff --git a/server-rs/src/routes/hexagons.rs b/server-rs/src/routes/hexagons.rs
index ba11733..f7d8c72 100644
--- a/server-rs/src/routes/hexagons.rs
+++ b/server-rs/src/routes/hexagons.rs
@@ -6,7 +6,7 @@ use axum::response::Json;
use rustc_hash::FxHashMap;
use serde::{Deserialize, Serialize};
use serde_json::{Map, Value};
-use tracing::{info, warn};
+use tracing::info;
use crate::aggregation::Aggregator;
use crate::consts::MAX_CELLS_PER_REQUEST;
@@ -33,10 +33,55 @@ pub struct HexagonParams {
/// When present (even if empty), only listed features are aggregated and written.
/// When absent, all features are included (backward compatible).
fields: Option,
- /// Destination point as "lat,lon" for real-time travel time calculation via R5.
- destination: Option,
- /// Transport mode for travel time: "transit" (default), "car", or "bicycle".
- mode: Option,
+ /// Pipe-separated travel time entries: `lat,lon,mode|lat,lon,mode`
+ /// Each entry requests travel time from hex centroids to that destination via the given mode.
+ travel: Option,
+}
+
+struct TravelEntry {
+ lat: f64,
+ lon: f64,
+ mode: String,
+}
+
+const VALID_MODES: &[&str] = &["car", "bicycle", "walking", "transit"];
+
+/// Parse `travel` param into a list of travel entries.
+/// Format: `lat,lon,mode|lat,lon,mode`
+fn parse_travel_entries(s: &str) -> Result, String> {
+ let mut entries = Vec::new();
+ let mut seen_modes = Vec::new();
+ for segment in s.split('|') {
+ let parts: Vec<&str> = segment.split(',').collect();
+ if parts.len() != 3 {
+ return Err(format!(
+ "each travel entry must be 'lat,lon,mode', got '{}'",
+ segment
+ ));
+ }
+ let lat: f64 = parts[0]
+ .trim()
+ .parse()
+ .map_err(|_| format!("invalid travel latitude in '{}'", segment))?;
+ let lon: f64 = parts[1]
+ .trim()
+ .parse()
+ .map_err(|_| format!("invalid travel longitude in '{}'", segment))?;
+ let mode = parts[2].trim().to_string();
+ if !VALID_MODES.contains(&mode.as_str()) {
+ return Err(format!(
+ "invalid travel mode '{}', must be one of: {}",
+ mode,
+ VALID_MODES.join(", ")
+ ));
+ }
+ if seen_modes.contains(&mode) {
+ return Err(format!("duplicate travel mode '{}'", mode));
+ }
+ seen_modes.push(mode.clone());
+ entries.push(TravelEntry { lat, lon, mode });
+ }
+ Ok(entries)
}
/// Build feature maps from aggregated cell data, filtering to only cells that intersect the query bounds.
@@ -104,23 +149,6 @@ fn build_feature_maps(
features
}
-/// Parse "lat,lon" string into (lat, lon) tuple.
-fn parse_destination(s: &str) -> Result<[f64; 2], String> {
- let parts: Vec<&str> = s.split(',').collect();
- if parts.len() != 2 {
- return Err("destination must be 'lat,lon'".into());
- }
- let lat: f64 = parts[0]
- .trim()
- .parse()
- .map_err(|_| "invalid destination latitude")?;
- let lon: f64 = parts[1]
- .trim()
- .parse()
- .map_err(|_| "invalid destination longitude")?;
- Ok([lat, lon])
-}
-
pub async fn get_hexagons(
state: Arc,
Query(params): Query,
@@ -141,16 +169,17 @@ pub async fn get_hexagons(
let field_indices = parse_field_indices(params.fields.as_deref(), &state.feature_name_to_index);
- // Parse destination for travel time (before moving into blocking closure)
- let destination = params
- .destination
+ // Parse travel entries
+ let travel_entries = params
+ .travel
.as_deref()
- .map(parse_destination)
+ .filter(|s| !s.is_empty())
+ .map(parse_travel_entries)
.transpose()
- .map_err(|e| (StatusCode::BAD_REQUEST, e))?;
- let mode = params.mode.clone().unwrap_or_else(|| "car".into());
+ .map_err(|e| (StatusCode::BAD_REQUEST, e))?
+ .unwrap_or_default();
- // Capture what we need for the R5 call before moving state into spawn_blocking
+ // Capture what we need for the R5 calls before moving state into spawn_blocking
let r5_url = state.r5_url.clone();
let http_client = state.http_client.clone();
@@ -250,14 +279,12 @@ pub async fn get_hexagons(
.map_err(|error| (StatusCode::INTERNAL_SERVER_ERROR, error.to_string()))?
.map_err(|error| (StatusCode::INTERNAL_SERVER_ERROR, error))?;
- // If a destination was requested and R5 is configured, fetch travel times.
- if let Some(dest) = destination {
- if r5_url.is_empty() {
- return Err((
- StatusCode::SERVICE_UNAVAILABLE,
- "Travel time queries require routing service (R5_URL not configured)".into(),
- ));
- }
+ // If travel entries were requested and R5 is configured, fetch travel times concurrently.
+ if !travel_entries.is_empty() {
+ let url = r5_url.as_deref().ok_or((
+ StatusCode::SERVICE_UNAVAILABLE,
+ "Travel time queries require routing service (R5_URL not configured)".into(),
+ ))?;
// Collect hex centroids
let origins: Vec<[f64; 2]> = response
@@ -267,39 +294,56 @@ pub async fn get_hexagons(
let lat = f
.get("lat")
.and_then(|v| v.as_f64())
- .unwrap_or(0.0);
+ .expect("lat must be present in feature map");
let lon = f
.get("lon")
.and_then(|v| v.as_f64())
- .unwrap_or(0.0);
+ .expect("lon must be present in feature map");
[lat, lon]
})
.collect();
- match fetch_travel_times(&http_client, &r5_url, origins, dest, &mode).await {
- Ok(travel_times) => {
- for (feature, tt) in response.features.iter_mut().zip(travel_times) {
- match tt {
- Some(minutes) => {
- if let Some(num) = serde_json::Number::from_f64(minutes) {
- feature.insert("travel_time".into(), Value::Number(num));
- }
- }
- None => {
- feature.insert("travel_time".into(), Value::Null);
+ // Fire concurrent R5 calls for each travel entry
+ let mut handles = Vec::with_capacity(travel_entries.len());
+ for entry in &travel_entries {
+ let client = http_client.clone();
+ let url = url.to_string();
+ let origins = origins.clone();
+ let dest = [entry.lat, entry.lon];
+ let mode = entry.mode.clone();
+ handles.push(tokio::spawn(async move {
+ fetch_travel_times(&client, &url, origins, dest, &mode).await
+ }));
+ }
+
+ let mut results = Vec::with_capacity(handles.len());
+ for handle in handles {
+ results.push(handle.await);
+ }
+ for (entry, result) in travel_entries.iter().zip(results) {
+ let travel_times = result
+ .map_err(|e| (StatusCode::INTERNAL_SERVER_ERROR, e.to_string()))?
+ .map_err(|err| (StatusCode::BAD_GATEWAY, err))?;
+
+ let field_name = format!("travel_time_{}", entry.mode);
+ for (feature, tt) in response.features.iter_mut().zip(&travel_times) {
+ match tt {
+ Some(minutes) => {
+ if let Some(num) = serde_json::Number::from_f64(*minutes) {
+ feature.insert(field_name.clone(), Value::Number(num));
}
}
+ None => {
+ feature.insert(field_name.clone(), Value::Null);
+ }
}
- info!(
- hexagons = response.features.len(),
- destination = format_args!("{},{}", dest[0], dest[1]),
- mode = mode,
- "Travel times merged"
- );
- }
- Err(err) => {
- warn!("Travel time query failed, returning hexagons without travel_time: {}", err);
}
+ info!(
+ hexagons = response.features.len(),
+ destination = format_args!("{},{}", entry.lat, entry.lon),
+ mode = entry.mode,
+ "Travel times merged"
+ );
}
}
diff --git a/server-rs/src/routes/pb_proxy.rs b/server-rs/src/routes/pb_proxy.rs
index a9f658c..34a4ba0 100644
--- a/server-rs/src/routes/pb_proxy.rs
+++ b/server-rs/src/routes/pb_proxy.rs
@@ -53,11 +53,14 @@ pub async fn proxy_to_pocketbase(state: Arc, req: Request) -> impl Int
if name == "transfer-encoding" {
continue;
}
- response = response.header(
- HeaderName::from_bytes(name.as_ref())
- .unwrap_or(HeaderName::from_static("x-invalid")),
- value.clone(),
- );
+ match HeaderName::from_bytes(name.as_ref()) {
+ Ok(header_name) => {
+ response = response.header(header_name, value.clone());
+ }
+ Err(err) => {
+ warn!(header = ?name, error = %err, "Skipping unparseable upstream header");
+ }
+ }
}
match upstream.bytes().await {
diff --git a/server-rs/src/routes/places.rs b/server-rs/src/routes/places.rs
index 6f44eaf..27ed0d2 100644
--- a/server-rs/src/routes/places.rs
+++ b/server-rs/src/routes/places.rs
@@ -14,6 +14,8 @@ pub struct PlaceResult {
place_type: String,
lat: f32,
lon: f32,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ city: Option,
}
#[derive(Serialize)]
@@ -24,7 +26,7 @@ pub struct PlacesResponse {
#[derive(Deserialize)]
#[allow(clippy::min_ident_chars)]
pub struct PlacesParams {
- q: Option,
+ q: String,
limit: Option,
}
@@ -32,10 +34,11 @@ pub async fn get_places(
state: Arc,
Query(params): Query,
) -> Result, (StatusCode, String)> {
- let query = params
- .q
- .filter(|val| !val.is_empty())
- .ok_or((StatusCode::BAD_REQUEST, "Missing 'q' parameter".to_string()))?;
+ let query = if params.q.is_empty() {
+ return Err((StatusCode::BAD_REQUEST, "'q' must not be empty".into()));
+ } else {
+ params.q
+ };
let limit = params.limit.unwrap_or(7).min(20);
@@ -45,26 +48,37 @@ pub async fn get_places(
let pd = &state.place_data;
// Linear scan — ~50-100k rows, <1ms
- let mut matches: Vec<(usize, bool, u8, usize)> = pd
+ // Tuple: (row_idx, is_exact, is_prefix, type_rank, population, name_len)
+ let mut matches: Vec<(usize, bool, bool, u8, u32, usize)> = pd
.name_lower
.iter()
.enumerate()
.filter_map(|(idx, name)| {
if name.contains(&query_lower) {
+ let is_exact = name.len() == query_lower.len();
let is_prefix = name.starts_with(&query_lower);
- Some((idx, is_prefix, pd.type_rank[idx], pd.name[idx].len()))
+ Some((
+ idx,
+ is_exact,
+ is_prefix,
+ pd.type_rank[idx],
+ pd.population[idx],
+ pd.name[idx].len(),
+ ))
} else {
None
}
})
.collect();
- // Sort: prefix first, then by type rank (cities before hamlets), then shorter names first
+ // Sort: exact first, then prefix, then type rank asc, then population desc, then name length asc
matches.sort_unstable_by(|lhs, rhs| {
rhs.1
.cmp(&lhs.1)
- .then(lhs.2.cmp(&rhs.2))
+ .then(rhs.2.cmp(&lhs.2))
.then(lhs.3.cmp(&rhs.3))
+ .then(rhs.4.cmp(&lhs.4))
+ .then(lhs.5.cmp(&rhs.5))
});
matches.truncate(limit);
@@ -76,6 +90,7 @@ pub async fn get_places(
place_type: pd.place_type.get(idx).to_string(),
lat: pd.lat[idx],
lon: pd.lon[idx],
+ city: pd.city[idx].clone(),
})
.collect();
diff --git a/server-rs/src/routes/properties.rs b/server-rs/src/routes/properties.rs
index ce5bcf1..e5bcb41 100644
--- a/server-rs/src/routes/properties.rs
+++ b/server-rs/src/routes/properties.rs
@@ -146,6 +146,9 @@ pub async fn get_hexagon_properties(
}
});
+ // Sort so properties with addresses come first, unknown addresses last
+ matching_rows.sort_unstable_by_key(|&row| state.data.address(row).trim().is_empty());
+
let total = matching_rows.len();
let limit = params
.limit
diff --git a/server-rs/src/routes/streetview.rs b/server-rs/src/routes/streetview.rs
new file mode 100644
index 0000000..d611ae3
--- /dev/null
+++ b/server-rs/src/routes/streetview.rs
@@ -0,0 +1,84 @@
+use std::sync::Arc;
+
+use axum::http::StatusCode;
+use axum::response::{IntoResponse, Json};
+use serde::{Deserialize, Serialize};
+use tracing::warn;
+
+use crate::state::AppState;
+
+#[derive(Deserialize)]
+pub struct StreetViewQuery {
+ lat: f64,
+ lon: f64,
+}
+
+#[derive(Deserialize)]
+struct GoogleMetadataResponse {
+ status: String,
+ #[serde(default)]
+ pano_id: String,
+}
+
+#[derive(Serialize)]
+struct StreetViewResponse {
+ status: String,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pano_id: Option,
+}
+
+pub async fn get_streetview(
+ state: Arc,
+ query: axum::extract::Query,
+) -> impl IntoResponse {
+ let url = format!(
+ "https://maps.googleapis.com/maps/api/streetview/metadata?location={},{}&radius=1000&source=outdoor&key={}",
+ query.lat, query.lon, state.google_maps_api_key
+ );
+
+ let resp = match state.http_client.get(&url).send().await {
+ Ok(r) => r,
+ Err(e) => {
+ warn!("Street View metadata request failed: {e}");
+ return (
+ StatusCode::BAD_GATEWAY,
+ Json(StreetViewResponse {
+ status: "ERROR".to_string(),
+ pano_id: None,
+ }),
+ );
+ }
+ };
+
+ let meta: GoogleMetadataResponse = match resp.json().await {
+ Ok(m) => m,
+ Err(e) => {
+ warn!("Failed to parse Street View metadata: {e}");
+ return (
+ StatusCode::BAD_GATEWAY,
+ Json(StreetViewResponse {
+ status: "ERROR".to_string(),
+ pano_id: None,
+ }),
+ );
+ }
+ };
+
+ if meta.status == "OK" {
+ (
+ StatusCode::OK,
+ Json(StreetViewResponse {
+ status: "OK".to_string(),
+ pano_id: Some(meta.pano_id),
+ }),
+ )
+ } else {
+ (
+ StatusCode::OK,
+ Json(StreetViewResponse {
+ status: meta.status,
+ pano_id: None,
+ }),
+ )
+ }
+}
diff --git a/server-rs/src/routes/tiles.rs b/server-rs/src/routes/tiles.rs
index 55bede8..1595898 100644
--- a/server-rs/src/routes/tiles.rs
+++ b/server-rs/src/routes/tiles.rs
@@ -35,7 +35,6 @@ pub async fn get_tile(
#[derive(Deserialize)]
pub struct StyleParams {
- #[serde(default)]
theme: Option,
}
@@ -43,26 +42,26 @@ pub async fn get_style(
State(reader): State>,
headers: HeaderMap,
Query(params): Query,
-) -> Response {
+) -> Result {
let is_dark = params.theme.as_deref() == Some("dark");
// Metadata is returned as a JSON string
- let metadata_str = match reader.get_metadata().await {
- Ok(meta) => meta,
- Err(err) => {
- warn!(error = %err, "Failed to get PMTiles metadata");
- return StatusCode::INTERNAL_SERVER_ERROR.into_response();
- }
- };
+ let metadata_str = reader.get_metadata().await.map_err(|err| {
+ warn!(error = %err, "Failed to get PMTiles metadata");
+ (
+ StatusCode::INTERNAL_SERVER_ERROR,
+ format!("Failed to get PMTiles metadata: {err}"),
+ )
+ })?;
// Parse the JSON string
- let metadata: serde_json::Value = match serde_json::from_str(&metadata_str) {
- Ok(val) => val,
- Err(err) => {
- warn!(error = %err, "Failed to parse PMTiles metadata JSON");
- serde_json::Value::Object(serde_json::Map::new())
- }
- };
+ let metadata: serde_json::Value = serde_json::from_str(&metadata_str).map_err(|err| {
+ warn!(error = %err, "Failed to parse PMTiles metadata JSON");
+ (
+ StatusCode::INTERNAL_SERVER_ERROR,
+ format!("Failed to parse PMTiles metadata: {err}"),
+ )
+ })?;
// Extract tilestats for layer info if available
let layers: Vec = metadata
@@ -75,16 +74,19 @@ pub async fn get_style(
let host = headers
.get(header::HOST)
.and_then(|hv| hv.to_str().ok())
- .unwrap_or("localhost:8001");
+ .ok_or((
+ StatusCode::BAD_REQUEST,
+ "Missing Host header".into(),
+ ))?;
let tile_url = format!("http://{}/api/tiles/{{z}}/{{x}}/{{y}}", host);
let style = build_style(is_dark, &layers, &tile_url);
- (
+ Ok((
StatusCode::OK,
[(header::CONTENT_TYPE, "application/json")],
serde_json::to_string(&style).unwrap(),
)
- .into_response()
+ .into_response())
}
fn build_style(is_dark: bool, layers: &[serde_json::Value], tile_url: &str) -> serde_json::Value {
diff --git a/server-rs/src/state.rs b/server-rs/src/state.rs
index 574672a..372669a 100644
--- a/server-rs/src/state.rs
+++ b/server-rs/src/state.rs
@@ -44,12 +44,14 @@ pub struct AppState {
pub ollama_url: String,
/// Ollama model name for area summaries (e.g. gemma3:12b)
pub ollama_model: String,
- /// R5 routing service URL for all travel times (empty = disabled)
- pub r5_url: String,
+ /// R5 routing service URL for all travel times (None = disabled)
+ pub r5_url: Option,
/// Token validation cache (60s TTL)
pub token_cache: Arc,
/// JSON schema for Ollama structured output in AI filters
pub ai_filters_schema: serde_json::Value,
- /// Feature listing portion of the AI filters prompt
- pub ai_filters_feature_prompt: String,
+ /// Complete system prompt for AI filters (features + examples + instructions)
+ pub ai_filters_system_prompt: String,
+ /// Google Maps API key for Street View metadata lookups
+ pub google_maps_api_key: String,
}
diff --git a/server-rs/src/utils.rs b/server-rs/src/utils.rs
index 5ba9d1a..835c283 100644
--- a/server-rs/src/utils.rs
+++ b/server-rs/src/utils.rs
@@ -6,4 +6,4 @@ mod llm;
pub use grid_index::GridIndex;
pub use hash::{generate_priorities, splitmix64_hash};
pub use interned_column::InternedColumn;
-pub use llm::strip_think_blocks;
+pub use llm::{extract_ollama_content, extract_openai_content, ollama_chat, strip_think_blocks};
diff --git a/server-rs/src/utils/llm.rs b/server-rs/src/utils/llm.rs
index f75d988..f24956f 100644
--- a/server-rs/src/utils/llm.rs
+++ b/server-rs/src/utils/llm.rs
@@ -1,3 +1,75 @@
+use axum::http::StatusCode;
+use serde_json::Value;
+use tracing::warn;
+
+pub type LlmError = (StatusCode, String);
+
+/// Send a chat request to Ollama and return the parsed JSON response.
+///
+/// Handles connection errors, non-success status codes, and JSON parse failures
+/// uniformly as `BAD_GATEWAY` errors.
+pub async fn ollama_chat(
+ client: &reqwest::Client,
+ url: &str,
+ body: &Value,
+) -> Result {
+ let response = client.post(url).json(body).send().await.map_err(|err| {
+ warn!(error = %err, "Failed to connect to Ollama");
+ (
+ StatusCode::BAD_GATEWAY,
+ format!("Failed to connect to Ollama: {}", err),
+ )
+ })?;
+
+ if !response.status().is_success() {
+ let status = response.status();
+ let body_text = response.text().await.unwrap_or_default();
+ warn!(status = %status, body = %body_text, "Ollama returned error");
+ return Err((
+ StatusCode::BAD_GATEWAY,
+ format!("Ollama error {}: {}", status, body_text),
+ ));
+ }
+
+ response.json().await.map_err(|err| {
+ warn!(error = %err, "Failed to parse Ollama response");
+ (
+ StatusCode::BAD_GATEWAY,
+ format!("Failed to parse Ollama response: {}", err),
+ )
+ })
+}
+
+/// Extract content from OpenAI-compatible response (`choices[0].message.content`)
+pub fn extract_openai_content(json: &Value) -> Result<&str, LlmError> {
+ json.get("choices")
+ .and_then(|ch| ch.get(0))
+ .and_then(|ch| ch.get("message"))
+ .and_then(|msg| msg.get("content"))
+ .and_then(|ct| ct.as_str())
+ .ok_or_else(|| {
+ warn!("Malformed OpenAI response: missing choices[0].message.content");
+ (
+ StatusCode::BAD_GATEWAY,
+ "Malformed LLM response: missing choices[0].message.content".into(),
+ )
+ })
+}
+
+/// Extract content from Ollama native response (`message.content`)
+pub fn extract_ollama_content(json: &Value) -> Result<&str, LlmError> {
+ json.get("message")
+ .and_then(|msg| msg.get("content"))
+ .and_then(|ct| ct.as_str())
+ .ok_or_else(|| {
+ warn!("Malformed Ollama response: missing message.content");
+ (
+ StatusCode::BAD_GATEWAY,
+ "Malformed LLM response: missing message.content".into(),
+ )
+ })
+}
+
/// Strip `... ` blocks from model output
pub fn strip_think_blocks(text: &str) -> String {
let mut result = String::new();