Discover/Zoopla API
live

Zoopla APIzoopla.co.uk

Search Zoopla sale and rental listings, retrieve full property details, query sold house prices, and find estate agents via a structured JSON API.

Endpoint health
verified 6d ago
search_properties_for_sale
search_properties_to_rent
search_estate_agents
get_property_listing_details
search_sold_house_prices
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the Zoopla API?

This API exposes 5 endpoints covering Zoopla's UK property marketplace, including live sale and rental listings, sold house price history, and estate agent search. The search_properties_for_sale and search_properties_to_rent endpoints accept location slugs, bedroom counts, price ranges, and property type filters, returning paginated arrays of listings with address, price, listingId, and propertyType fields. Sold price data adds UPRN identifiers and full sale history per property.

Try it
Page number for pagination.
Search radius in miles.
Location slug matching Zoopla URL structure (e.g., 'london', 'manchester', 'se1', 'oxford').
Maximum number of bedrooms.
Minimum number of bedrooms.
Maximum price in GBP.
Minimum price in GBP.
Property type slug.
api.parse.bot/scraper/662dcd36-9d0e-48ea-b79b-6506677690b8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/662dcd36-9d0e-48ea-b79b-6506677690b8/search_properties_for_sale?page=1&radius=5&location=london&max_beds=4&min_beds=1&max_price=500000&min_price=100000&property_type=detached' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace zoopla-co-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.zoopla_api import Zoopla, Listing, ListingDetail, SoldProperty, Agent, PropertyType, SoldPropertyType

zoopla = Zoopla()

# Search for detached properties for sale in London
for listing in zoopla.listings.search_for_sale(location="london", property_type=PropertyType.DETACHED, min_beds=2, limit=5):
    print(listing.title, listing.price, listing.address)

# Get detailed info for a listing
detail = listing.details()
print(detail.display_address, detail.section, detail.property_type)
if detail.counts:
    print(detail.counts.num_bedrooms, detail.counts.num_bathrooms)
if detail.branch:
    print(detail.branch.branch_name, detail.branch.redirect_phone)

# Search rental listings
for rental in zoopla.listings.search_to_rent(location="manchester", property_type=PropertyType.FLAT, limit=3):
    print(rental.title, rental.price_unformatted, rental.address)

# Search sold house prices for terraced properties
for sold in zoopla.soldproperties.search(location="bristol", property_type=SoldPropertyType.TERRACED, limit=5):
    print(sold.address.full_address, sold.last_sale.price, sold.attributes.tenure)

# Find estate agents
for agent in zoopla.agents.search(location="oxford", limit=5):
    print(agent.name, agent.display_address, agent.contact_number)
All endpoints · 5 totalmissing one? ·

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

Input
ParamTypeDescription
pageintegerPage number for pagination.
radiusintegerSearch radius in miles.
locationrequiredstringLocation slug matching Zoopla URL structure (e.g., 'london', 'manchester', 'se1', 'oxford').
max_bedsintegerMaximum number of bedrooms.
min_bedsintegerMinimum number of bedrooms.
max_priceintegerMaximum price in GBP.
min_priceintegerMinimum price in GBP.
property_typestringProperty type slug.
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "listings": "array of property listing objects with address, price, listingId, propertyType, title, publishedOn, priceUnformatted, etc.",
    "location": "string location slug queried",
    "total_results": "integer total count or null if unavailable"
  },
  "sample": {
    "data": {
      "page": 1,
      "listings": [
        {
          "price": "£450,000",
          "title": "3 bed terraced house for sale",
          "address": "Lucerne Road, Thornton Heath CR7",
          "sizeSqft": 1011,
          "listingId": "73036018",
          "listingType": "featured",
          "publishedOn": "27th Apr 2026",
          "propertyType": "terraced",
          "numberOfImages": 15,
          "priceUnformatted": 450000,
          "summaryDescription": "Set on a popular residential street..."
        }
      ],
      "location": "london",
      "total_results": null
    },
    "status": "success"
  }
}

About the Zoopla API

Sale and Rental Search

Both search_properties_for_sale and search_properties_to_rent take a required location slug — such as london, manchester, or a postcode district like se1 — alongside optional filters: min_price, max_price, min_beds, max_beds, property_type (e.g. detached, flat, bungalow), and radius in miles. Results are paginated via the page parameter and return a total_results count alongside a listings array. Each listing object includes address, price, listingId, propertyType, and title. Rental prices are per calendar month (pcm).

Listing Details and Sold Prices

get_property_listing_details accepts a Zoopla listing_id string and returns fields including title, section, listingId, publishedOn, propertyType, and displayAddress. The endpoint checks for-sale inventory first, then falls back to rental if the listing is not found in the sale index.

