Ukproperty
# UK Property API - Comprehensive UK Real Estate Data Access the most complete UK property data API with 62+ million records across 30+ authoritative data sources. Get property sales history, EPC energy ratings, rental yields, school ratings, crime statistics, transport links, flood risk, and more - all with a single API call. ## What You Get **Property Sales Data** - 31 million+ Land Registry…
Ukproperty endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET |
root__get / |
|
| GET |
get_air_quality_v1_air_quality__postcode__get /v1/air-quality/{postcode} |
Get air quality data for a postcode. Returns latest air quality measurements from the nearest DEFRA monitoring site. - **postcode**: UK postcode (e.g., SW1A 1AA) - **radius**:… |
| GET |
health_health_get /health |
Health check with fast approximate counts for all data sources |
| GET |
get_gp_surgeries_endpoint_v1_gp_surgeries__postcode__get /v1/gp-surgeries/{postcode} |
Find GP surgeries within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Parameters: - postcode: UK postcode - radius: Search radius in meters… |
| GET |
get_local_economy_v1_local_economy__postcode__get /v1/local-economy/{postcode} |
Get local economy statistics for a postcode area. Returns: - **Income**: Household income statistics (MSOA level, FYE 2023) - Total annual household income - Net (disposable)… |
| GET |
get_council_tax_v1_council_tax__postcode__get /v1/council-tax/{postcode} |
Get council tax band distribution and charges for a postcode. Shows the distribution of council tax bands in the postcode area, the most common (modal) band, and current annual… |
| GET |
get_nearby_schools_v1_schools__postcode__get /v1/schools/{postcode} |
Find schools within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Parameters: - postcode: UK postcode - radius: Search radius in meters… |
| GET |
get_stats_v1_stats__postcode__get /v1/stats/{postcode} |
Get price statistics for a postcode area. Performance optimized with Redis caching (24h TTL). Returns detailed statistics including median, property type breakdowns. Target… |
| GET |
get_property_v1_property__postcode___house_number__get /v1/property/{postcode}/{house_number} |
Get full property data including sales history and EPC. - **postcode**: UK postcode (e.g., SW1A 1AA) - **house_number**: House number or name - **enrich**: If true, includes… |
| GET |
get_transport_stations_v1_transport__postcode__get /v1/transport/{postcode} |
Find transport stations within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Parameters: - postcode: UK postcode - radius: Search radius in… |
| GET |
get_mining_area_v1_mining__postcode__get /v1/mining/{postcode} |
Check if postcode is in a mining reporting area. Uses PostGIS ST_Contains to query mining_areas table. Returns: - in_reporting_area: Boolean indicating if in mining area -… |
| GET |
get_epc_data_v1_epc__postcode___house_number__get /v1/epc/{postcode}/{house_number} |
Get EPC data for a property. - **postcode**: UK postcode - **house_number**: House number or name |
| GET |
get_house_price_index_v1_hpi__postcode__get /v1/hpi/{postcode} |
Get House Price Index data for the postcode region. Returns: - region: Geographic region name - current_index: Latest HPI value - current_month: Date of latest data -… |
| GET |
get_supermarkets_endpoint_v1_supermarkets__postcode__get /v1/supermarkets/{postcode} |
Find supermarkets within a radius of the postcode. Data from Geolytix Retail Points (19,000+ UK supermarkets). |
| GET |
get_hospitals_endpoint_v1_hospitals__postcode__get /v1/hospitals/{postcode} |
Find hospitals within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Default radius is larger (10000m) as hospitals are fewer and serve wider… |
| GET |
get_broadband_speeds_v1_broadband__postcode__get /v1/broadband/{postcode} |
Get broadband speed data for a postcode. Simple lookup from broadband_speeds table. Returns: - max_download_mbps: Maximum download speed available - max_upload_mbps: Maximum… |
| GET |
get_planning_v1_planning__postcode__get /v1/planning/{postcode} |
Get planning applications in a postcode area. - **postcode**: UK postcode (e.g., SW1A 1AA) - **days**: Filter to applications received in last N days (default 90) - **limit**:… |
| GET |
get_amenities_endpoint_v1_amenities__postcode__get /v1/amenities/{postcode} |
Find local amenities (restaurants, cafes, gyms, parks, etc.). Data from OpenStreetMap. |
| GET |
get_demographics_v1_demographics__postcode__get /v1/demographics/{postcode} |
Get Census 2021 demographics data for a postcode. Returns population, households, median age, and density at LSOA level. Returns: - lsoa: LSOA code - population: Total population… |
| GET |
get_deprivation_v1_deprivation__postcode__get /v1/deprivation/{postcode} |
Get IMD 2019 deprivation data for a postcode. Returns overall IMD score/decile plus domain-specific scores. Decile 1 = most deprived 10%, Decile 10 = least deprived 10%. Returns:… |
| GET |
get_rail_stations_endpoint_v1_rail_stations__postcode__get /v1/rail-stations/{postcode} |
Find National Rail stations within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Returns stations with CRS codes, zones, and facilities.… |
| GET |
get_rental_prices_endpoint_v1_rental__postcode__get /v1/rental/{postcode} |
Get rental prices and yields for a postcode area. CRITICAL for buy-to-let investors: provides rental market data and calculated gross rental yields using local sale prices.… |
| GET |
get_parks_endpoint_v1_parks__postcode__get /v1/parks/{postcode} |
Find parks and green spaces within a radius of the postcode. Uses Haversine formula for accurate distance calculation. Data from OS Open Greenspace. Parameters: - postcode: UK… |
| GET |
get_walkability_score_endpoint_v1_walkability__postcode__get /v1/walkability/{postcode} |
Calculate walkability score (0-100) based on nearby amenities. |
| GET |
get_sales_v1_sales__postcode__get /v1/sales/{postcode} |
Get all sales in a postcode area. - **postcode**: UK postcode - **limit**: Max results (default 50, max 200) |
| GET |
get_crime_stats_v1_crime__postcode__get /v1/crime/{postcode} |
Get crime statistics for a postcode area. Aggregates crime data by category for the last 12 months. Returns: - total_12m: Total crimes in last 12 months - breakdown: Crime counts… |
| GET |
get_epc_certificate_v1_epc_certificate__lmk_key__get /v1/epc/certificate/{lmk_key} |
Get EPC certificate by LMK key (live API lookup). - **lmk_key**: The LMK key from a search result |
| GET |
get_all_location_data_v1_location__postcode__get /v1/location/{postcode} |
Combined endpoint returning all location data for a postcode. Aggregates: - Coordinates (lat/lng) - Flood zone - Crime statistics - Nearby schools - Broadband speeds - Mining… |
| GET |
get_flood_zone_v1_flood__postcode__get /v1/flood/{postcode} |
Get flood zone data for a postcode. Uses PostGIS ST_Contains to query flood_zones table. Returns: - zone: Flood zone number (1 = low risk, 3 = high risk) - description:… |
| GET |
get_epc_by_area_v1_epc__postcode__get /v1/epc/{postcode} |
Get all EPCs in a postcode area. |
| GET |
get_area_estimate_v1_area_estimate__postcode__get /v1/area-estimate/{postcode} |
Get HPI-adjusted area estimated average for a postcode. Calculates what all properties in the area would be worth TODAY by applying HPI growth to each recent sale. This is more… |