House Price Index
Retrieve UK House Price Index data for a postcode at Authority or Region geographic level.
[Usage & billing] Each call costs 2 credits.
query Parameters
postcode^([A-Za-z]{1,2}\d[A-… · requiredFull UK postcode, e.g. 'CF10 1AA'
statistic_regionGeographic level: 'Authority' (e.g. Cardiff) or 'Region' (e.g. Wales).
statistic_timeNumber of years of data to return (1-10). Default 3.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
UK House Price Index data by postcode at Authority or Region level
levelGeographic level of the data: 'Authority' or 'Region'.
The year and month to which the monthly statistics apply.
Name of geography (Country, Regional, County/Unitary/District Authority and London Borough).
Code of geography (Country, Regional, County/Unitary/District Authority and London Borough).
Average house price for a geography in a particular period.
House price index for a geography in a particular period (January 2015=100).
Seasonally adjusted house price index (January 2015=100).
Percentage change in Average Price compared to previous month.
Percentage change in Average Price compared to same period twelve months earlier.
Seasonally adjusted Average Price for a geography in a particular period.
Number of registered transactions for a geography in a particular period.
Average house price for a Detached House.
House price index for Detached House (January 2015=100).
Percentage change in Detached Price compared to previous month.
Percentage change in Detached Price compared to same period twelve months earlier.
Average house price for a Semi-Detached House.
House price index for Semi-Detached House (January 2015=100).
Percentage change in Semi-Detached Price compared to previous month.
Percentage change in Semi-Detached Price compared to same period twelve months earlier.
Average house price for a Terraced House.
House price index for Terraced House (January 2015=100).
Percentage change in Terraced Price compared to previous month.
Percentage change in Terraced Price compared to same period twelve months earlier.
Average house price for a Flat/Maisonette.
House price index for Flat/Maisonette (January 2015=100).
Percentage change in Flat Price compared to previous month.
Percentage change in Flat Price compared to same period twelve months earlier.
Average house price by funding status 'CASH'.
House price index by funding status 'CASH' (January 2015=100).
Percentage change in Cash Price compared to previous month.
Percentage change in Cash Price compared to same period twelve months earlier.
Number of registered transactions 'CASH'.
Average house price by funding status 'MORTGAGE'.
House price index by funding status 'MORTGAGE' (January 2015=100).
Percentage change in Mortgage Price compared to previous month.
Percentage change in Mortgage Price compared to same period twelve months earlier.
Number of registered transactions 'MORTGAGE'.
Average house price by buyer status 'first time buyer'.
House price index by buyer status 'first time buyer' (January 2015=100).
Percentage change in FTB Price compared to previous month.
Percentage change in FTB Price compared to same period twelve months earlier.
Average house price by buyer status 'former owner occupier'.
House price index by buyer status 'former owner occupier' (January 2015=100).
Percentage change in FOO Price compared to previous month.
Percentage change in FOO Price compared to same period twelve months earlier.
Average house price by property status 'new build'.
House price index by property status 'new build' (January 2015=100).
Percentage change in New Price compared to previous month.
Percentage change in New Price compared to same period twelve months earlier.
Number of registered transactions 'New'.
Average house price by property status 'existing build'.
House price index by property status 'existing build' (January 2015=100).
Percentage change in Old Price compared to previous month.
Percentage change in Old Price compared to same period twelve months earlier.
Number of registered transactions 'Old'.
Listings
Retrieve property listing events with flexible filtering by postcode, listing type, event progress, date ranges, price, and property features.
[Usage & billing] Each call costs 6 credits. Every page is a separate billable call: page is a 0-based index and limit sets the page size (default 20, max 20). Fetch only the pages the user actually asked for; do not page through a whole result set speculatively.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Request Body
Outward code (first part of postcode), e.g. 'SW1A'. Provide either this or postcode, not both.
Full UK postcode, e.g. 'SW1A 1AA'. Provide either this or first_postcode, not both.
typeListing type: 'all' (sales+rentals), 'sale' (sales only), 'rent' (rentals only).
progressEvent status filter. Valid values depend on 'type': type=all: all, reduction, for_sale, withdrawn, sstc_letAgree, sold_let. type=sale: all, reduction, for_sale, withdrawn, sstc, sold, all_sale. type=rent: all, reduction, for_sale, withdrawn, letAgree, let, all_let.
Filter on event (progress) date. Format: 'DDMMYYYY' for single date, 'DDMMYYYY-DDMMYYYY' for date range. E.g. '01012025' or '01012025-31012025'. This filters the event date based on the selected progress type (e.g. if progress=reduction, this filters the reduction date period).
Minimum event (progress) date filter (inclusive). Format: 'DDMMYYYY'. E.g. '01012025' → events on or after 2025-01-01. Takes priority over period.
Maximum event (progress) date filter (exclusive). Format: 'DDMMYYYY'. E.g. '31012025' → events before 2025-01-31. Takes priority over period.
Filter on original listed date (first event date for the listing). Format: 'DDMMYYYY' or 'DDMMYYYY-DDMMYYYY'.
Price filter. Single value: '250000'. Range: '250000-500000'.
Minimum price filter (inclusive). E.g. 250000. Takes priority over price.
Maximum price filter (exclusive). E.g. 500000. Takes priority over price.
matched0 = all listings (default), 1 = only listings linked to a known property.
featureFeature filter: 'all' (no filter), 'discount' (discounted properties), 'shared' (shared ownership), 'hmo' (HMO/student), 'retirement' (retirement properties).
limitNumber of results per page. Min 5, max 20, default 20.
page0-based page index. Offset = page * limit. Default 0.
Responses
Property listing events filtered by area, type, progress, date, price, and features
Internal ID allocated to a property.
Date the event took place.
Unique listing identifier.
Type of price request such as offers_in_excess_of, etc.
The asking price for sale or rent.
Is the property new-build or re-sale.
Description of the property's key features.
The organisation brand name responsible for the event (e.g. agency brand).
The organisation branch name responsible for the event.
The price the property was first listed for.
The price after a price reduction.
Date a property was last registered as sold on the official registrar.
Price a property was sold for on the official registrar.
The ID type of listing: 1 = Sale, 2 = Rent.
The deposit required as a rental bond.
Type of listing: Sale or Rent.
The type of building use such as house or flat.
The build type such as semi-detached, terrace, or detached.
Number of floor plans on the portal listing.
Number of images on the portal listing.
Number of videos on the portal listing.
Whether the listing is marketed as premium on property portals.
Number of bedrooms.
1 if listing is believed to be sold below potential market value (discount, refurbishment, or un-mortgageable).
1 if shared ownership (key worker / family income below £80k, government co-ownership).
1 if house of multiple occupancy (typically rented room-by-room, may require licence).
1 if retirement home (lease restricts occupants to over 55).
1 if identified as an auction listing (price may be below final achieved / market value).
1 if a probate property.
1 if chain free property.
1 if investment property.
1 if the house has a conservatory room.
URL of the listing house image.
Current status of the property (e.g. Reduced, Withdrawn, Sold).
Listing type name.
Number identifying the premise on a thoroughfare.
Name of residential or commercial premise.
Individual unit name (flat, apartment, business unit).
Royal Mail assigned town.
Unique Property Reference Number.
Street or road name. Uses address_street if property_id is NULL.
Property number.
Building number.
Building latitude.
Building longitude.
Royal Mail assigned postal code.
Date the listing was first published.
Number of residents at the property.
Number of email contacts for the property.
Number of mobile phone contacts for the property.
Number of landline phone contacts for the property.
Sold Properties
Retrieve sold property records by outward code or full postcode.
[Usage & billing] Each call costs 1 credit. Every page is a separate billable call: page is a 0-based index and limit sets the page size (default 100, max 100). Fetch only the pages the user actually asked for; do not page through a whole result set speculatively.
query Parameters
first_postcode^([A-Za-z]{1,2}\d[A-…Outward code (first part of postcode), e.g. 'SW1A'. Provide either this or postcode, not both.
postcode^([A-Za-z]{1,2}\d[A-…Full UK postcode, e.g. 'SW1A 1AA'. Provide either this or first_postcode, not both.
limitMaximum number of results to return (max 100).
pagePage offset (0-based).
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
Sold property records for a postcode area
property_idInternal id allocated to a property.
Date the event took place.
Sold price of the listing.
Property History
Retrieve full event history for a property by property_id / uprn / udprn.
[Usage & billing] Each call costs 2 credits.
query Parameters
property_idPropalt Property ID. Provide exactly one of property_id, uprn, or udprn.
uprnUnique Property Reference Number (OS). Provide exactly one of property_id, uprn, or udprn.
udprnUnique Delivery Point Reference Number (Royal Mail). Provide exactly one of property_id, uprn, or udprn.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
Property event history including sales, listings, and status changes
property_idInternal id allocated to a property.
The asking price for sale or rent if there is a recorded event of a listing.
Date the event took place.
The current status of the property such as Reduced, Withdrawn, Sold if there is a recorded event of a listing.
The Brand Name of the agent associated with the event, e.g. 'LandRegistry'.
An internal ID allocated to a agent brand associated with an event, e.g. 'lr01'.
URL link to the property listing on the source portal (Rightmove or Zoopla).
The listing identifier from the source portal.
The portal source code, e.g. 'RMP' for Rightmove.
Company Properties
Retrieve a company landlord's national property portfolio.
[Usage & billing] Each call costs 200 credits, one of the most expensive tools available here. Every page is a separate billable call: page is a 0-based index and limit sets the page size (default 20, max 200). Fetch only the pages the user actually asked for; do not page through a whole result set speculatively. Check with the user before fetching further pages.
query Parameters
company_numberCompanies House registration number. Provide exactly one of company_number or company_name. Numbers shorter than eight characters are left-padded with zeroes.
company_nameExact registered company name. Provide exactly one of company_number or company_name. Matching is case-normalised to uppercase.
pageZero-based results page.
limitMaximum number of properties to return per page (1-200).
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Responses
A paginated national property portfolio for one company landlord
countProperties for Sale
Find UK sale listings in one area. Provide exactly one area selector: first_postcode, sector_code_list (max 4), or polygon_str (max 15 sq miles). Use progress and filters for tenure, type, beds, ownership, EPC/tax band, size, dates, price, HMO, accessibility, retirement, or an exact agent brand name; return count or data.
[Usage & billing] Each call costs 6 credits. Every page is a separate billable call: page is a 0-based index and limit sets the page size (default 20, max 20). Fetch only the pages the user actually asked for; do not page through a whole result set speculatively. If you only need a total, call once with return_type='count' instead of paging.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Request Body
UK outward postcode (e.g. 'NW3'). Provide exactly one of first_postcode, sector_code_list, or polygon_str.
List of UK postcode sectors (e.g. ['NW3 1', 'NW3 2']), max 4. Provide exactly one of first_postcode, sector_code_list, or polygon_str.
Polygon geometry string defining the search area (max 15 sq. miles). Provide exactly one of first_postcode, sector_code_list, or polygon_str.
Optional trimmed, exact current estate agent brand name used to filter matching properties.
limitMaximum number of properties to return. Default 20, max 20.
page0-based page index. Offset = page * limit. Default 0.
return_type'count' returns a count only; 'data' returns full property records. Default 'data'.
progressListing progress filter, e.g. 'for_sale', 'withdrawn', 'sold_sstc', or 'reduction'. Default 'for_sale'.
valid options: freehold, leasehold
list of Built Form, valid option: Detached, Flat, Semi-Detached, Terraced
number bedroom valid input N or N-M, 1<=N<M<=20
valid options: private, business, house_association, local_authority
epc_rating valid input N or N-M, A<=N<M<=G
taxband_rating valid input N or N-M, A<=N<M<=I
internal_size valid input N-M, 20<=N<M<=520, unit: Sq meter
plot_size valid input N-M, 20<=N<M<=99999, unit: Sq meter
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
listing_price valid input N or N-M, sale:10000<=N<M
return HMO property only
return potential HMO property only, will be avaliable when select for sale or for let
disabled_access_property=1 returen selling or letting disabled_access_property only
retirement_property=1 returen selling retirement_property only
Filter to specific OS AddressBase property classes, e.g. shops, offices, restaurants. Accepts a 1-character top-level code, which expands to every code under it (e.g. 'C' = all Commercial); a 2-character group key, which expands to every code in that group, or an exact 2-character class (e.g. 'CR' = all Retail); or a full 4/6-character class code (e.g. 'CR08' = Shop, 'CO01' = Office). A 4- or 6-character code matches that class exactly and does not include the codes beneath it; to cover a whole family, use the 1- or 2-character group code, or list the specific codes. Multiple values are OR'd together; case-insensitive; max 20 items. Look up valid codes, labels, and national address counts with GET /property/classifications before filtering — an unrecognised value returns 422.
Responses
ListResponse containing count plus matching sale property records. For return_type='count', data is empty; for return_type='data', data contains up to limit SellingPropertyOutput records.
countOS AddressBase class codes from the request's class_list that are valid but have zero addresses nationally. Only present when class_list was supplied and at least one requested code is nationally unpopulated; omitted otherwise.
Properties for Let
Find UK rental listings in one area. Provide exactly one area selector: first_postcode, sector_code_list (max 4), or polygon_str (max 15 sq miles). Use progress and filters for tenure, type, beds, ownership, EPC, size, dates, rent, HMO, accessibility, retirement, or an exact agent brand name; return count or data.
[Usage & billing] Each call costs 6 credits. Every page is a separate billable call: page is a 0-based index and limit sets the page size (default 20, max 20). Fetch only the pages the user actually asked for; do not page through a whole result set speculatively. If you only need a total, call once with return_type='count' instead of paging.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Request Body
UK outward postcode (e.g. 'SA1'). Provide exactly one of first_postcode, sector_code_list, or polygon_str.
List of UK postcode sectors (e.g. ['SA1 1', 'SA1 2']), max 4. Provide exactly one of first_postcode, sector_code_list, or polygon_str.
Polygon geometry string defining the search area (max 15 sq. miles). Provide exactly one of first_postcode, sector_code_list, or polygon_str.
Optional trimmed, exact current estate agent brand name used to filter matching properties.
limitMaximum number of properties to return. Default 20, max 20.
page0-based page index. Offset = page * limit. Default 0.
return_type'count' returns a count only; 'data' returns full property records. Default 'data'.
progressLetting progress filter. Default 'for_rent'.
valid options: freehold, leasehold
list of Built Form, valid option: Detached, Flat, Semi-Detached, Terraced
number bedroom valid input N or N-M, 1<=N<M<=20
valid options: private, business, house_association, local_authority
epc_rating valid input N or N-M, A<=N<M<=G
internal_size valid input N-M, 20<=N<M<=520, unit: Sq meter
plot_size valid input N-M, 20<=N<M<=99999, unit: Sq meter
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
valid inputformat : DDMMYYYY-DDMMYYYY or min_week:N|max_week:M or min_month:N|max_month:M
listing_price valid input N or N-M, rent:100<=N<M
return HMO property only
return potential HMO property only, will be avaliable when select for sale or for let
disabled_access_property=1 returen selling or letting disabled_access_property only
retirement_property=1 returen selling retirement_property only
Filter to specific OS AddressBase property classes, e.g. shops, offices, restaurants. Accepts a 1-character top-level code, which expands to every code under it (e.g. 'C' = all Commercial); a 2-character group key, which expands to every code in that group, or an exact 2-character class (e.g. 'CR' = all Retail); or a full 4/6-character class code (e.g. 'CR08' = Shop, 'CO01' = Office). A 4- or 6-character code matches that class exactly and does not include the codes beneath it; to cover a whole family, use the 1- or 2-character group code, or list the specific codes. Multiple values are OR'd together; case-insensitive; max 20 items. Look up valid codes, labels, and national address counts with GET /property/classifications before filtering — an unrecognised value returns 422.
Responses
ListResponse containing count plus matching letting property records. For return_type='count', data is empty; for return_type='data', data contains up to limit LettingPropertyOutput records.
countOS AddressBase class codes from the request's class_list that are valid but have zero addresses nationally. Only present when class_list was supplied and at least one requested code is nationally unpopulated; omitted otherwise.