search_sold_house_prices returns historical transaction data for a location. Each result in the results array includes a uprn (Unique Property Reference Number), lastSale details, address, and property attributes. Bedroom and bathroom range filters (min_beds, max_beds, min_baths, max_baths) and a property_type code are supported. Pagination uses cursor-based page_info objects with hasPreviousPage, hasNextPage, startCursor, and endCursor fields in addition to an integer total_results count.

Estate Agent Search

search_estate_agents takes a location slug and returns an agents array where each agent object carries name, displayAddress, contactNumber, logo, and listingsStatistics. The response also includes a total agent count and a pagination object with pageNumber and pageTotal.

Reliability & maintenanceVerified

The Zoopla API is a managed, monitored endpoint for zoopla.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zoopla.co.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official zoopla.co.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a property price alert tool that monitors new search_properties_for_sale results for a postcode and price range.
  • Aggregate sold house price data by location using search_sold_house_prices to produce neighbourhood valuation trends.
  • Populate a rental comparison dashboard with search_properties_to_rent results filtered by bedroom count and monthly budget.
  • Create a property detail page that pulls publishedOn, propertyType, and displayAddress from get_property_listing_details.
  • Build an estate agent directory for a specific city using the name, contactNumber, and listingsStatistics fields from search_estate_agents.
  • Research investment opportunities by cross-referencing live sale listings with sold price history for the same location slug.
  • Track listing inventory counts across UK cities by comparing total_results values from repeated sale and rental searches.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Zoopla have an official developer API?+
Zoopla previously offered a public API at developer.zoopla.co.uk, but that programme was discontinued and is no longer accepting new registrations. This Parse API provides structured access to current Zoopla marketplace data.
What does `search_sold_house_prices` return beyond the sale price?+
Each result includes a uprn (Unique Property Reference Number), lastSale details covering the transaction, a full address, and a property attributes object. Pagination is cursor-based via a page_info object, unlike the integer-only paging used by the listing search endpoints.
How does `get_property_listing_details` handle rental versus sale listings?+
You pass a single listing_id string and the endpoint checks the for-sale index first. If no match is found there, it checks the rental index and returns the result from whichever section the listing belongs to. The section field in the response identifies which type was matched.
Does the API return floor plans, EPC ratings, or full photo galleries for listings?+
Not currently. The listing detail endpoint exposes fields including title, displayAddress, propertyType, publishedOn, and section. Floor plans, EPC certificates, and photo galleries are not included in the current response shape. You can fork this API on Parse and revise get_property_listing_details to add those fields if the source exposes them.
Can I filter `search_sold_house_prices` by a specific date range?+
Date range filtering is not currently a supported parameter. The endpoint filters by location, bedroom and bathroom counts, and property_type. You can fork this API on Parse and revise the endpoint to add date-based filtering.
Page content last updated . Spec covers 5 endpoints from zoopla.co.uk.
Related APIs in Real EstateSee all →
zillow.com API
Search for homes for sale, rent, or recently sold listings on Zillow while accessing detailed property information, Zestimates, agent profiles, and current mortgage rates all in one place. Streamline your real estate research by gathering comprehensive property details, agent information, and financing options without navigating multiple pages.
zoocasa.com API
Search Canadian real estate listings on Zoocasa and retrieve detailed property information including active listings, sold homes, and rental properties. Access comprehensive listing details and discover comparable properties by location, property type, and listing status.
zonaprop.com.ar API
Search and retrieve property listings from Zonaprop, Argentina's leading real estate portal. Filter by operation type, property category, and location, then fetch full details for any listing.
rightmove.co.uk API
Search for properties across the UK's largest property portal and retrieve detailed listings for homes for sale or to rent, including prices, descriptions, and key property information. Find your next home or investment opportunity by browsing available properties and getting comprehensive details on individual listings.
domain.com.au API
Search and compare property listings for sale, rent, or sold properties across Australia, view detailed property information and agent profiles, and explore suburb insights to make informed real estate decisions. Access comprehensive data on agents, neighborhoods, and properties all in one place.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
trulia.com API
Search real estate listings for properties available for sale, rent, or recently sold, and access detailed information like property photos, price history, nearby schools, and local amenities. Compare similar homes, calculate mortgage estimates, and make informed decisions with comprehensive property data all in one place.
zapimoveis.com.br API
Search and filter real estate listings across Brazil on ZAP Imóveis — the country's largest property portal. Retrieve listings for sale or rent with detailed attributes including price, location, size, bedrooms, bathrooms, parking, and amenities. Supports location autocomplete, property type discovery, and full listing detail retrieval.