The API for UK property market analytics

Introduction Documentation Pricing / Sign up

Getting started

Authentication

Every request to the PropertyData API requires a key.

You can sign up for a 14-day free trial to experiment with the API.

HTTP method

Every request to the PropertyData API should be a GET request.

Keep your API key private

Please keep your API key private. The PropertyData API should not be called directly from your front-end web application, exposing your key in publicly visible source code. Instead, route calls through your server-side application, using your own authentication where possible, to keep your API key secure.

Data collection logic

Most API methods require you to supply a UK postcode - full (e.g. 'W14 9JH'), district (e.g. 'W14') or sector (e.g. 'W14 9').

If you supply a full postcode, data will be collected by enlarging a circle around that postcode until the minimum necessary relevant data has been found. A 'radius' value will be returned to indicate how large the circle was expanded. Using this method, you should receive data in 99%+ of cases.

If you supply a postcode sector or district, all data in that sector or district will be used. Using this method, you are more likely to receive an insufficient data message.

/prices

For a given UK postcode (full, district or sector) and at least one filter, returns statistical average and confidence intervals of live property asking prices, from the smallest radius at which there is reasonable data.

Input

key Your API key Required
postcode A UK postcode Required
bedrooms Filter by number of bedrooms (0-5) Require at least one filter
type Filter by type (list) Require at least one filter

Example

https://api.propertydata.co.uk/prices?key={INSERT_YOUR_KEY}&postcode=W149JH&bedrooms=2

Raw data omitted from example response for brevity

/prices-per-sqf

For a given UK postcode (full, district or sector), returns statistical average and confidence intervals of live property asking prices per square foot, from the smallest radius at which there is reasonable data. Read more about our price per square foot data here.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/prices-per-sqf?key={INSERT_YOUR_KEY}&postcode=W149JH

Raw data omitted from example response for brevity

/prices-sold

For a given UK postcode (full, district or sector), returns statistical averages and confidence intervals of property sold prices in the last 15 months, segmented by property type (detached, semi-detached, terraced, flat).

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/prices-sold?key={INSERT_YOUR_KEY}&postcode=W149JH

Raw data omitted from example response for brevity

/prices-sold-per-sqf

For a given UK postcode (full, district or sector), returns statistical averages and confidence intervals of property sold prices per square foot in the last 15 months.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/prices-sold-per-sqf?key={INSERT_YOUR_KEY}&postcode=W149JH

Raw data omitted from example response for brevity

/rents

For a given UK postcode (full, district or sector) and at least one filter, returns statistical average and confidence intervals of live property asking rents (long-let), from the smallest radius at which there is reasonable data. All rents are expressed as per week (for monthly values, multiply by 4.333).

Input

key Your API key Required
postcode A UK postcode Required
bedrooms Filter by number of bedrooms (0-5) Require at least one filter
type Filter by type (list) Require at least one filter

Example

https://api.propertydata.co.uk/rents?key={INSERT_YOUR_KEY}&postcode=W149JH&bedrooms=2

Raw data omitted from example response for brevity

/rents-hmo

For a given UK postcode (full, district or sector), returns statistical averages and confidence intervals of the room rental market, segmented by double / single rooms and ensuite / shared bathroom.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/rents-hmo?key={INSERT_YOUR_KEY}&postcode=W149JH

/yields

For a given UK postcode (full, district or sector) and at least one filter, returns average property yields from the smallest radius at which there is reasonable data.

Input

key Your API key Required
postcode A UK postcode Required
bedrooms Filter by number of bedrooms (0-5) Require at least one filter
type Filter by type (list) Require at least one filter

Example

https://api.propertydata.co.uk/yields?key={INSERT_YOUR_KEY}&postcode=W149JH&bedrooms=2

/growth

For a given UK postcode (full, district or sector), returns five-year capital growth figures.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/growth?key={INSERT_YOUR_KEY}&postcode=W14

/demographics

For a given UK postcode (full, district or sector) returns population demographic data from the smallest radius at which there is reasonable data.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/demographics?key={INSERT_YOUR_KEY}&postcode=W149JH

/planning

For a given UK postcode (full, district or sector) returns up to 10 nearby planning applications.

Input

key Your API key Required
postcode A UK postcode Required

Example

https://api.propertydata.co.uk/planning?key={INSERT_YOUR_KEY}&postcode=W149JH

Number of planning data points returned limited for brevity

/stamp-duty

For a given transaction value, calculates the SDLT payable. Value returned depends on UK region and whether additional rate SDLT is payable.

Input

key Your API key Required
value The transaction value (£) Required
region UK region (list) 'england' assumed by default
additional Additional rate (0 or 1)
first_time First time buyer (0 or 1)

Example

https://api.propertydata.co.uk/stamp-duty?key={INSERT_YOUR_KEY}&value=250000&region=scotland&additional=1

/green-belt

