Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Zoopla API page →
docs / zoopla

Zoopla

UK property: homes and commercial for sale and to rent, full listing detail, Land-Registry sold prices and estate agents.

base /zoopla/v17 endpoints
post/zoopla/v1/property_detail2 credits

One Zoopla listing in full: price (rent in both frequencies), full description, key features, tenure, service charge, ground rent, council tax band, EPC rating and certificate, floorplans, every image, nearest stations with distances, coordinates, postcode and the marketing agent.

ParameterAllowed / rangeDescription
listing_idrequired—Zoopla listing id — the digits in a /details/<id>/ URL, or any search row's listing_id. A full Zoopla listing URL also works.
max_rotations = 4optional1–8How hard to retry when the site refuses.
Try in playground →
post/zoopla/v1/sold_prices2 credits

Zoopla's Land-Registry sold-price register for an area: every recorded address with its UPRN, last sale date and price, bedrooms, bathrooms, receptions, tenure and floor area in square metres. 25 addresses a page, newest sale first.

ParameterAllowed / rangeDescription
georequired—Where to look: a Zoopla area path ('sw9', 'surrey/richmond', 'london/clapham'), a full Zoopla URL, or just a place name or postcode ('Leeds', 'SW9 9EF'). Zoopla's own slugs are not guessable — Leeds is 'west-yorkshire/leeds' while Liverpool is plain 'liverpool' — so a plain name is resolved for you and the path used comes back as `area` (with `area_resolved_from` set). Use location_search when a name is ambiguous, e.g. Richmond.
page = 1optional1–1-based page. Zoopla serves 25 listings a page and stops at page 40 (returned as page_cap); narrow the area or the filters to reach more.
max_rotations = 4optional1–8How hard to retry when the site refuses.
Try in playground →
post/zoopla/v1/property_history1 credit

One address by UPRN: every sale Zoopla holds from the Land Registry with its price, date and percentage change, plus the property's own past Zoopla listings with their asking prices, photos and floorplans, its EPC rating, tenure and floor area.

ParameterAllowed / rangeDescription
uprnrequired—The UPRN from a sold_prices row (or the digits in a /property/uprn/<uprn>/ URL).
max_rotations = 4optional1–8How hard to retry when the site refuses.
Try in playground →
post/zoopla/v1/agent1 credit

One estate-agent branch: address, memberships, opening times, website, its own for-sale and to-rent averages and weeks-on-market, and the properties it currently has listed on Zoopla. A new-homes branch id resolves to the housebuilder's development instead (kind='developer'): its price and bedroom range, its plots and the schools, stations and shops Zoopla lists nearby.

ParameterAllowed / rangeDescription
branch_idrequired—Zoopla branch id (a search row's agent.branch_id) or a full /find-agents/branch/... URL.
max_rotations = 4optional1–8How hard to retry when the site refuses.
Try in playground →
Comparing scraping APIs?ReefAPI vs Bright Data