For a full UK postcode, returns whether the property is within the green belt (and if applicable the green belt name).

Input

key Your API key Required
postcode A full UK postcode Required

Example

https://api.propertydata.co.uk/green-belt?key={INSERT_YOUR_KEY}&postcode=OX44+9LW

/national-park

For a full UK postcode, returns whether the property is within a national park (and if applicable the national park name).

Input

key Your API key Required
postcode A full UK postcode Required

Example

https://api.propertydata.co.uk/national-park?key={INSERT_YOUR_KEY}&postcode=EX35+6EQ

/aonb

For a full UK postcode, returns whether the property is within an Area of Outstanding National Beauty (AONB) (and if applicable the AONB name).

Input

key Your API key Required
postcode A full UK postcode Required

Example

https://api.propertydata.co.uk/aonb?key={INSERT_YOUR_KEY}&postcode=OX7+3EX

Error reference

All the possible errors returned by the PropertyData API, with further explanation and recommended actions:

CodeMessageExplanation / recommended action
X01Invalid API methodCheck the API method is spelled correctly and that it follows immediately after the base URL, e.g. https://api.propertydata.co.uk/method-name. If in doubt, try with the example URL from the documentation first.
X02Missing input: keyYou have not supplied an API key. Every PropertyData API call requires a key, in the querystring using the variable 'key'. If you're logged in to PropertyData, the example URLs in the API documentation are automatically populated with your API key.
X03Invalid input: keyYou supplied an API key, but it was not recognised. Check that your key is correct. Note that this is the error you would receive if you regenerated your API key in your account home, but were trying to use the old key in your application.
X04Monthly plan limit exceeded: N callsYou have reached your API plan call limit. Note that calls limits are reset at 00:01 on the first day of each calendar month. Consider upgrading your plan.
X05Account associated with API key cancelled or card declinedThe PropertyData account associated with the API key you supplied has been cancelled or had it's card declined. Login and reactivate the account if you wish to continue using the PropertyData API.
X06Missing input: postcodeYou have not supplied a postcode. All API methods except 'stamp-duty' require a full UK postcode, in the querystring using the variable 'postcode'.
X07Invalid input: postcodeThe postcode you supplied was not recognised as a full UK postcode. Most of the time this means the postcode is not valid, although it can also mean the postcode is newly allocated. Try a different postcode.
X08Insufficient data foundNot enough relevant data points could be found to return analytics. See 'Data collection logic' in Getting started to understand more.
X09Uncaught exceptionAn unexpected error occuring in processing your API request. Please contact us, copying and pasting your API request URL.
101Missing filter: you must supply at least one filter (bedrooms or type)On the 'prices' and 'rents' methods, you must narrow the analysis by supplying at least one filter ('bedrooms' or 'type') in the querystring. Add a filter to your request.
102Invalid filter: number of bedroomsThe value you supplied in the 'bedrooms' filter variable was not valid. Valid values are 1, 2, 3, 4, 5.
103Invalid filter: typeThe value you supplied in the 'type' filter variable was not valid. Consult the valid types list.
201Demographic data is only available in England & WalesPropertyData demographic data is based on Office for National Statistics data, and does not cover Scotland or Northern Ireland. Try a postcode in England or Wales.
202Unable to generate demographic data for this postcodeThis error should not occur. It is possible it could occur on special-case postcodes, or near national borders. Contact us or try a different postcode.
301Planning data is only available in England & WalesPropertyData planning data is supplied by some local councils in England & Wales. Try a different postcode.
401Value provided not recognised or out of range (1 - 10000000)Stamp duty can only be calculated for prices of £1 to £10,000,000. Enter an integer in this range.
402Region provided not recognisedThe value you supplied in the 'region' variable was not valid. Consult the regions list or remove the region value to use 'england' as default.
403A transaction cannot be both for a first-time buyer and an additional propertyYou entered 1 for both addtional rate stamp duty and first-time property. It is not possible for a transaction to be made both a first-time buyer and as an additional property.
501Sold prices are only available in England & WalesPropertyData sold prices are sourced from the Land Registry and do not cover Scotland or Northern Ireland. Try a postcode in England or Wales.
601Full postcode required for this methodYou cannot use an postcode district or sector on this method, please use only a full UK postcode.

Accepted property types

If you would like to filter by property type, the following types are accepted:

  • flat
  • detached_house
  • terraced_house
  • semi-detached_house
  • end_terrace_house
  • studio
  • detached_bungalow
  • bungalow
  • maisonette
  • town_house
  • cottage
  • semi-detached_bungalow
  • mobile_or_park_home
  • link-detached_house
  • barn_conversion
  • mews_house

The above list is in order of frequency in the data. By using type values lower down this list, you increase your chance of receiving an 'insufficient data' error.

UK regions

For the stamp duty method, available regions are:

  • england
  • scotland
  • wales
  • northern_ireland
...