UK Property Data API Solutions: Easy access to comprehensive data for over 30 million+ residential properties nationwide. Deliver in-depth information on almost any property in the UK to your clients in seconds and generate more business.
Get ahead of your competition: Add a new dimension to your business with our bespoke Property Data APIs. Material Information for 30 Million UK homes: Is your business ready for the new regulations that mandate upfront information on any UK home?
Some of the Most Popular APIs:
100+ Data Sets Available via APIs: These are just the mainstream APIs we have made available, new data sources are added regularly, enriching the services you get all the time.
Can’t find the API you are looking for?: Ask us to create a bespoke API that delivers the exact information you want and technical consultation can be booked to.
Powered by Property Deals Insight: Integrate your platform with our APIs and make use of our offerings in your own solutions.
Property know-how + Sophisticated Tech = Deliver Top class solutions: Book Your Free Consultation Now
To get your api token
PS: You must have a valid API Subscription plan to be able to do that.

We begin by compiling a comprehensive list of properties that have been marked as sold and are also registered in the UK registry data. Next, we calculate the time difference between the initial listing date and the date they were sold. This calculation provides you with the average number of days it takes for an agent to sell properties within a specified postcode area.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| region | string | A valid UK postcode area | HA BD EC |
|
| limit | integer | maximum number of results to return | 50 | Y |
| pageNumber | integer | to navigate through multiple pages of results | 1 | Y |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| region required | string (provide UK region) [ 1 .. 2 ] characters |
{- "limit": 20,
- "pageNumber": 1,
- "region": "HA"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "totalElements": 3,
- "totalPages": 1,
- "data": [
- {
- "agent_name": "Robsons",
- "agent_address": "Robsons, Pinner",
- "agent_phone": "020 8866 8083",
- "avg_marketing_days": "149",
- "no_of_listings": "31"
}, - {
- "agent_name": "Gibbs Gillespie",
- "agent_address": "Gibbs Gillespie, Ruislip Manor",
- "agent_phone": "01895 601095",
- "avg_marketing_days": "157",
- "no_of_listings": "30"
}, - {
- "agent_name": "Lawrence Rand",
- "agent_address": "Lawrence Rand, Ruislip",
- "agent_phone": "01895 601049",
- "avg_marketing_days": "152",
- "no_of_listings": "27"
}
]
}We measure agent performance using several key parameters:
These metrics provide a comprehensive overview of an agent's effectiveness and efficiency in the real estate market.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| outcode | string | A valid UK outcode | B5 BS18 EH10 |
|
| limit | integer | maximum number of results to return | 50 | Y |
| pageNumber | integer | to navigate through multiple pages of results | 1 | Y |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "B1"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "totalElements": 3,
- "totalPages": 1,
- "data": [
- {
- "agent_name": "Arkade Property",
- "agent_address": "Ground Floor, 41 Vittoria St, Birmingham",
- "no_of_live_listings": "18",
- "no_of_sold_listings": "10",
- "avg_difference_in_percentage": "3.029000",
- "turnaround_days": "179.5000",
- "turnaround_weeks": "26"
}, - {
- "agent_name": "eXp World UK",
- "agent_address": "eXp World UK limited, 1 Northumberland Avenue, Trafalgar Square",
- "no_of_live_listings": "2398",
- "no_of_sold_listings": "44",
- "avg_difference_in_percentage": "2.757727",
- "turnaround_days": "122.1591",
- "turnaround_weeks": "18"
}, - {
- "agent_name": "Sold.co.uk",
- "agent_address": "First Floor, 50 St Mary Axe, London",
- "no_of_live_listings": "550",
- "no_of_sold_listings": "13",
- "avg_difference_in_percentage": "2.593846",
- "turnaround_days": "165.3077",
- "turnaround_weeks": "24"
}
]
}The purpose of this is to provide you with a breakdown of the total number of listings categorized by property type and organized by the respective agents.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| region | string | A valid UK postcode area | HA BD EC |
|
| limit | integer | maximum number of results to return | 50 | Y |
| pageNumber | integer | to navigate through multiple pages of results | 1 | Y |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| region required | string (provide UK region) [ 1 .. 2 ] characters |
{- "limit": 20,
- "pageNumber": 1,
- "region": "EC"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "totalElements": 3,
- "totalPages": 1,
- "data": [
- {
- "agent_name": "Blueground",
- "agent_address": "Office 503, 66-67 Newman Street, London",
- "agent_phone": "020 3641 9988",
- "property_type": "flat",
- "no_of_listing": "278"
}, - {
- "agent_name": "Foxtons",
- "agent_address": "Foxtons, Clerkenwell",
- "agent_phone": "020 3909 6448",
- "property_type": "flat",
- "no_of_listing": "244"
}, - {
- "agent_name": "Savills - Clerkenwell Lettings",
- "agent_address": "122/124 St John Street, Clerkenwell",
- "agent_phone": "020 8022 3151",
- "property_type": "flat",
- "no_of_listing": "243"
}
]
}Get Agentwise total listings within a given no of days and for a particular outcode
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| outcode | string | A valid UK outcode | B5 BS18 EH10 |
|
| forDays | integer | get total stock for days | 182 | Y |
| limit | integer | maximum number of results to return | 50 | Y |
| pageNumber | integer | to navigate through multiple pages of results | 1 | Y |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
| forDays | integer (for days) [ 7 .. 365 ] Default: 182 get no. of stocks for provided days. |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "B1",
- "forDays": 182
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 3,
- "pageNumber": 1,
- "size": 3,
- "totalElements": 107,
- "totalPages": 36,
- "data": [
- {
- "agent_name": "Connells - Birmingham City",
- "agent_address": "145 Great Charles Street Queensway, Birmingham",
- "no_of_sale_stock": "27",
- "no_of_rent_stock": "25"
}, - {
- "agent_name": "Dixons Estate Agents - Birmingham City Centre",
- "agent_address": "Westside Two, 20 Suffolk Street, Queensway, Birmingham",
- "no_of_sale_stock": "24",
- "no_of_rent_stock": "0"
}, - {
- "agent_name": "Alesco Investment Properties",
- "agent_address": "Office 5 2 2, The Leather Market, London",
- "no_of_sale_stock": "24",
- "no_of_rent_stock": "0"
}
]
}Returns a list of agent branches that operate in the specified outcode.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| outcode | string | A valid UK outcode | B5, BS18, EH10 | No |
| limit | integer | Maximum number of results to return | 10 | Yes (default: 10) |
| pageNumber | integer | Page number for pagination | 1 | Yes (default: 1) |
| Field | Description | Example |
|---|---|---|
| agent_name | Name of the agent / company name | Bloomsbury Invest |
| agent_address | Agent branch address | 2 Stephen Street, London |
| agent_logo | Agent brand logo URL | https://dataapi.propertydealsinsight.com/r/L02/ia/zoopla_static_agent_logo_(596116).png |
💷 Credit Cost
1 credit per 10 results (minimum 1 credit will be deducted for each request)
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 10 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "B1"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 3,
- "pageNumber": 1,
- "size": 3,
- "totalElements": 34,
- "totalPages": 12,
- "data": [
- {
- "agent_name": "Bloomsbury Invest",
- "agent_address": "2 Stephen Street, London",
}, - {
- "agent_name": "Connells - Birmingham City",
- "agent_address": "145 Great Charles Street Queensway, Birmingham",
}, - {
- "agent_name": "Rothmore Property",
- "agent_address": "Manchester One, 53 Portland Street, Manchester",
}
]
}This will return a list of on market listings (both sale and rental) listed by an agent.
| Parameter | Type | Description | Example |
|---|---|---|---|
| agentName | string | A valid agent name which PDI supports | Maguire Jackson Barrows & Forrester Davidson Estates |
| agentBranch | string | A valid agent branch address which PDI supports | 33 George Street, Birmingham 14a Frederick Road, Edgbaston, Birmingham |
| Fields | Description | Examples |
|---|---|---|
| pdi_listing_id | A unique PDI identifier for the listing | PDI-122916113 PDI-115165772 |
| category | Type of listing | sale rent |
| type_of_property | Type of property | flat terraced detached |
| bedrooms | No of Bedrooms | 2 3 |
| price | Asking price | 180000 364000 |
| current_status | Status of the listing | live sold expired |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| agentName required | string (Agentname) |
| agentBranch required | string (Agentbranch) |
{- "limit": 20,
- "pageNumber": 1,
- "agentName": "Barrows & Forrester",
- "agentBranch": "19 Kenyon Forge, Kenyon Street, Birmingham"
}{- "code": 0,
- "isSuccess": true,
- "message": "string",
- "limit": 0,
- "pageNumber": 0,
- "size": 0,
- "totalElements": 0,
- "totalPages": 0,
- "data": [
- { }
], - "metadata": { }
}Find UK postcodes, outcodes, and estate agent names as you type. These search suggestions help you pick the right property location or agent faster, without typing them fully.
Returns matching UK postcodes that start with text you enter (for example, typing "SW1" may suggest "SW1A 1AA"). Use this to provide autocomplete suggestions for postcodes as the user types.
| postcode required | string Example: HA1 Partial UK postcode prefix to search. Matches postcodes that start with this text Do not include spaces unless you are searching from that point onward. |
Request: GET /v1/autocomplete/postcode/E17
{- "postCode": [
- "E17 0AA",
- "E17 0AG",
- "E17 0AR",
- "E17 0BR",
- "E17 0EG"
]
}Returns matching outcodes (the first part of a UK postcode, such as "M1" or "SW12"). Use this to provide autocomplete suggestions for outcodes as the user types.
| outcode required | string Example: SW1 Partial UK outcode prefix to search. Matches areas that start with this text (for example, "SW1", "M1", or "HA1"). |
Request: GET /v1/autocomplete/outcode/SW1
{- "postCode": [
- "SW10",
- "SW11",
- "SW12",
- "SW13",
- "SW1V",
- "SW1Y"
]
}Returns estate agent names that match what you enter. Use this to provide autocomplete suggestions for agent names as the user types.
| agentname required | string Example: Fox Partial estate agent name to search. Matches agent names that starts with this text in the name (case-insensitive in practice for most searches). |
Request: GET /v1/autocomplete/agentname/Foxtons
{- "agentNames": [
- "Foxtons",
- "Foxtons - Harrow",
- "Foxtons - Pinner",
- "Foxtons - Southgate",
- "Foxtons Estate Agents"
]
}Estimate property cash flow and rental yield for a UK buy-to-let or investment deal. Enter purchase costs, rent, mortgage, and running costs to see monthly cash flow, annual profit, and a 10-year projection.
Works out the cash flow and rental yield for a UK property investment based on the purchase price, deposit, stamp duty, mortgage, rent, and ongoing costs you provide. Returns monthly and annual figures, gross rental yield, a 10-year cash flow projection, and mortgage repayment schedules.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| propInsightValuation | string | Purchase price or property value in GBP | 450000 | |
| rentalPayments | string | Expected monthly rent in GBP | 2063 | |
| propRentalYields | string | Expected gross rental yield as a percentage | 5.5 | |
| downPayment | string | Deposit amount in GBP (calculated from downPaymentPercentage if omitted) | 90000 | Y |
| downPaymentPercentage | string | Deposit as a percentage of the purchase price | 20 | Y |
| stampDuty | string | Stamp Duty Land Tax (SDLT) level or amount in GBP | Low | Y |
| stampDutyLow | string | Lower SDLT estimate in GBP (returned by the service if omitted) | 12000 | Y |
| stampDutyHigh | string | Higher SDLT estimate in GBP (returned by the service if omitted) | 13000 | Y |
| renovationCost | string | One-off refurbishment or improvement cost in GBP | 15000 | Y |
| mortgageAndValuationFees | string | Mortgage arrangement and valuation fees in GBP | 2000 | Y |
| legalPack | string | Conveyancing and legal fees in GBP | 800 | Y |
| mortgagePayments | string | Monthly mortgage payment in GBP (calculated if omitted) | 1200 | Y |
| miscExpenses | string | Other monthly running costs in GBP | 200 | Y |
| cleaningCost | string | Monthly cleaning or turnover cost in GBP | 150 | Y |
| mortgageMonthlyRePayment | string | Monthly mortgage repayment in GBP (calculated if omitted) | 1200 | Y |
| mortgageInterestRate | string | Annual mortgage interest rate as a percentage | 3.5 | Y |
| mortgageType | string | Mortgage type, such as interest only or repayment | interest only | Y |
| maintenanceCosts | string | Annual maintenance budget in GBP | 3000 | Y |
| propertyManagement | string | Annual letting agent or management fees in GBP | 1200 | Y |
| insurance | string | Annual landlord insurance in GBP | 800 | Y |
| voidPeriod | string | Yearly allowance in GBP for times the property stands empty. If you leave it out, it is set to half of one month's rent. Real empty periods depend on the location, the property type and how well the property is let and managed, so send your own figure | 1032 | Y |
Property valuation, costs, rent, mortgage details, and standard PDI request header.
object (Header) Header parameters | |
| propInsightValuation | string Property insight valuation |
| propRentalYields | string Property rental yields |
| downPayment | string Initial down payment for the property |
| downPaymentPercentage | string Down payment percentage |
| stampDuty | string Stamp duty costs |
| stampDutyLow | string Lower estimate of stamp duty costs |
| stampDutyHigh | string Higher estimate of stamp duty costs |
| renovationCost | string Cost of renovation |
| mortgageAndValuationFees | string Mortgage and valuation fees |
| legalPack | string Conveyancing and legal fees in GBP |
| rentalPayments | string Monthly rental payments |
| mortgagePayments | string Monthly mortgage payments |
| miscExpenses | string Miscellaneous expenses |
| cleaningCost | string Cleaning costs |
| mortgageMonthlyRePayment | string Monthly mortgage repayment amount |
| mortgageInterestRate | string Mortgage interest rate |
| mortgageType | string Type of mortgage |
| maintenanceCosts | string Annual maintenance costs |
| propertyManagement | string Property management fees |
| insurance | string Insurance costs |
| voidPeriod | string Void period (months) |
Request: POST /v1/cashflow_yields
{- "propInsightValuation": "450000",
- "propRentalYields": "5.5",
- "downPayment": "90000",
- "downPaymentPercentage": "20",
- "stampDuty": "12500",
- "stampDutyLow": "12000",
- "stampDutyHigh": "13000",
- "renovationCost": "15000",
- "mortgageAndValuationFees": "2000",
- "legalPack": "800",
- "rentalPayments": "2063",
- "mortgagePayments": "1200",
- "miscExpenses": "200",
- "cleaningCost": "150",
- "mortgageMonthlyRePayment": "1200",
- "mortgageInterestRate": "3.5",
- "mortgageType": "interest only",
- "maintenanceCosts": "3000",
- "propertyManagement": "1200",
- "insurance": "800",
- "voidPeriod": "1032",
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "API Enterprise 30K",
- "role": "API Enterprise 30K",
- "X-PDI-Channel-Id": "PDI Data API",
- "X-PDI-Process-Name": "cash flow"
}
}Response: POST /v1/cashflow_yields
{- "isSuccess": true,
- "propInsightValuation": "450000",
- "oneOffCosts": "120300",
- "downPayment": "90000",
- "downPaymentPercentage": "20",
- "stampDuty": "12500",
- "stampDutyLow": "12000",
- "stampDutyHigh": "13000",
- "renovationCost": "15000",
- "mortgageAndValuationFees": "2000",
- "legalPack": "800",
- "netMonthInOut": "513",
- "rentalPayments": "2063",
- "mortgagePayments": "1200",
- "miscExpenses": "200",
- "cleaningCost": "150",
- "mortgageMonthlyRePayment": "1200",
- "mortgageInterestRate": "3.5",
- "mortgageType": "interest only",
- "maintenanceCosts": "3000",
- "propertyManagement": "1200",
- "insurance": "800",
- "voidPeriod": "1032",
- "annualCosts": "5000",
- "grossRentalYield": "5.5",
- "annualCashFlow": "1156",
- "cashFlowAnalysis": {
- "1": {
- "1156": "88844"
}, - "2": {
- "1189": "87655"
}
}, - "mortageRS": {
- "mortgageMonthly": [
- {
- "payment": 1312.5,
- "principlePaid": 0,
- "interest": 1312.5,
- "outstandingLoanAmount": 360000,
- "numberOfPayment": 1
}
], - "mortgageYearly": [
- {
- "payment": 15750,
- "principlePaid": 0,
- "interest": 15750,
- "outstandingLoanAmount": 360000,
- "numberOfPayment": 12
}
]
}, - "xPDIEndToEndId": "40c40930-ce7d-4989-b4b7-a696f9d8967f"
}Get council tax information for a given address and postcode
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| address | string | Yes | Property address | "10 Downing Street" |
| postcode | string | Yes | A valid UK postcode | "HA1 1SE" |
| limit | int | No | Results per page (default: 20) | 20 |
| pageNumber | int | No | Page number (default: 1) | 1 |
| Parameter | Type | Description | Example |
|---|---|---|---|
| address | string | Full property address | 14, BETHECAR ROAD, HARROW |
| band | string | Council tax band (A-I or Deleted) | E |
| localAuthority | string | Local authority name | Harrow |
| detailLink | string | Link to check council tax band details | https://www.tax.service.gov.uk/... |
| taxAmount | string | Annual council tax charge (not present for Deleted) | 2928.27 |
💷 Credit Cost
1 credit per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
Address (string) or Address (null) (Address) Property address | |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
{- "limit": 20,
- "pageNumber": 1,
- "address": "10 Downing Street",
- "postcode": "SW1A 2AA"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 20,
- "pageNumber": 1,
- "size": 3,
- "totalElements": 21,
- "totalPages": 2,
- "data": [
- {
- "address": "14, BETHECAR ROAD, HARROW, MIDDX, HA1 1SE",
- "band": "E",
- "localAuthority": "Harrow",
- "taxAmount": "2928.27"
}, - {
- "address": "16, BETHECAR ROAD, HARROW, MIDDX, HA1 1SE",
- "band": "E",
- "localAuthority": "Harrow",
- "taxAmount": "2928.27"
}, - {
- "address": "20, BETHECAR ROAD, HARROW, MIDDX, HA1 1SE",
- "band": "Deleted",
- "localAuthority": "Harrow",
}
]
}Accepts a direct mail campaign submission, transforms and sends to external API, returns campaignId and paymentLink.
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| campaignName required | string (Campaignname) |
required | object (PreferencesModel) |
required | Array of objects (Recipients) |
{- "campaignName": "string",
- "preferences": {
- "sender": {
- "name": "string",
- "companyName": "string",
- "companyAddress": "string",
- "email": "user@example.com",
- "phone": "string",
- "logo": "string"
}, - "letter": {
- "letterType": "A4",
- "primaryColour": "string",
- "secondaryColour": "string",
- "qrCode": {
- "url": "string",
- "image": "string",
- "action": "string"
}, - "designTemplate": "string",
- "descriptionTemplate": "string",
- "heading": "string",
- "body": "string",
- "closingSalutation": "string"
}
}, - "recipients": [
- {
- "name": "string",
- "address": "string",
- "town": "string",
- "postcode": "string",
- "country": "string",
- "variables": { }
}
]
}{ }This endpoint provides you with domestic energy performance certificates for properties, along with suggestions on how to improve their energy efficiency. It also gives you the estimated total cost to achieve a better energy rating, along with specific recommendations for each property.
| Title | Get Parameters |
|---|---|
| Filtering by postcode | ?postcode=HA1 ?postcode=HA1 1SE |
| Filtering by uprn | ?uprn=12345678 |
| Filtering by address | ?address=liverpool |
| Filtering by address with limit | ?address=liverpool&size=20 |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
[- {
- "address": "Apartment 3, 71, Knutsford Road",
- "postcode": "WA4 1AB",
- "uprn": "10090372041",
- "current-energy-rating": "E",
- "potential-energy-rating": "C",
- "indicative-total-cost-to-reach-potential-energy-rating": "£8,795 - £22,785",
- "lodgement-datetime": "2018-04-17 14:13:58",
- "lmk-key": "1623958649202018041714135850789738",
- "recommendations": [
- {
- "improvement-summary-text": "Increase loft insulation to 270 mm",
- "indicative-cost": "£100 - £350"
}, - {
- "improvement-summary-text": "Internal or external wall insulation",
- "indicative-cost": "£4,000 - £14,000"
}, - {
- "improvement-summary-text": "Low energy lighting for all fixed outlets",
- "indicative-cost": "£10"
}, - {
- "improvement-summary-text": "High heat retention storage heaters",
- "indicative-cost": "£800 - £1,200"
}, - {
- "improvement-summary-text": "Heat recovery system for mixer showers",
- "indicative-cost": "£585 - £725"
}, - {
- "improvement-summary-text": "Replace single glazed windows with low-E double glazed windows",
- "indicative-cost": "£3,300 - £6,500"
}
]
}
]Estimate profit and return on investment for a UK property flip. Enter a purchase price to see acquisition, finance, renovation, and selling costs, plus overall ROI.
Estimates the potential profit and return on investment (ROI) for a UK property flip before you buy. Enter the purchase price (or estimated value), and the calculator works out acquisition costs, mortgage finance, renovation spend, selling costs, cash invested, gain or loss, and overall ROI. Optional cost sections can be left out, sensible defaults are applied automatically.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| propInsightValuation | number | Purchase price or estimated property value in GBP | 250000 | |
| acquisitionCosts | object | Buy-side costs such as deposit, stamp duty, and legal fees | — | Y |
| financeMortgage | object | Mortgage details such as loan amount, interest rate, and term | — | Y |
| projectCosts | object | Renovation and other project costs | — | Y |
| salesCosts | object | Expected sale price after refurbishment and selling fees | — | Y |
Purchase price or estimated property value. Optional cost sections can be included to override defaults.
object (Header) Header parameters | |
| propInsightValuation | integer <int32> Property insight valuation |
object (AcquisitionCosts) AcquisitionCosts model | |
object (FinanceMortgage) Finance mortgage | |
object (ProjectCosts) Project costs | |
object (SalesCosts) Sales costs |
Request: POST /v1/flip/calculate
{- "propInsightValuation": 250000
}Response: POST /v1/flip/calculate
{- "isSuccess": true,
- "propInsightValuation": 250000,
- "acquisitionCosts": {
- "legalFees": 1000,
- "downPayment": 62500,
- "stampDuty": 2500,
- "highStampDuty": 15000,
- "totalAcquisitionCosts": 66000
}, - "financeMortgage": {
- "loanAmount": 187500,
- "interestRate": 7,
- "loanTerm": 12,
- "closingCosts": 500,
- "totalFinanceCosts": 13625
}, - "projectCosts": {
- "renovation": 7500,
- "otherCosts": 0,
- "totalProjectCosts": 7500
}, - "salesCosts": {
- "postRefurbValuation": 300000,
- "agentComission": 2500,
- "miscelleneuous": 0,
- "earlyRepaymentCharges": 0,
- "salesProceeds": 297500
}, - "flipValuation": {
- "cashInvested": 87125,
- "gainOrLoss": 22875,
- "postRefurbValuation": 300000,
- "investPeriod": 12,
- "financeCost": 7,
- "returnOnInvest": 36.6
}
}Check flood risk for a UK property or location. Shows risk from rivers and the sea, and from surface water, using a UPRN, postcode, address, or map coordinates.
Checks the long term flood risk for a UK property or location. Returns how likely the area is to flood from rivers and the sea, and from surface water (for example heavy rain). Each risk is shown as a simple band such as Very low, Low, Medium, or High, along with the map coordinates used for the check.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| uprn | string | Unique Property Reference Number for a specific property | 100022527251 | Y* |
| postcode | string | Valid UK postcode | HA1 1SE | Y* |
| location | string | Property address or place name | 18 Bethecar Road, Harrow | Y* |
| latitude | number | Latitude coordinate (must be sent with longitude) | 51.59703 | Y* |
| longitude | number | Longitude coordinate (must be sent with latitude) | -0.034365 | Y* |
* Provide exactly one of: uprn, postcode, location, or latitude and longitude together.
Identify the place using exactly one of UPRN, postcode, location, or latitude and longitude, plus the standard PDI request header.
object (Header) Header parameters | |
| uprn | string UPRN |
| postcode | string Postcode |
| location | string Location / address |
| latitude | number <double> Latitude |
| longitude | number <double> Longitude |
Request: POST /v1/flood-risk/search
{- "uprn": "100022527251",
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "AGENT_PREMIUM_YEARLY",
- "role": "AGENT_PREMIUM_YEARLY",
- "X-PDI-Channel-Id": "PDI digital",
- "X-PDI-End-To-End-Id": "0497274b-8c53-4ef8-954c-93828de38521",
- "X-PDI-Process-Name": "agent performance"
}
}Response: POST /v1/flood-risk/search
{- "code": 200,
- "isSuccess": true,
- "message": "",
- "data": [
- {
- "river_and_sea": {
- "success": true,
- "message": "Success",
- "risk_band": "Very low"
}, - "surface_water": {
- "success": true,
- "message": "Success",
- "risk_band": "Very low"
}, - "latitude": 51.59703,
- "longitude": -0.034365
}
], - "xPDIEndToEndId": "0497274b-8c53-4ef8-954c-93828de38521"
}Check mobile and broadband network coverage for UK properties by postcode. Returns Ofcom coverage data including signal quality and predicted broadband speeds for each address at the postcode.
Returns mobile and broadband network coverage for all properties at a UK postcode. Includes predicted broadband speeds (standard, superfast, ultrafast) and mobile signal quality from major UK networks.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| postcode | string | UK postcode to look up coverage for | L329SP |
UK postcode and standard PDI request header.
object (Header) Header parameters | |
| postcode required | string UK postcode to look up coverage for |
| address | string Optional address to filter results to a single property |
| uprn | integer <int64> Optional UPRN to filter results to a single property |
Request: POST /v1/networkcoverage
{- "postcode": "L329SP",
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "AGENT_PREMIUM_YEARLY",
- "role": "AGENT_PREMIUM_YEARLY",
- "X-PDI-Channel-Id": "PDI Data API",
- "X-PDI-Process-Name": "property insight",
- "X-PDI-End-To-End-Id": "6e296dc9-4ea7-4483-b6bc-79758b6b5139"
}
}Response: POST /v1/networkcoverage
{- "mobileCoverage": {
- "PostCode": "L329SP",
- "Availability": [
- {
- "UPRN": 40066960,
- "AddressShortDescription": "4, GORLESTON MEWS",
- "PostCode": "L329SP",
- "EEVoiceOutdoor": 4,
- "EEDataOutdoor": 4,
- "H3VoiceOutdoor": 4,
- "H3DataOutdoor": 4,
- "TFVoiceOutdoor": 4,
- "TFDataOutdoor": 4,
- "VOVoiceOutdoor": 4,
- "VODataOutdoor": 4
}, - {
- "UPRN": 40066958,
- "AddressShortDescription": "2, GORLESTON MEWS",
- "PostCode": "L329SP",
- "EEVoiceOutdoor": 4,
- "EEDataOutdoor": 4,
- "H3VoiceOutdoor": 4,
- "H3DataOutdoor": 4,
- "TFVoiceOutdoor": 4,
- "TFDataOutdoor": 4,
- "VOVoiceOutdoor": 4,
- "VODataOutdoor": 4
}
]
}, - "broadBandCoverage": {
- "PostCode": "L329SP",
- "Availability": [
- {
- "UPRN": 40066960,
- "AddressShortDescription": "4, GORLESTON MEWS",
- "PostCode": "L329SP",
- "MaxBbPredictedDown": 13,
- "MaxBbPredictedUp": 1,
- "MaxSfbbPredictedDown": 80,
- "MaxSfbbPredictedUp": 20,
- "MaxUfbbPredictedDown": 1800,
- "MaxUfbbPredictedUp": 220,
- "MaxPredictedDown": 1800,
- "MaxPredictedUp": 220
}, - {
- "UPRN": 40066958,
- "AddressShortDescription": "2, GORLESTON MEWS",
- "PostCode": "L329SP",
- "MaxBbPredictedDown": 13,
- "MaxBbPredictedUp": 1,
- "MaxSfbbPredictedDown": 80,
- "MaxSfbbPredictedUp": 20,
- "MaxUfbbPredictedDown": 1800,
- "MaxUfbbPredictedUp": 220,
- "MaxPredictedDown": 1800,
- "MaxPredictedUp": 220
}
]
}, - "isSuccess": true,
- "xPDIEndToEndId": "6e296dc9-4ea7-4483-b6bc-79758b6b5139123"
}Resolves the full UK address and last sold details for an on-market property listing. Pass a portal listing URL. Returns matched address candidates with confidence scoring against sold price, sold year, and property type.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| URL | string | Portal listing URL (Rightmove or Zoopla, for sale or to rent) | https://www.rightmove.co.uk/properties/90268878#/?channel=RES_BUY |
| URL | string Example: URL=https://www.rightmove.co.uk/properties/90268878#/?channel=RES_BUY Portal listing URL (Rightmove or Zoopla). Used when provided; otherwise propertyIdentifier is used. |
| propertyIdentifier | string Alternative lookup key when URL is omitted. Supports PDI-prefixed identifiers. |
Response: GET /v1/onmarket/getFullAddress?URL=https://www.rightmove.co.uk/properties/90268878
{- "isSuccess": true,
- "userPackage": { },
- "data": [
- {
- "confidence": {
- "level": "MEDIUM",
- "matching": {
- "propertyType": false,
- "soldYear": true,
- "soldPrice": true
}
}, - "address": "12, Grosvenor Park Road, London E17 9PG",
- "propertyType": "House",
- "soldYear": "2016",
- "soldPrice": "725000"
}
], - "listing_for": "for-sale"
}Find comparable on-market UK property listings from portal by postcode, property type, and bedroom count.
Returns paginated on-market comparable property listings near a UK postcode. Searches portal listings matching property type, bedroom count, and listing type. The search radius defaults to 1 mile and automatically widens (doubling each step) up to 4 miles only when radius is not provided. When radius is explicitly set, that value is used as-is (capped at 4 miles).
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| postcode | string | UK postcode or outcode to search around | BH23 3NN | |
| listingType | string | Listing type. Values: SALE, RENT | SALE | |
| propertyType | string | Property type. Values: APARTMENT, FLAT, DETACHED, SEMI_DETACHED, TERRACED | SEMI_DETACHED | |
| numberOfBeds | integer | Target number of bedrooms | 3 | |
| numberOfBedsVariance | integer | Bedroom range lower bound is numberOfBeds minus this value (inclusive up to numberOfBeds) | 1 | Y |
| radius | number | Search radius in miles (max 4). Defaults to 1.0 when omitted or 0; auto-widens up to 4 only when radius is not specified | 1.0 | Y |
| pageNumber | integer | Page index (0-based) | 0 | Y |
| pageSize | integer | Number of results per page | 3 |
Postcode, listing criteria, pagination, and standard PDI request header.
object (Header) Header parameters | |
| postcode required | string UK postcode or outcode to search around |
| propertyType | string Enum: "APARTMENT" "FLAT" "DETACHED" "SEMI_DETACHED" "TERRACED" Property type. Values: APARTMENT, FLAT, DETACHED, SEMI_DETACHED, TERRACED |
| numberOfBeds | integer <int32> Target number of bedrooms |
| numberOfBedsVariance | integer <int32> Bedroom range lower bound is numberOfBeds minus this value (inclusive up to numberOfBeds) |
| radius | number <float> Search radius in miles (max 4). Defaults to 1.0 when omitted or 0 |
| propertyAddress | string Optional property address for context |
| listingType required | string Enum: "SALE" "RENT" Listing type. Values: SALE, RENT |
| pageNumber | integer <int32> Page index (0-based) |
| pageSize | integer <int32> Number of results per page |
Request: POST /v1/pdionmarket/comparables
{- "listingType": "SALE",
- "numberOfBeds": 3,
- "numberOfBedsVariance": 1,
- "propertyAddress": "",
- "postcode": "BH23 3NN",
- "propertyType": "SEMI_DETACHED",
- "pageNumber": 0,
- "pageSize": 3,
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "AGENT_PREMIUM_YEARLY",
- "role": "AGENT_PREMIUM_YEARLY",
- "X-PDI-Channel-Id": "PDI digital",
- "X-PDI-End-To-End-Id": "afe87694-0ce1-46bf-ad43-b79694acb97c",
- "X-PDI-Process-Name": "property insight"
}
}Response: POST /v1/pdionmarket/comparables
{- "isSuccess": true,
- "xPDIEndToEndId": "afe87694-0ce1-46bf-ad43-b79694acb97c",
- "pageNumber": 0,
- "totalPages": 4,
- "size": 3,
- "totalElements": 14,
- "property": [
- {
- "area": "BH23",
- "address": "Jellicoe Drive, Christchurch BH23",
- "propertyType": "semi_detached",
- "numberOfBaths": "2",
- "evaluationPropertyType": "semi_detached",
- "listedOn": "22 Sep 2023",
- "askingPrice": "415000",
- "shortDesc": "3 bed semi-detached house for sale in Jellicoe Drive, Christchurch BH23, selling for £415,000 from Palmer Snell - Christchurch Sales. See property details on Zoopla or browse all our range of properties in Jellicoe Drive, Christchurch BH23.",
- "agentAddress": "1 Saxon Centre, Fountain Way, Christchurch",
- "agentName": "Palmer Snell - Christchurch Sales",
- "numBedrooms": 3,
- "numRecepts": 1,
- "numFloors": 1,
- "postcode": "BH23 3SL",
- "latitude": 50.734282,
- "longitude": -1.748275,
- "distance": "0.3799808353254584",
- "propertyListingImages": [
- {
- "imageTitle": null,
- "coverImage": true
}
], - "agentPhoneNo": "01202 060220",
- "pdiProperty": false,
- "D2V": false,
- "newRecordSinceLastSearchFlag": false
}, - {
- "area": "BH23",
- "address": "Amethyst Road, Christchurch BH23",
- "propertyType": "semi_detached",
- "numberOfBaths": "1",
- "evaluationPropertyType": "semi_detached",
- "listedOn": "20 Sep 2023",
- "askingPrice": "300000",
- "shortDesc": "3 bed semi-detached house for sale in Amethyst Road, Christchurch BH23, selling for £300,000 from Connells - Southbourne. See property details on Zoopla or browse all our range of properties in Amethyst Road, Christchurch BH23.",
- "agentAddress": "73 Southbourne Grove, Bournemouth",
- "agentName": "Connells - Southbourne",
- "numBedrooms": 3,
- "numRecepts": 2,
- "numFloors": 1,
- "postcode": "BH23 3ED",
- "latitude": 50.739486,
- "longitude": -1.751209,
- "distance": "0.7587235434460889",
- "propertyListingImages": [
- {
- "imageTitle": null,
- "coverImage": true
}
], - "agentPhoneNo": "01202 332377",
- "pdiProperty": false,
- "D2V": false,
- "newRecordSinceLastSearchFlag": false
}, - {
- "area": "BH23",
- "address": "Edward Road, Christchurch BH23",
- "propertyType": "semi_detached",
- "numberOfBaths": "1",
- "evaluationPropertyType": "semi_detached",
- "listedOn": "08 Apr 2024",
- "askingPrice": "375000",
- "shortDesc": "3 bed semi-detached house for sale in Edward Road, Christchurch BH23, selling for £375,000 from Hive & Partners. See property details on Zoopla or browse all our range of properties in Edward Road, Christchurch BH23.",
- "agentAddress": "The Hive, Wilson House, No2 Lorne Park Road",
- "agentName": "Hive & Partners",
- "numBedrooms": 3,
- "numRecepts": 2,
- "numFloors": 1,
- "postcode": "BH23 3EW",
- "latitude": 50.742107,
- "longitude": -1.750913,
- "distance": "0.9325962358182863",
- "propertyListingImages": [
- {
- "imageTitle": null,
- "coverImage": true
}
], - "agentPhoneNo": "01202 058393",
- "pdiProperty": false,
- "D2V": false,
- "newRecordSinceLastSearchFlag": false
}
]
}Revolutionary Appraisals in seconds - Present comprehensive data & insights on any of the 30 Million UK homes.
Helping you get some of the most crucial details like:
| Report Type | Contains |
|---|---|
| Default | Property Valuation Sales Comparison Rental Comparison Recent Sales EPC Details Cash Flow |
| Sale | Property Valuation Sales Comparison Recent Sales EPC Details |
| Rent | Property Valuation Rental Comparison EPC Details |
| Buy | Property Valuation Sales Comparison Rental Comparison Recent Sales EPC Details Cash Flow |
This endpoint allows you to create an appraisal report by providing the necessary information about the property.You get instant property valuation estimates using our proprietary automated valuation model.
In response, you will receive a link containing a report based on your preference.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| address | string | A valid UK Address format which our system supports | Flat 6, 221 Stockton Road, Hartlepool 209, Stockton Road Apartment 1, 1 Garrett Street |
|
| postcode | string | A valid UK postcode | WA4 1AB | |
| propertyType | enum: Flat, Detached, Semi-Detached, Terraced | Type of the property | Flat | YES |
| internalArea | integer | Property's internal area in Square Meter | 29 | YES |
| bedrooms | integer | Number of bedrooms in the property | 2 | YES |
| bathrooms | integer | Number of bathrooms in the property | 1 | YES |
| receptions | integer | Number of reception rooms in the property | 1 | YES |
| reportType | enum: Default, Sale, Rent, Buy | Type of the appraisal report | Sale | YES |
| downloadPDF | boolean | Set to true if you want report in PDF | true | YES |
| mapType | enum: Street, Satellite, Roadmap | Type of map to show on the front page of the report | Roadmap | YES |
| pdiDataEnrichment | boolean | Set to true if you want to auto populate the mandatory fields like property type, internal area and bedrooms | true | YES |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| address required | string (A valid UK Address format which our system supports) [ 5 .. 100 ] characters |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
PropertyType (string) or null | |
Internal Area (integer) or Internal Area (null) (Internal Area) internal property area | |
number of bedrooms (integer) or number of bedrooms (null) (number of bedrooms) number of bedrooms | |
| bathrooms | integer (number of bathrooms) [ 0 .. 10 ] Default: 0 number of bathrooms |
| receptions | integer (number of receptions) [ 0 .. 4 ] Default: 0 number of receptions |
ReportType (string) or null | |
| downloadPDF | boolean (Download PDF) Default: false make this True if you want PDF link |
| mapType | string (MapType) Enum: "Street" "Satellite" "Roadmap" |
| pdiDataEnrichment | boolean (PDI Data Enrichment) Default: false make this True if you want to enrich the data with PDI data |
{- "address": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "propertyType": "Flat",
- "internalArea": 70,
- "bedrooms": 2,
- "bathrooms": 1,
- "receptions": 0,
- "reportType": "Default",
- "downloadPDF": false,
- "mapType": "Street",
- "pdiDataEnrichment": false
}Report type is Default with link
{
}This endpoint allows you to create an appraisal report by providing the necessary information about the property.You get instant property valuation estimates using our proprietary automated valuation model.
In response, you will receive a link containing a report based on your preference.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| uprn | string | Unique Property Reference Number | 10090372040 | |
| propertyType | enum: Flat, Detached, Semi-Detached, Terraced | Type of the property | Flat | YES |
| internalArea | integer | Property's internal area in Square Meter | 29 | YES |
| bedrooms | integer | Number of bedrooms in the property | 2 | YES |
| bathrooms | integer | Number of bathrooms in the property | 1 | YES |
| receptions | integer | Number of reception rooms in the property | 1 | YES |
| reportType | enum: Default, Sale, Rent, Buy | Type of the appraisal report | Sale | YES |
| downloadPDF | boolean | Set to true if you want report in PDF | true | YES |
| mapType | enum: Street, Satellite, Roadmap | Type of map to show on the front page of the report | Roadmap | YES |
| pdiDataEnrichment | boolean | Set to true if you want to auto populate the mandatory fields like property type, internal area and bedrooms | true | YES |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| uprn required | string (Unique Property Reference Number) |
PropertyType (string) or null | |
Internal Area (integer) or Internal Area (null) (Internal Area) internal property area | |
number of bedrooms (integer) or number of bedrooms (null) (number of bedrooms) number of bedrooms | |
| bathrooms | integer (number of bathrooms) [ 0 .. 10 ] Default: 0 number of bathrooms |
| receptions | integer (number of receptions) [ 0 .. 4 ] Default: 0 number of receptions |
ReportType (string) or null | |
| downloadPDF | boolean (Download PDF) Default: false make this True if you want PDF link |
| mapType | string (MapType) Enum: "Street" "Satellite" "Roadmap" |
| pdiDataEnrichment | boolean (PDI Data Enrichment) Default: false make this True if you want to enrich the data with PDI data |
{- "uprn": "10090372040",
- "propertyType": "Flat",
- "internalArea": 70,
- "bedrooms": 2,
- "bathrooms": 1,
- "receptions": 0,
- "reportType": "Default",
- "downloadPDF": false,
- "mapType": "Street",
- "pdiDataEnrichment": false
}Report type is Default with link
{
}Run the same orchestration as /pdi-appraisal-report but stop short
of generating the static map, share link and PDF. Returns the raw JSON
payloads from each backend API stitched together so the caller can shape
them (e.g. into a PDTF property pack).
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| address required | string (A valid UK Address format which our system supports) [ 5 .. 100 ] characters |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
PropertyType (string) or null | |
Internal Area (integer) or Internal Area (null) (Internal Area) internal property area | |
number of bedrooms (integer) or number of bedrooms (null) (number of bedrooms) number of bedrooms | |
| bathrooms | integer (number of bathrooms) [ 0 .. 10 ] Default: 0 number of bathrooms |
| receptions | integer (number of receptions) [ 0 .. 4 ] Default: 0 number of receptions |
ReportType (string) or null | |
| downloadPDF | boolean (Download PDF) Default: false make this True if you want PDF link |
| mapType | string (MapType) Enum: "Street" "Satellite" "Roadmap" |
| pdiDataEnrichment | boolean (PDI Data Enrichment) Default: false make this True if you want to enrich the data with PDI data |
{- "address": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "propertyType": "Flat",
- "internalArea": 70,
- "bedrooms": 2,
- "bathrooms": 1,
- "receptions": 0,
- "reportType": "Default",
- "downloadPDF": false,
- "mapType": "Street",
- "pdiDataEnrichment": false
}nullSame orchestration as /pdi-appraisal-report-data but driven by UPRN.
Address and postcode are resolved from the UPRN automatically.
Property type, internal area and bedrooms are enriched from the database
when pdiDataEnrichment is True and not explicitly provided.
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| uprn required | string (Unique Property Reference Number) |
PropertyType (string) or null | |
Internal Area (integer) or Internal Area (null) (Internal Area) internal property area | |
number of bedrooms (integer) or number of bedrooms (null) (number of bedrooms) number of bedrooms | |
| bathrooms | integer (number of bathrooms) [ 0 .. 10 ] Default: 0 number of bathrooms |
| receptions | integer (number of receptions) [ 0 .. 4 ] Default: 0 number of receptions |
ReportType (string) or null | |
| downloadPDF | boolean (Download PDF) Default: false make this True if you want PDF link |
| mapType | string (MapType) Enum: "Street" "Satellite" "Roadmap" |
| pdiDataEnrichment | boolean (PDI Data Enrichment) Default: false make this True if you want to enrich the data with PDI data |
{- "uprn": "10090372040",
- "propertyType": "Flat",
- "internalArea": 70,
- "bedrooms": 2,
- "bathrooms": 1,
- "receptions": 0,
- "reportType": "Default",
- "downloadPDF": false,
- "mapType": "Street",
- "pdiDataEnrichment": false
}nullUnparalleled On/Off Market data - Use this API to get a list of properties that are/were on the market in a specific outcode. You can filter the listings by type (sale or rent) and include only those with a complete property address. The response includes a list of properties with details such as price, number of bedrooms, number of bathrooms, property type, listing status, and more. You can also view images, floorplans, and features of the property. The response includes a total count of properties and the total number of pages.
| Parameter | Type | Description | Examples |
|---|---|---|---|
| outcode | string | A valid UK outcode | BA11, E16, W5 |
| type | string | Type of listing | SALE, RENT |
| withFullAddressOnly | boolean | Filter listings to include only those with a complete property address | true, false |
| Fields | Description | Examples |
|---|---|---|
| identifier | Unique identifier for the property | PDI-RM01-159269036 |
| postcode | Postcode associated with the address |
BA11 6NX |
| full_property_address | Property address | 5, Hughes Court, High Street, Rode, Frome, Somerset BA11 6NX 49b, Catherine Street, Frome, Somerset BA11 1DA |
| address | Property address | High Street, Rode, Frome, Somerset Catherine Street, Frome, Somerset |
| uprn | Unique Property Reference Number | 250033921 |
| num_bedrooms | Number of bedrooms | 3 |
| num_bathrooms | Number of bathrooms | 1 |
| price | Listed price in GBP (sale price or rent per month) | £500,000 £1,950 |
| price_qualifier | Qualifier for the price | Guide Price |
| price_frequency | Frequency of the price | not specified |
| property_type | Type of property | Flat, Terraced, Detached etc |
| first_published_date | Listed on date | 2025-02-19 11:44:23.0 |
| listing_update_reason | When listing gets updated, you get status here (price reduced / increse etc) | price_reduced |
| listing_type | Type of listing, can be sale or rent | sale |
| status | Current status of listing. If its live, sold or expired | for_sale to_rent expired archived sold |
| secondary_status | This is secondary status of listing, i.e. Just added, Sold STC, Let etc | Just added |
| latitude | gps coordinates of the propery | 51.285003 |
| longitude | gps coordinates of the propery | -2.28072 |
| listing_url | URL link to open portal listing | https://dataapi.propertydealsinsight.com/r/L01/d/properties/158438741 |
| images | A list of available listing images | https://dataapi.propertydealsinsight.com/r/L01/ixl/dir/10k/9102/158438741/9102_DDB250034_IMG_00_0000.jpeg |
| features | A list of features of the property | Two double bedrooms Ground floor Private garden Over 100 year lease Period conversion No onward chain |
| floorplans | A list of floorplans of the property | https://dataapi.propertydealsinsight.com/r/L01/ixl/108k/107680/159269036/107680_33731497_FLP_00_0000.jpeg |
| agent | Listed by agent name, address and phone number | Martin & Co Westbury Connells - Gillingham |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
| type | string (ListingTypeEnum) Enum: "SALE" "RENT" |
| withFullAddressOnly | boolean (With Full Address Only) Default: false Filter listings to include only those with a complete property address |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "E16",
- "type": "SALE",
- "withFullAddressOnly": false
}{- "data": [
- {
- "identifier": "PDI-RM01-159269036",
- "postcode": "E16 4AH",
- "address": "Kildare Road, Canning Town",
- "full_property_address": "109, Kildare Road, London, Greater London E16 4AH",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 330000,
- "price_qualifier": "Guide Price",
- "price_frequency": "not specified",
- "property_type": "Flat",
- "first_published_date": "2025-03-11T13:52:05",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.518299,
- "longitude": 0.021415,
- "images": [
], - "features": [
- "TWO DOUBLE BEDROOMS",
- "GROUND FLOOR",
- "PRIVATE GARDEN",
- "OVER 100 YEAR LEASE",
- "PERIOD CONVERSION",
- "NO ONWARD CHAIN",
- "EASY REACH OF CANNING TOWN AND WEST HAM TRAIN STATIONS",
- "PERFECT FIRST TIME BUY"
], - "agent": {
- "name": "Hunters",
- "address": "Hunters, Plaistow",
- "phone": "020 3910 6037"
}
}, - {
- "identifier": "PDI-ZL01-58812092",
- "postcode": "E16 2RR",
- "address": "Felixstowe Court, Royal Docks, London E16",
- "full_property_address": "41 Felixstowe Court, London, E16 2RR",
- "uprn": "46082136",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 1600,
- "price_qualifier": "",
- "price_frequency": "monthly",
- "property_type": "flat",
- "first_published_date": "2025-03-12T21:42:11",
- "listing_type": "rent",
- "status": "to_rent",
- "secondary_status": "Just added",
- "latitude": 51.501775,
- "longitude": 0.071374,
- "images": [
], - "features": [
- "No deposit option available.",
- "Two bedroom apartment",
- "Popular development",
- "Off road parking",
- "Separate Kitchen",
- "24 hour Security Office"
], - "floorplans": "[]",
- "agent": {
- "name": "Portico - Royal Docks",
- "address": "12 Hartlepool Court, Fishguard Way, London",
- "phone": "020 8115 0789"
}
}, - {
- "identifier": "PDI-RM01-159335543",
- "postcode": "E16 3RA",
- "address": "Hands Walk, London, E16",
- "full_property_address": "32, Hands Walk, London, Greater London E16 3RA",
- "num_bedrooms": 3,
- "num_bathrooms": 1,
- "price": 350000,
- "price_qualifier": "",
- "price_frequency": "not specified",
- "property_type": "Maisonette",
- "first_published_date": "2025-03-12T17:07:54",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.51345,
- "longitude": 0.0225,
- "images": [
], - "features": [ ],
- "agent": {
- "name": "Bairstow Eves",
- "address": "Bairstow Eves, Stratford",
- "phone": "020 3873 5835"
}
}, - {
- "identifier": "PDI-RM01-159162623",
- "postcode": "E16 2FX",
- "address": "Parkside Court, 15 Booth Road, London, E16 2FX",
- "full_property_address": "Flat 39, Parkside Court, 15 Booth Road, London, E16 2FX",
- "uprn": "10090327076",
- "num_bedrooms": 1,
- "num_bathrooms": 1,
- "price": 1800,
- "price_qualifier": "",
- "price_frequency": "monthly",
- "property_type": "Flat",
- "first_published_date": "2025-03-07T21:59:58",
- "listing_update_reason": "new",
- "listing_type": "rent",
- "status": "to_rent",
- "secondary_status": "",
- "latitude": 51.501024,
- "longitude": 0.036801,
- "images": [
], - "features": [
- "Central heating",
- "Double glazed",
- "Washing machine",
- "White goods"
], - "agent": {
- "name": "Visum",
- "address": "Visum, Nationwide",
- "phone": "03300 101115"
}
}, - {
- "identifier": "PDI-RM01-159269036",
- "postcode": "E16 4AH",
- "address": "Kildare Road, Canning Town",
- "full_property_address": "109, Kildare Road, London, Greater London E16 4AH",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 330000,
- "price_qualifier": "Guide Price",
- "price_frequency": "not specified",
- "property_type": "Flat",
- "first_published_date": "2025-03-11T13:52:05",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.518299,
- "longitude": 0.021415,
- "images": [
], - "features": [
- "TWO DOUBLE BEDROOMS",
- "GROUND FLOOR",
- "PRIVATE GARDEN",
- "OVER 100 YEAR LEASE",
- "PERIOD CONVERSION",
- "NO ONWARD CHAIN",
- "EASY REACH OF CANNING TOWN AND WEST HAM TRAIN STATIONS",
- "PERFECT FIRST TIME BUY"
], - "agent": {
- "name": "Hunters",
- "address": "Hunters, Plaistow",
- "phone": "020 3910 6037"
}
}
], - "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "size": 1,
- "totalElements": 5,
- "totalPages": 1
}Unparalleled On/Off Market data - Use this API to get a list of properties in a specific outcode based on predefined sourcing lists such as newly listed, under offer, price reduced, withdrawn or suspected sold in a specific outcode. You can also filter listings to include only those with a complete property address.
| Parameter | Type | Description | Examples |
|---|---|---|---|
| outcode | string | A valid UK outcode | BA11, E16, W5 |
| type | string | Type of listing | SALE, RENT |
| withFullAddressOnly | boolean | Filter listings to include only those with a complete property address | true, false |
| status | string | Status of the listing | NEW_INSTRUCTIONS, UNDER_OFFER, WITHDRAWALS |
Meaning of status:
| Fields | Description | Examples |
|---|---|---|
| identifier | Unique identifier for the property | PDI-RM01-159269036 |
| postcode | Postcode associated with the address |
BA11 6NX |
| full_property_address | Property address | 5, Hughes Court, High Street, Rode, Frome, Somerset BA11 6NX 49b, Catherine Street, Frome, Somerset BA11 1DA |
| address | Property address | High Street, Rode, Frome, Somerset Catherine Street, Frome, Somerset |
| uprn | Unique Property Reference Number | 250033921 |
| num_bedrooms | Number of bedrooms | 3 |
| num_bathrooms | Number of bathrooms | 1 |
| price | Listed price in GBP (sale price or rent per month) | £500,000 £1,950 |
| price_qualifier | Qualifier for the price | Guide Price |
| price_frequency | Frequency of the price | not specified |
| property_type | Type of property | Flat, Terraced, Detached etc |
| first_published_date | Listed on date | 2025-02-19 11:44:23.0 |
| listing_update_reason | When listing gets updated, you get status here (price reduced / increse etc) | price_reduced |
| listing_type | Type of listing, can be sale or rent | sale |
| status | Current status of listing. If its live, sold or expired | for_sale to_rent expired archived sold |
| secondary_status | This is secondary status of listing, i.e. Just added, Sold STC, Let etc | Just added |
| latitude | gps coordinates of the propery | 51.285003 |
| longitude | gps coordinates of the propery | -2.28072 |
| listing_url | URL link to open portal listing | https://dataapi.propertydealsinsight.com/r/L01/d/properties/158438741 |
| images | A list of available listing images | https://dataapi.propertydealsinsight.com/r/L01/ixl/dir/10k/9102/158438741/9102_DDB250034_IMG_00_0000.jpeg |
| features | A list of features of the property | Two double bedrooms Ground floor Private garden Over 100 year lease Period conversion No onward chain |
| floorplans | A list of floorplans of the property | https://dataapi.propertydealsinsight.com/r/L01/ixl/108k/107680/159269036/107680_33731497_FLP_00_0000.jpeg |
| agent | Listed by agent name, address and phone number | Martin & Co Westbury Connells - Gillingham |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
| type | string (ListingTypeEnum) Enum: "SALE" "RENT" |
| withFullAddressOnly | boolean (With Full Address Only) Default: false Filter listings to include only those with a complete property address |
| status required | string (MarketProspectsStatusEnum) Enum: "NEW_INSTRUCTIONS" "FALL_THROUGHS" "UNDER_OFFER" "PRICE_REDUCTIONS" "WITHDRAWALS" "SUSPECTED_SOLD" Enum representing different market prospect statuses for properties. |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "E16",
- "type": "SALE",
- "withFullAddressOnly": false,
- "status": "NEW_INSTRUCTIONS"
}{- "data": [
- {
- "identifier": "PDI-RM01-159269036",
- "postcode": "E16 4AH",
- "address": "Kildare Road, Canning Town",
- "full_property_address": "109, Kildare Road, London, Greater London E16 4AH",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 330000,
- "price_qualifier": "Guide Price",
- "price_frequency": "not specified",
- "property_type": "Flat",
- "first_published_date": "2025-03-11T13:52:05",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.518299,
- "longitude": 0.021415,
- "images": [
], - "features": [
- "TWO DOUBLE BEDROOMS",
- "GROUND FLOOR",
- "PRIVATE GARDEN",
- "OVER 100 YEAR LEASE",
- "PERIOD CONVERSION",
- "NO ONWARD CHAIN",
- "EASY REACH OF CANNING TOWN AND WEST HAM TRAIN STATIONS",
- "PERFECT FIRST TIME BUY"
], - "agent": {
- "name": "Hunters",
- "address": "Hunters, Plaistow",
- "phone": "020 3910 6037"
}
}, - {
- "identifier": "PDI-ZL01-58812092",
- "postcode": "E16 2RR",
- "address": "Felixstowe Court, Royal Docks, London E16",
- "full_property_address": "41 Felixstowe Court, London, E16 2RR",
- "uprn": "46082136",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 1600,
- "price_qualifier": "",
- "price_frequency": "monthly",
- "property_type": "flat",
- "first_published_date": "2025-03-12T21:42:11",
- "listing_type": "rent",
- "status": "to_rent",
- "secondary_status": "Just added",
- "latitude": 51.501775,
- "longitude": 0.071374,
- "images": [
], - "features": [
- "No deposit option available.",
- "Two bedroom apartment",
- "Popular development",
- "Off road parking",
- "Separate Kitchen",
- "24 hour Security Office"
], - "floorplans": "[]",
- "agent": {
- "name": "Portico - Royal Docks",
- "address": "12 Hartlepool Court, Fishguard Way, London",
- "phone": "020 8115 0789"
}
}, - {
- "identifier": "PDI-RM01-159335543",
- "postcode": "E16 3RA",
- "address": "Hands Walk, London, E16",
- "full_property_address": "32, Hands Walk, London, Greater London E16 3RA",
- "num_bedrooms": 3,
- "num_bathrooms": 1,
- "price": 350000,
- "price_qualifier": "",
- "price_frequency": "not specified",
- "property_type": "Maisonette",
- "first_published_date": "2025-03-12T17:07:54",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.51345,
- "longitude": 0.0225,
- "images": [
], - "features": [ ],
- "agent": {
- "name": "Bairstow Eves",
- "address": "Bairstow Eves, Stratford",
- "phone": "020 3873 5835"
}
}, - {
- "identifier": "PDI-RM01-159162623",
- "postcode": "E16 2FX",
- "address": "Parkside Court, 15 Booth Road, London, E16 2FX",
- "full_property_address": "Flat 39, Parkside Court, 15 Booth Road, London, E16 2FX",
- "uprn": "10090327076",
- "num_bedrooms": 1,
- "num_bathrooms": 1,
- "price": 1800,
- "price_qualifier": "",
- "price_frequency": "monthly",
- "property_type": "Flat",
- "first_published_date": "2025-03-07T21:59:58",
- "listing_update_reason": "new",
- "listing_type": "rent",
- "status": "to_rent",
- "secondary_status": "",
- "latitude": 51.501024,
- "longitude": 0.036801,
- "images": [
], - "features": [
- "Central heating",
- "Double glazed",
- "Washing machine",
- "White goods"
], - "agent": {
- "name": "Visum",
- "address": "Visum, Nationwide",
- "phone": "03300 101115"
}
}, - {
- "identifier": "PDI-RM01-159269036",
- "postcode": "E16 4AH",
- "address": "Kildare Road, Canning Town",
- "full_property_address": "109, Kildare Road, London, Greater London E16 4AH",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 330000,
- "price_qualifier": "Guide Price",
- "price_frequency": "not specified",
- "property_type": "Flat",
- "first_published_date": "2025-03-11T13:52:05",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.518299,
- "longitude": 0.021415,
- "images": [
], - "features": [
- "TWO DOUBLE BEDROOMS",
- "GROUND FLOOR",
- "PRIVATE GARDEN",
- "OVER 100 YEAR LEASE",
- "PERIOD CONVERSION",
- "NO ONWARD CHAIN",
- "EASY REACH OF CANNING TOWN AND WEST HAM TRAIN STATIONS",
- "PERFECT FIRST TIME BUY"
], - "agent": {
- "name": "Hunters",
- "address": "Hunters, Plaistow",
- "phone": "020 3910 6037"
}
}
], - "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "size": 1,
- "totalElements": 5,
- "totalPages": 1
}Get a single listing by passing an identifier which could be PDI identifier(recommended) or property UPRN for the listing.
| Parameter | Type | Description | Examples |
|---|---|---|---|
| identifier | string | A valid listing identifier or UPRN | PDI-RM01-159269036 or 250033921 |
| Fields | Description | Examples |
|---|---|---|
| identifier | Unique identifier for the property | PDI-RM01-159269036 |
| postcode | Postcode associated with the address |
BA11 6NX |
| full_property_address | Property address | 5, Hughes Court, High Street, Rode, Frome, Somerset BA11 6NX 49b, Catherine Street, Frome, Somerset BA11 1DA |
| address | Property address | High Street, Rode, Frome, Somerset Catherine Street, Frome, Somerset |
| uprn | Unique Property Reference Number | 250033921 |
| num_bedrooms | Number of bedrooms | 3 |
| num_bathrooms | Number of bathrooms | 1 |
| price | Listed price in GBP (sale price or rent per month) | £500,000 £1,950 |
| price_qualifier | Qualifier for the price | Guide Price |
| price_frequency | Frequency of the price | not specified |
| property_type | Type of property | Flat, Terraced, Detached etc |
| first_published_date | Listed on date | 2025-02-19 11:44:23.0 |
| listing_update_reason | When listing gets updated, you get status here (price reduced / increse etc) | price_reduced |
| listing_type | Type of listing, can be sale or rent | sale |
| status | Current status of listing. If its live, sold or expired | for_sale to_rent expired archived sold |
| secondary_status | This is secondary status of listing, i.e. Just added, Sold STC, Let etc | Just added |
| latitude | gps coordinates of the propery | 51.285003 |
| longitude | gps coordinates of the propery | -2.28072 |
| listing_url | URL link to open portal listing | https://dataapi.propertydealsinsight.com/r/L01/d/properties/158438741 |
| images | A list of available listing images | https://dataapi.propertydealsinsight.com/r/L01/ixl/dir/10k/9102/158438741/9102_DDB250034_IMG_00_0000.jpeg |
| features | A list of features of the property | Two double bedrooms Ground floor Private garden Over 100 year lease Period conversion No onward chain |
| floorplans | A list of floorplans of the property | https://dataapi.propertydealsinsight.com/r/L01/ixl/108k/107680/159269036/107680_33731497_FLP_00_0000.jpeg |
| agent | Listed by agent name, address and phone number | Martin & Co Westbury Connells - Gillingham |
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| identifier required | string (Listing Identifier) Listing identifier |
{- "limit": 20,
- "pageNumber": 1,
- "identifier": "PDI-RM01-159269036"
}{- "data": [
- {
- "identifier": "PDI-RM01-159269036",
- "postcode": "E16 4AH",
- "address": "Kildare Road, Canning Town",
- "full_property_address": "109, Kildare Road, London, Greater London E16 4AH",
- "num_bedrooms": 2,
- "num_bathrooms": 1,
- "price": 330000,
- "price_qualifier": "Guide Price",
- "price_frequency": "not specified",
- "property_type": "Flat",
- "first_published_date": "2025-03-11T13:52:05",
- "listing_update_reason": "new",
- "listing_type": "sale",
- "status": "for_sale",
- "secondary_status": "",
- "latitude": 51.518299,
- "longitude": 0.021415,
- "images": [
], - "features": [
- "TWO DOUBLE BEDROOMS",
- "GROUND FLOOR",
- "PRIVATE GARDEN",
- "OVER 100 YEAR LEASE",
- "PERIOD CONVERSION",
- "NO ONWARD CHAIN",
- "EASY REACH OF CANNING TOWN AND WEST HAM TRAIN STATIONS",
- "PERFECT FIRST TIME BUY"
], - "agent": {
- "name": "Hunters",
- "address": "Hunters, Plaistow",
- "phone": "020 3910 6037"
}
}
], - "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 50,
- "pageNumber": 1,
- "size": 1,
- "totalElements": 1,
- "totalPages": 1
}Resolve UK addresses to UPRNs and return the property behind them: property type, bedrooms, floor area, council tax band and annual charge, and EPC rating and heating fuel.
Match an address you already hold, enrich a UPRN you already have, or list the addresses at a postcode for a user to choose from. Coverage spans England, Wales and Scotland.
Resolve a UK address and postcode to a UPRN.
Matches an address you already hold against PDI's property register and returns its Unique Property Reference Number (UPRN). No property data is returned — use it to attach UPRNs to your records, then enrich only the ones you need.
Branch on match_status. Every outcome is returned with HTTP 200, including
no match.
| match_status | Meaning | uprn |
|---|---|---|
MATCHED |
One property identified | Populated |
MULTIPLE_MATCHES |
Several properties qualify and none is an exact match. matches lists them |
null |
NO_MATCH |
No property could be verified. reason_code says why |
null |
To resolve a MULTIPLE_MATCHES result, send the address and postcode of the
chosen entry in matches as a new request.
/pdi-property-enrichment/core and /pdi-property-enrichment/base —
enrich a UPRN you have resolved./pdi-property-enrichment/core-by-address — match and enrich in a single call.| Parameter | Type | Description | Example |
|---|---|---|---|
| address | string | The address as you hold it, as free text | 8 Wall Street, Blackpool |
| postcode | string | A full, valid UK postcode. Case and spacing are normalised | FY1 2EG |
The postcode is the search key: an address is only matched against properties at the postcode supplied.
data)| Field | Description |
|---|---|
| input_address | The address you sent |
| postcode | The postcode you sent, normalised |
| match_status | MATCHED, MULTIPLE_MATCHES or NO_MATCH |
| multiple_matches | true when several properties qualified |
| match_confidence | HIGH, MEDIUM or LOW when MATCHED; otherwise null |
| score | 0–1, how closely the matched address corresponds to your input, when MATCHED; otherwise null |
| uprn | Unique Property Reference Number, when MATCHED; otherwise null |
| matched_address | The address of the identified property, when MATCHED; otherwise null |
| address_source | ADDRESS_MASTER (PDI property register) or EPC (EPC register), when MATCHED or MULTIPLE_MATCHES; otherwise null |
| reason_code | Why a single property was not identified — see below. Null when MATCHED |
| matches | When MULTIPLE_MATCHES, the candidates, each with address, postcode, score and address_source. Candidates carry no UPRN. Empty otherwise |
| Code | Meaning |
|---|---|
MULTIPLE_CANDIDATES |
Several properties qualified. Choose from matches |
NO_CANDIDATE_PASSED_VERIFICATION |
Properties exist at the postcode, but none matched the address closely enough — often a missing or different flat or unit number |
NO_CANDIDATE_RETRIEVED |
Nothing at the postcode resembled the address. Check the postcode is right |
NO_RESOLVABLE_ADDRESS |
The address is a single name with no number, such as a town on its own |
Charged only when a property is identified (MATCHED). MULTIPLE_MATCHES,
NO_MATCH and rejected requests are not charged. The rate below applies to a
MATCHED result, and the X-PDI-Credits-Deducted response header states what
each accepted request cost.
💷 Credit Cost
1 credit per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| address required | string (Address) |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
| debug | boolean (Debug) Default: false When true, include internal matching details and alternative candidates in metadata. Ignored unless config DEBUG is true. |
Array of Include (strings) or Include (null) (Include) Optional response blocks: 'two_field_address', 'match_code'. Omit for the standard response. Unknown names are ignored. |
{- "address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 1,
- "totalElements": 1,
- "data": [
- {
- "input_address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG",
- "match_status": "MATCHED",
- "multiple_matches": false,
- "match_confidence": "HIGH",
- "score": 1,
- "uprn": "100010837358",
- "matched_address": "8 Wall Street, Blackpool",
- "address_source": "ADDRESS_MASTER",
- "matches": [ ]
}
]
}Return the core attributes of a UK property from its UPRN.
Returns the property's address, type, bedrooms and floor area, with the source of
each value. For council tax and EPC as well, use /pdi-property-enrichment/core.
/address/uprn-lookup-by-address — resolve an address to a UPRN first./pdi-property-enrichment/core — the same attributes plus council tax and EPC.| Parameter | Type | Description | Example |
|---|---|---|---|
| uprn | string | Unique Property Reference Number, digits only | 100010837358 |
data)| Field | Description |
|---|---|
| address | The property's address |
| postcode | The property's postcode |
| uprn | Unique Property Reference Number |
| property_type | Type of property, for example Flat, Terraced, Semi-Detached, Detached or House. Null when not held |
| bedrooms | Number of bedrooms. Null when not held |
| total_floor_area | Floor area in square metres. Null when not held |
| source | The dataset each of property_type, bedrooms and total_floor_area came from, for example EPC, price_paid (HM Land Registry) or Portal (property listings) |
A UPRN with no record returns HTTP 200 with an empty data list and the
message No property found for this UPRN.
Charged when a property is returned. A UPRN with no record is not charged, and
neither is a rejected request. When a property is returned, the
X-PDI-Credits-Deducted response header states the charge.
💷 Credit Cost
1 credit per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| uprn required | string (Uprn) [ 1 .. 20 ] characters ^\d+$ Unique Property Reference Number |
{- "uprn": "100010837358"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 1,
- "totalElements": 1,
- "data": [
- {
- "address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG",
- "uprn": "100010837358",
- "property_type": "Terraced",
- "bedrooms": 2,
- "total_floor_area": 53,
- "source": {
- "property_type": "price_paid",
- "bedrooms": "Portal",
- "total_floor_area": "EPC"
}
}
]
}Return a UK property's attributes, council tax and EPC from its UPRN.
Everything in /pdi-property-enrichment/base, plus the council tax band and
annual charge, and the latest EPC rating and heating fuel.
/address/uprn-lookup-by-address — resolve an address to a UPRN first./pdi-property-enrichment/core-by-address — match an address and enrich it
in a single call.| Parameter | Type | Description | Example |
|---|---|---|---|
| uprn | string | Unique Property Reference Number, digits only | 100010837358 |
data)| Field | Description |
|---|---|
| address | The property's address |
| postcode | The property's postcode |
| uprn | Unique Property Reference Number |
| property_type | Type of property, for example Flat, Terraced, Semi-Detached, Detached or House. Null when not held |
| bedrooms | Number of bedrooms. Null when not held |
| total_floor_area | Floor area in square metres. Null when not held |
| source | The dataset each of property_type, bedrooms and total_floor_area came from, for example EPC, price_paid (HM Land Registry) or Portal (property listings) |
| council_tax | Council tax for the property — see below. Null when no council tax record is matched |
| epc | The latest Energy Performance Certificate — see below. Null when no certificate is held |
council_tax
| Field | Description |
|---|---|
| band | Council tax band: A–H in England and Scotland, A–I in Wales |
| authority | The billing authority |
| amount | The annual charge for that band at that authority, in GBP. It is the band charge, not a property-specific bill. Null when not held |
| year | The charging year amount applies to |
epc
| Field | Description |
|---|---|
| rating | Current energy rating, A–G |
| heating_type | The main heating description on the certificate |
| main_fuel | The main fuel as recorded on the certificate. Often null for Scottish properties |
| mains_gas_flag | Y or N where the certificate records it; otherwise null. Not recorded on Scottish certificates |
| fuel_category | The fuel, normalised: MAINS_GAS, COMMUNITY_HEAT, OFF_GRID_ELECTRIC, OFF_GRID_OIL, OFF_GRID_LPG, OFF_GRID_SOLID_FUEL or OFF_GRID_UNSPECIFIED. Null when it cannot be determined |
| lodgement_date | The date the certificate was lodged |
Use fuel_category rather than main_fuel in your logic: the raw fuel text is
worded differently between certificates and between nations.
A UPRN with no record returns HTTP 200 with an empty data list and the
message No property found for this UPRN.
Charged when a property is returned. A UPRN with no record is not charged, and
neither is a rejected request. When a property is returned, the
X-PDI-Credits-Deducted response header states the charge.
💷 Credit Cost
3 credits per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| uprn required | string (Uprn) [ 1 .. 20 ] characters ^\d+$ Unique Property Reference Number |
{- "uprn": "100010837358"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 1,
- "totalElements": 1,
- "data": [
- {
- "address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG",
- "uprn": "100010837358",
- "property_type": "Terraced",
- "bedrooms": 2,
- "total_floor_area": 53,
- "source": {
- "property_type": "price_paid",
- "bedrooms": "Portal",
- "total_floor_area": "EPC"
}, - "council_tax": {
- "band": "A",
- "authority": "Blackpool",
- "amount": 1675.48,
- "year": "2026"
}, - "epc": {
- "rating": "C",
- "heating_type": "Boiler and radiators, mains gas",
- "main_fuel": "mains gas (not community)",
- "mains_gas_flag": "Y",
- "fuel_category": "MAINS_GAS",
- "lodgement_date": "2026-02-12"
}
}
]
}Match a UK address and return the property, with council tax and EPC.
Matches an address you already hold against PDI's property register. When a single property is identified, the same response carries its UPRN, attributes, council tax and EPC — one call instead of a lookup followed by an enrichment.
Branch on match_status. Every outcome is returned with HTTP 200, including
no match.
| match_status | Meaning | Property fields |
|---|---|---|
MATCHED |
One property identified | Populated |
MULTIPLE_MATCHES |
Several properties qualify and none is an exact match. matches lists them |
null |
NO_MATCH |
No property could be verified. reason_code says why |
null |
To resolve a MULTIPLE_MATCHES result, send the address and postcode of the
chosen entry in matches as a new request.
/pdi-property-enrichment/address-selector — let a user pick their address
at a postcode, then send the selection here./address/uprn-lookup-by-address — the UPRN only, when you do not need
property data yet./pdi-property-enrichment/core — enrich by UPRN when you already hold one.| Parameter | Type | Description | Example |
|---|---|---|---|
| address | string | The address as you hold it, as free text | 8 Wall Street, Blackpool |
| postcode | string | A full, valid UK postcode. Case and spacing are normalised | FY1 2EG |
The postcode is the search key: an address is only matched against properties at the postcode supplied.
data) — match fields| Field | Description |
|---|---|
| input_address | The address you sent |
| postcode | The postcode you sent, normalised |
| match_status | MATCHED, MULTIPLE_MATCHES or NO_MATCH |
| multiple_matches | true when several properties qualified |
| match_confidence | HIGH, MEDIUM or LOW when MATCHED; otherwise null |
| score | 0–1, how closely the matched address corresponds to your input, when MATCHED; otherwise null |
| uprn | Unique Property Reference Number, when MATCHED; otherwise null |
| matched_address | The address of the identified property, when MATCHED; otherwise null |
| address_source | ADDRESS_MASTER (PDI property register) or EPC (EPC register), when MATCHED or MULTIPLE_MATCHES; otherwise null |
| reason_code | Why a single property was not identified — see below. Null when MATCHED |
| matches | When MULTIPLE_MATCHES, the candidates, each with address, postcode, score and address_source. Candidates carry no UPRN or property data. Empty otherwise |
data) — property fieldsPopulated when match_status is MATCHED; null otherwise.
| Field | Description |
|---|---|
| address | The identified property's address |
| property_type | Type of property, for example Flat, Terraced, Semi-Detached, Detached or House. Null when not held |
| bedrooms | Number of bedrooms. Null when not held |
| total_floor_area | Floor area in square metres. Null when not held |
| source | The dataset each of property_type, bedrooms and total_floor_area came from, for example EPC, price_paid (HM Land Registry) or Portal (property listings) |
| council_tax | Council tax for the property — see below. Null when no council tax record is matched |
| epc | The latest Energy Performance Certificate — see below. Null when no certificate is held |
council_tax
| Field | Description |
|---|---|
| band | Council tax band: A–H in England and Scotland, A–I in Wales |
| authority | The billing authority |
| amount | The annual charge for that band at that authority, in GBP. It is the band charge, not a property-specific bill. Null when not held |
| year | The charging year amount applies to |
epc
| Field | Description |
|---|---|
| rating | Current energy rating, A–G |
| heating_type | The main heating description on the certificate |
| main_fuel | The main fuel as recorded on the certificate. Often null for Scottish properties |
| mains_gas_flag | Y or N where the certificate records it; otherwise null. Not recorded on Scottish certificates |
| fuel_category | The fuel, normalised: MAINS_GAS, COMMUNITY_HEAT, OFF_GRID_ELECTRIC, OFF_GRID_OIL, OFF_GRID_LPG, OFF_GRID_SOLID_FUEL or OFF_GRID_UNSPECIFIED. Null when it cannot be determined |
| lodgement_date | The date the certificate was lodged |
Use fuel_category rather than main_fuel in your logic: the raw fuel text is
worded differently between certificates and between nations.
| Code | Meaning |
|---|---|
MULTIPLE_CANDIDATES |
Several properties qualified. Choose from matches |
NO_CANDIDATE_PASSED_VERIFICATION |
Properties exist at the postcode, but none matched the address closely enough — often a missing or different flat or unit number |
NO_CANDIDATE_RETRIEVED |
Nothing at the postcode resembled the address. Check the postcode is right |
NO_RESOLVABLE_ADDRESS |
The address is a single name with no number, such as a town on its own |
Charged only when a property is identified (MATCHED). MULTIPLE_MATCHES,
NO_MATCH and rejected requests are not charged. The rate below applies to a
MATCHED result, and the X-PDI-Credits-Deducted response header states what
each accepted request cost.
💷 Credit Cost
4 credits per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| address required | string (Address) |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
Array of Include (strings) or Include (null) (Include) Optional response blocks: 'two_field_address', 'match_code'. Omit for the standard response. Unknown names are ignored. |
{- "address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 1,
- "totalElements": 1,
- "data": [
- {
- "input_address": "8 Wall Street, Blackpool",
- "postcode": "FY1 2EG",
- "match_status": "MATCHED",
- "multiple_matches": false,
- "match_confidence": "HIGH",
- "score": 1,
- "uprn": "100010837358",
- "matched_address": "8 Wall Street, Blackpool",
- "address_source": "ADDRESS_MASTER",
- "matches": [ ],
- "address": "8 Wall Street, Blackpool",
- "property_type": "Terraced",
- "bedrooms": 2,
- "total_floor_area": 53,
- "source": {
- "property_type": "price_paid",
- "bedrooms": "Portal",
- "total_floor_area": "EPC"
}, - "council_tax": {
- "band": "A",
- "authority": "Blackpool",
- "amount": 1675.48,
- "year": "2026"
}, - "epc": {
- "rating": "C",
- "heating_type": "Boiler and radiators, mains gas",
- "main_fuel": "mains gas (not community)",
- "mains_gas_flag": "Y",
- "fuel_category": "MAINS_GAS",
- "lodgement_date": "2026-02-12"
}
}
]
}Return the addresses held at a full UK postcode.
Addresses are returned in house-number order, one entry per address.
/v1/autocomplete/postcode/{postcode} — suggest full postcodes as a user
types, then call this endpoint with the one they choose./pdi-property-enrichment/core-by-address — pass a selected address and
postcode exactly as returned to get the UPRN, property attributes, council
tax and EPC for that property./address/uprn-lookup-by-address — pass a selected address and
postcode to get the UPRN only.Tip: send the
addressandpostcodevalues on unchanged. They are returned in the form those endpoints expect.
| Parameter | Type | Description | Example |
|---|---|---|---|
| postcode | string | A full, valid UK postcode | FY1 2EG |
data)| Field | Description |
|---|---|
| address | The address, without the postcode |
| postcode | The postcode |
A postcode with no addresses returns an empty data list.
Charged per call when at least one address is returned. A call that returns no
addresses is not charged, and neither is a rejected request. When addresses are
returned, the X-PDI-Credits-Deducted response header states the charge.
💷 Credit Cost
1 credit per request
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
{- "postcode": "FY1 2EG"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 41,
- "totalElements": 41,
- "data": [
- {
- "address": "1 Wall Street, Blackpool",
- "postcode": "FY1 2EG"
}, - {
- "address": "2 Wall Street, Blackpool",
- "postcode": "FY1 2EG"
}, - {
- "address": "3 Wall Street, Blackpool",
- "postcode": "FY1 2EG"
}
]
}Search for property deals including buy refurb refinance, biggest bargains, auction, planning approved, HMO Licensed and more properties and investment opportunities across the UK property market.
This endpoint allows you to search for auction property deals in the UK market. You can search by either providing a valid UK postcode or a location name.
| Parameter | Type | Description | Example | Required |
|---|---|---|---|---|
| postcode | string | A valid UK postcode | E16 2QU | Either postcode or location |
| location | string | A valid UK location name | London | Either postcode or location |
| radius | float | Search radius in miles (0.25-10) | 5 | No (default: 3) |
| property_type | string | Type of property | FLATS | No (default: ALL) |
| min_price | integer | Minimum property price in GBP | 100000 | No |
| max_price | integer | Maximum property price in GBP | 1000000 | No |
| limit | integer | Maximum number of results (1-100) | 20 | No (default: 20) |
| pageNumber | integer | Page number for pagination | 1 | No (default: 1) |
| Field | Description | Example |
|---|---|---|
| property_identifier | Unique property identifier | PDI-ZL01-65693544 |
| first_published_date | Date when property was first listed | 2023-09-26T16:36:06 |
| image | Property images object | {"thumbnail": "...", "image": "..."} |
| address | Property address | London W1F |
| postcode | Full UK postcode | W1F 0UH |
| property_type | Type of property | flat |
| num_bedrooms | Number of bedrooms | 2 |
| num_bathrooms | Number of bathrooms | 0 |
| price | Property price in GBP | 1650000 |
| reduced_increased_by | Price change percentage | 0.00 |
| agent | Agent information object | {"name": "...", "address": "...", "phone": "..."} |
| distance | Distance from search location in miles | 0.6 |
| listing_url | URL to property details | https://dataapi.propertydealsinsight.com/r/L02/d/for-sale/details/65693544/ |
Note: At least one of postcode or location must be provided. Both fields cannot be empty.
Price Filtering: Use min_price and max_price to filter results by property price. If max_price is provided, it must be greater than or equal to min_price.
Search Radius: The radius parameter controls the search area around the specified postcode or location. Default is 3 miles with a range of 0.25 to 10 miles.
💷 Credit Cost
1 credit per 20 results (minimum 1 credit will be deducted for each request)
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
a valid UK postcode (string) or a valid UK postcode (null) (a valid UK postcode) [ 6 .. 9 ] characters Default: "" | |
Location (string) or Location (null) (Location) A valid UK location name | |
| radius | number (radius in miles) [ 0.25 .. 10 ] Default: 3 radius in miles |
| property_type | string (PropertyTypeEnum) Enum: "ALL" "FLATS" "HOUSES" "LAND" |
Minimum Price (integer) or Minimum Price (null) (Minimum Price) Minimum property price in GBP | |
Maximum Price (integer) or Maximum Price (null) (Maximum Price) Maximum property price in GBP |
{- "limit": 20,
- "pageNumber": 1,
- "postcode": "E16 2QU",
- "location": "London",
- "radius": 3,
- "property_type": "ALL",
- "min_price": 100000,
- "max_price": 1000000
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 3,
- "pageNumber": 1,
- "size": 3,
- "totalElements": 138,
- "totalPages": 46,
- "data": [
- {
- "property_identifier": "PDI-ZL01-65693544",
- "first_published_date": "2023-09-26T16:36:06",
- "address": "London W1F",
- "postcode": "W1F 0UH",
- "property_type": "flat",
- "num_bedrooms": 2,
- "num_bathrooms": 0,
- "price": 1650000,
- "reduced_increased_by": "0.00",
- "agent": {
- "name": "Savills - National Auctions",
- "address": "33 Margaret Street, London",
- "phone": "020 8022 4160"
}, - "distance": 0.6,
}, - {
- "property_identifier": "PDI-ZL01-64744030",
- "first_published_date": "2023-05-30T18:13:50",
- "address": "Rochester Row, Westminster, London SW1P",
- "postcode": "SW1P 1JU",
- "property_type": "flat",
- "num_bedrooms": 3,
- "num_bathrooms": 2,
- "price": 1000000,
- "reduced_increased_by": "-20.00",
- "agent": {
- "name": "Foxtons - Pimlico & Westminster",
- "address": "166 Vauxhall Bridge Road, London",
- "phone": "020 3544 3891"
}, - "distance": 1.12,
}, - {
- "property_identifier": "PDI-RM01-143308583",
- "first_published_date": "2024-01-02T18:01:59",
- "address": "Flat 4, 7-11 Longmoore Street, London, SW1V 1JH",
- "postcode": "SW1V 1JH",
- "property_type": "Flat",
- "num_bedrooms": 3,
- "num_bathrooms": 3,
- "price": 1600000,
- "reduced_increased_by": "0.00",
- "agent": {
- "name": "BidX1",
- "address": "BidX1, London",
- "phone": "020 3910 6202"
}, - "distance": 1.31,
}
]
}PDI's Data Provider endpoints into the OPDA Smart Property Data Trust Framework (PDTF) Sandbox operated by Raidiam.
Auth: OAuth2 client_credentials with private_key_jwt, presented over mTLS, issued by matls-auth.directory.pdtf.raidiam.io.
Responses are signed via Detached JWS in the x-jws-signature header (PS256, RFC 7515 + RFC 7797).
Routes live under /opda/... and are excluded from PDI's internal JWT and credit-deduction middleware.
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| X-SSL-Client-Fingerprint | string (X-Ssl-Client-Fingerprint) Default: |
| uprn required | string (Uprn) |
PropertyType (string) or null | |
Internalareasqm (integer) or Internalareasqm (null) (Internalareasqm) | |
Bedrooms (integer) or Bedrooms (null) (Bedrooms) | |
Bathrooms (integer) or Bathrooms (null) (Bathrooms) | |
Receptions (integer) or Receptions (null) (Receptions) | |
| downloadPDF | boolean (Downloadpdf) Default: false |
{- "uprn": "string",
- "propertyType": "Detached",
- "internalAreaSqM": 5,
- "bedrooms": 15,
- "bathrooms": 10,
- "receptions": 10,
- "downloadPDF": false
}{- "transactionId": "string",
- "schemaVersion": "3.5.0",
- "propertyPack": {
- "address": {
- "line1": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "town": "Warrington"
}, - "dimensions": {
- "internalAreaSqM": 70
}, - "energyEfficiency": {
- "epcRating": "C"
}, - "priceInformation": {
- "price": 175000,
- "priceQualifier": "Guide Price"
}, - "propertyType": "Flat",
- "rooms": {
- "bathrooms": 1,
- "bedrooms": 2,
- "receptions": 1
}, - "uprn": "100022100237",
- "valuation": {
- "avm": 178000,
- "avmConfidence": 0.86,
- "avmRangeHigh": 186000,
- "avmRangeLow": 170000,
- "modelVersion": "pdi-avm-2026.04",
- "rentalPcm": 875,
- "yieldGross": 0.059
}
}, - "verifiedClaims": [
- { }
]
}| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| X-SSL-Client-Fingerprint | string (X-Ssl-Client-Fingerprint) Default: |
| uprn required | string (Uprn) |
PropertyType (string) or null | |
Internalareasqm (integer) or Internalareasqm (null) (Internalareasqm) | |
Bedrooms (integer) or Bedrooms (null) (Bedrooms) | |
Bathrooms (integer) or Bathrooms (null) (Bathrooms) | |
Receptions (integer) or Receptions (null) (Receptions) | |
| downloadPDF | boolean (Downloadpdf) Default: false |
{- "uprn": "string",
- "propertyType": "Detached",
- "internalAreaSqM": 5,
- "bedrooms": 15,
- "bathrooms": 10,
- "receptions": 10,
- "downloadPDF": false
}{- "transactionId": "string",
- "schemaVersion": "3.5.0",
- "propertyPack": {
- "address": {
- "line1": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "town": "Warrington"
}, - "dimensions": {
- "internalAreaSqM": 70
}, - "energyEfficiency": {
- "epcRating": "C"
}, - "priceInformation": {
- "price": 175000,
- "priceQualifier": "Guide Price"
}, - "propertyType": "Flat",
- "rooms": {
- "bathrooms": 1,
- "bedrooms": 2,
- "receptions": 1
}, - "uprn": "100022100237",
- "valuation": {
- "avm": 178000,
- "avmConfidence": 0.86,
- "avmRangeHigh": 186000,
- "avmRangeLow": 170000,
- "modelVersion": "pdi-avm-2026.04",
- "rentalPcm": 875,
- "yieldGross": 0.059
}
}, - "verifiedClaims": [
- { }
]
}| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
| uprn required | string (Uprn) |
PropertyType (string) or null | |
Internalareasqm (integer) or Internalareasqm (null) (Internalareasqm) | |
Bedrooms (integer) or Bedrooms (null) (Bedrooms) | |
Bathrooms (integer) or Bathrooms (null) (Bathrooms) | |
Receptions (integer) or Receptions (null) (Receptions) | |
| downloadPDF | boolean (Downloadpdf) Default: false |
{- "uprn": "string",
- "propertyType": "Detached",
- "internalAreaSqM": 5,
- "bedrooms": 15,
- "bathrooms": 10,
- "receptions": 10,
- "downloadPDF": false
}{- "transactionId": "string",
- "schemaVersion": "3.5.0",
- "propertyPack": {
- "address": {
- "line1": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "town": "Warrington"
}, - "dimensions": {
- "internalAreaSqM": 70
}, - "energyEfficiency": {
- "epcRating": "C"
}, - "priceInformation": {
- "price": 175000,
- "priceQualifier": "Guide Price"
}, - "propertyType": "Flat",
- "rooms": {
- "bathrooms": 1,
- "bedrooms": 2,
- "receptions": 1
}, - "uprn": "100022100237",
- "valuation": {
- "avm": 178000,
- "avmConfidence": 0.86,
- "avmRangeHigh": 186000,
- "avmRangeLow": 170000,
- "modelVersion": "pdi-avm-2026.04",
- "rentalPcm": 875,
- "yieldGross": 0.059
}
}, - "verifiedClaims": [
- { }
]
}| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
| uprn required | string (Uprn) |
PropertyType (string) or null | |
Internalareasqm (integer) or Internalareasqm (null) (Internalareasqm) | |
Bedrooms (integer) or Bedrooms (null) (Bedrooms) | |
Bathrooms (integer) or Bathrooms (null) (Bathrooms) | |
Receptions (integer) or Receptions (null) (Receptions) | |
| downloadPDF | boolean (Downloadpdf) Default: false |
{- "uprn": "string",
- "propertyType": "Detached",
- "internalAreaSqM": 5,
- "bedrooms": 15,
- "bathrooms": 10,
- "receptions": 10,
- "downloadPDF": false
}{- "transactionId": "string",
- "schemaVersion": "3.5.0",
- "propertyPack": {
- "address": {
- "line1": "Flat 2, 71 Knutsford Road",
- "postcode": "WA4 1AB",
- "town": "Warrington"
}, - "dimensions": {
- "internalAreaSqM": 70
}, - "energyEfficiency": {
- "epcRating": "C"
}, - "priceInformation": {
- "price": 175000,
- "priceQualifier": "Guide Price"
}, - "propertyType": "Flat",
- "rooms": {
- "bathrooms": 1,
- "bedrooms": 2,
- "receptions": 1
}, - "uprn": "100022100237",
- "valuation": {
- "avm": 178000,
- "avmConfidence": 0.86,
- "avmRangeHigh": 186000,
- "avmRangeLow": 170000,
- "modelVersion": "pdi-avm-2026.04",
- "rentalPcm": 875,
- "yieldGross": 0.059
}
}, - "verifiedClaims": [
- { }
]
}Returns the materialised Property Pack for a UPRN — i.e. the current-state body without the verified-claims envelope. This is the OPDA-spec equivalent of /appraisal/v1/property-pack/uprn. Body is signed via Detached JWS in x-jws-signature.
| uprn required | string (Uprn) [ 1 .. 24 ] characters |
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
nullReturns the full array of OIDC-IDA verified-claim envelopes (electronic_record and vouch) that back the property pack.
| uprn required | string (Uprn) [ 1 .. 24 ] characters |
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
nullReturns a flat map of JSON Pointer → provenance descriptor so a consumer can answer 'who said this field and when' in a single lookup without walking the claims array.
| uprn required | string (Uprn) [ 1 .. 24 ] characters |
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
nullAccepts an OIDC-IDA verified-claim envelope for a UPRN. Stub: the claim is logged and a deterministic acknowledgement id is returned, but nothing is persisted. Returns 202 Accepted.
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
| property name* additional property | any |
{ }nullAccepts a { uprn, callbackUrl } body and returns a subscription id. Stub: no callbacks will actually fire during the hackathon.
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
| property name* additional property | any |
{ }null| subscription_id required | string (Subscription Id) [ 1 .. 64 ] characters |
| X-SSL-Client-Verify | string (X-Ssl-Client-Verify) Default: |
| X-SSL-Client-DN | string (X-Ssl-Client-Dn) Default: |
| Authorization | string (Authorization) Default: |
{- "detail": [
- {
- "loc": [
- "string"
], - "msg": "string",
- "type": "string"
}
]
}Get planning applications for a given postcode or latitude and longitude with radius
Request Body
| Parameter | Type | Description | Example |
|---|---|---|---|
| postcode | string | A valid UK postcode (optional if lat/lon or location provided) | "E16 2QU" |
| latitude | float | Latitude coordinate (optional if postcode or location provided) | 51.5074 |
| longitude | float | Longitude coordinate (optional if postcode or location provided) | -0.0796 |
| location | string | Location name (optional if postcode or lat/lon provided) | "London" |
| radius | float | Search radius in meters (default: 1000, max: 5000) | 500 |
| limit | int | Limit the number of results per page (default: 100, max: 10000) | 20 |
| pageNumber | int | Page number (default: 1) | 1 |
| Parameter | Type | Description | Example |
|---|---|---|---|
| local_authority | string | Local authority handling the application | Birmingham |
| application_reference | string | Unique reference number | 2025/04888/PA |
| application_link | string | URL to view full application details | https://application.birmingham.gov.uk?ref=2025/04888/PA |
| application_type | string | Type of application | Outline, Full, Conditions |
| application_size_category | string | Categorizes planning applications by development scale and potential impact, derived from statutory processing requirements, development complexity, and dwelling count. This categorization helps supporting Material Information and impact-based proximity filtering. | Small, Medium, Large |
| application_description | string | Description of proposed work | Application to determine if prior approval is required for a proposed change of use from Commercial, Business & Service (Use Class E) to 13 no. 1 bed residential dwellings (Use Class C3) |
| address_location | string | Property address | 79 - 81 Chester Street Birmingham B6 4AE |
| postcode | string | Postcode | B6 4AE |
| date_received | string | Date application was submitted | 2025-08-29 |
| date_validated | string | Date application was validated | 2025-09-01 |
| decided_date | string | Date application was decided | 2025-09-15 |
| target_decision_date | string | Target decision date | 2025-09-15 |
| status | string | Current status | Awaiting decision, Registered |
| latitude | float | Latitude of the application | 51.541340000000000 |
| longitude | float | Longitude of the application | -0.303650000000000 |
| distance | float | Distance from search point in km | 1.05 |
💷 Credit Cost
1 credit per result (minimum 1 credit will be deducted for each request)
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit the number of results per page) [ 1 .. 10000 ] Default: 100 |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
a valid UK postcode (string) or a valid UK postcode (null) (a valid UK postcode) [ 6 .. 9 ] characters | |
Latitude (number) or Latitude (null) (Latitude) | |
Longitude (number) or Longitude (null) (Longitude) | |
Location (string) or Location (null) (Location) | |
Radius in meter (number) or Radius in meter (null) (Radius in meter) Default: 1000 |
{- "limit": 20,
- "pageNumber": 1,
- "postcode": "E16 2QU",
- "latitude": 52.4862,
- "longitude": -1.8904,
- "location": "London",
- "radius": 50
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 200,
- "pageNumber": 1,
- "size": 200,
- "totalElements": 833,
- "totalPages": 5,
- "data": [
- {
- "local_authority": "Brent",
- "application_identifier": "Brent/24/3694",
- "application_reference": "24/3694",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Proposed dropped kerb and vehicular cross over, 1x car parking space, alteration to front boundary wall, alteration to hard and soft landscaping including new retaining wall in front garden and cycle and refuse storage to front garden of dwellinghouse",
- "address_location": "61 Bridgewater Road, Wembley, HA0 1AQ",
- "postcode": "HA0 1AQ",
- "date_received": "2024-12-27",
- "date_validated": "2025-01-09",
- "decided_date": "2025-03-05T00:00:00",
- "status": "Decided",
- "latitude": "51.541340000000000",
- "longitude": "-0.303650000000000",
- "distance": 0.05
}, - {
- "local_authority": "Old Oak Park Royal",
- "application_identifier": "OldOakParkRoyal/22/0112/TEST666",
- "application_reference": "22/0112/TEST666",
- "application_type": "Conditions",
- "application_size_category": "Medium",
- "application_description": "Proposal. Search Applications. Typed something out wrong on purpose.",
- "address_location": "33, Jewson Ltd, Manor Farm Road, WEMBLEY, HA0 1AB",
- "postcode": "HA0 1AB",
- "date_received": "2024-10-20",
- "date_validated": "2024-10-22",
- "target_decision_date": "2025-06-04",
- "status": "Application Received",
- "latitude": "51.539777000000000",
- "longitude": "-0.303116000000000",
- "distance": 0.21
}, - {
- "local_authority": "Brent",
- "application_identifier": "Brent/24/3647",
- "application_reference": "24/3647",
- "application_type": "Amendment",
- "application_size_category": "Large",
- "application_description": "Non material amendment (Amendments to Condition 2 (approved drawing(s) and/or document(s)) and Condition 5 (Requirement of 684 residential units)) to allow: A second staircases in the larger blocks within the development Elevational Changes Change to unit numbers Change to private unit mix Change to Commercial/Affordable workspace Change to Amenity Space of Full Planning Permission application reference 20/3156 dated 21/01/2022 for Demolition of the existing buildings and the erection of a mixed use development of buildings ranging between 3 and 16 storeys in height, comprising residential units, flexible commercial floorspace, affordable workspaces and community use floorspace, associated car parking, landscaping and ancillary facilities (phased development), subject to a Deed of Agreement dated 11 January 2022 under Section 106 of the Town and Country Planning Act 1990.",
- "address_location": "1-26A, coachworks & storage areas, Abbey Manufacturing Estate, all units Edwards Yard, Mount Pleasant, Wembley, HA0 1UE",
- "postcode": "HA0 1UE",
- "date_received": "2024-12-20",
- "date_validated": "2025-01-13",
- "status": "Registered",
- "latitude": "51.541054000000000",
- "longitude": "-0.291668000000000",
- "distance": 0.81
}
]
}Get planning applications for a given UPRN and nearby applications.
Request Body
| Parameter | Type | Description | Example |
|---|---|---|---|
| uprn | string | A valid UK UPRN | "10000000269" |
| Parameter | Type | Description | Example |
|---|---|---|---|
| local_authority | string | Local authority handling the application | Birmingham |
| application_reference | string | Unique reference number | 2025/04888/PA |
| application_link | string | URL to view full application details | https://application.birmingham.gov.uk?ref=2025/04888/PA |
| application_type | string | Type of application | Outline, Full, Conditions |
| application_size_category | string | Categorizes planning applications by development scale and potential impact, derived from statutory processing requirements, development complexity, and dwelling count. This categorization helps supporting Material Information and impact-based proximity filtering. | Small, Medium, Large |
| application_description | string | Description of proposed work | Application to determine if prior approval is required for a proposed change of use from Commercial, Business & Service (Use Class E) to 13 no. 1 bed residential dwellings (Use Class C3) |
| address_location | string | Property address | 79 - 81 Chester Street Birmingham B6 4AE |
| postcode | string | Postcode | B6 4AE |
| date_received | string | Date application was submitted | 2025-08-29 |
| date_validated | string | Date application was validated | 2025-09-01 |
| decided_date | string | Date application was decided | 2025-09-15 |
| target_decision_date | string | Target decision date | 2025-09-15 |
| status | string | Current status | Awaiting decision, Registered |
| category | string | Category of application. If it is matching with the UPRN, then it will be 'source' otherwise it will be 'nearby' | source, nearby |
| latitude | float | Latitude of the application | 51.138136000000000 |
| longitude | float | Longitude of the application | -0.400334000000000 |
| distance | float | Distance from search point in km | 1.05 |
💷 Credit Cost
1 credit per result (minimum 1 credit will be deducted for each request)
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| uprn required | string (Uprn) |
| no_of_nearest_small_applications | integer (No Of Nearest Small Applications) Default: 20 |
| no_of_nearest_medium_applications | integer (No Of Nearest Medium Applications) Default: 3 |
| no_of_nearest_large_applications | integer (No Of Nearest Large Applications) Default: 2 |
{- "uprn": "10000000269",
- "no_of_nearest_small_applications": 10,
- "no_of_nearest_medium_applications": 3,
- "no_of_nearest_large_applications": 2
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 200,
- "pageNumber": 1,
- "size": 200,
- "totalElements": 833,
- "totalPages": 5,
- "data": [
- {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2022/1401",
- "application_reference": "MO/2022/1401",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Erection of replacement dwelling following demolition of existing dwelling.",
- "address_location": "Stonehouse Wood, Walliswood Green Road, Wallis Wood, Dorking, Surrey, RH5 5PL",
- "postcode": "RH5 5PL",
- "date_received": "2022-08-09",
- "date_validated": "2022-08-09",
- "decided_date": "2022-10-04T00:00:00",
- "target_decision_date": "2022-10-04",
- "status": "Decision made",
- "latitude": "51.138136000000000",
- "longitude": "-0.400334000000000",
- "distance": 0,
- "category": "source"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2022/2038",
- "application_reference": "MO/2022/2038",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Demolition of agricultural building (A3) and erection of 1 No. dwelling.",
- "address_location": "Stonehouse Wood, Walliswood Green Road, Wallis Wood, Dorking, Surrey, RH5 5PL",
- "postcode": "RH5 5PL",
- "date_received": "2022-12-05",
- "date_validated": "2023-01-04",
- "decided_date": "2023-03-01T00:00:00",
- "target_decision_date": "2023-03-01",
- "status": "Appeal decided",
- "latitude": "51.138136000000000",
- "longitude": "-0.400334000000000",
- "distance": 0,
- "category": "source"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2023/1270",
- "application_reference": "MO/2023/1270",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Erection of replacement dwelling following demolition of existing dwelling.",
- "address_location": "Stonehouse Wood, Walliswood Green Road, Wallis Wood, Dorking, Surrey, RH5 5PL",
- "postcode": "RH5 5PL",
- "date_received": "2023-08-18",
- "date_validated": "2023-08-18",
- "decided_date": "2023-10-24T00:00:00",
- "target_decision_date": "2023-10-13",
- "status": "Decision made",
- "latitude": "51.138136000000000",
- "longitude": "-0.400334000000000",
- "distance": 0,
- "category": "source"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2025/1048",
- "application_reference": "MO/2025/1048",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Erection of single storey front extension following removal of outbuilding.",
- "address_location": "Parklands Cottage, Horsham Road, Forest Green, Dorking, Surrey, RH5 5PN",
- "postcode": "RH5 5PN",
- "date_received": "2025-06-17",
- "date_validated": "2025-06-17",
- "decided_date": "2025-08-12T00:00:00",
- "target_decision_date": "2025-08-12",
- "status": "Determined",
- "latitude": "51.140712000000000",
- "longitude": "-0.398686000000000",
- "distance": 0.31,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2021/0913/1",
- "application_reference": "MO/2021/0913/1",
- "application_type": "Amendment",
- "application_size_category": "Small",
- "application_description": "Non-material amendment to allow change of pitched roofing material from timber shingle to concrete plain tile.",
- "address_location": "Parklands Cottage, Horsham Road, Forest Green, Dorking, Surrey, RH5 5PN",
- "postcode": "RH5 5PN",
- "date_received": "2023-04-04",
- "date_validated": "2023-04-04",
- "decided_date": "2023-05-04T00:00:00",
- "target_decision_date": "2023-05-02",
- "status": "Decision made",
- "latitude": "51.140712000000000",
- "longitude": "-0.398686000000000",
- "distance": 0.31,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2021/0913",
- "application_reference": "MO/2021/0913",
- "application_type": "Full",
- "application_size_category": "Small",
- "application_description": "Erection of single storey front extension following removal of outbuilding.",
- "address_location": "Parklands Cottage, Horsham Road, Forest Green, Dorking, Surrey, RH5 5PN",
- "postcode": "RH5 5PN",
- "date_received": "2021-05-13",
- "date_validated": "2021-05-13",
- "decided_date": "2021-07-05T00:00:00",
- "target_decision_date": "2021-07-08",
- "status": "Decision made",
- "latitude": "51.140712000000000",
- "longitude": "-0.398686000000000",
- "distance": 0.31,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2021/0253",
- "application_reference": "MO/2021/0253",
- "application_type": "Full",
- "application_size_category": "Medium",
- "application_description": "Erection of a sand school with timber fencing.",
- "address_location": "Wildwoods, Horsham Lane, Ewhurst, Surrey GU6 7SW.",
- "postcode": "GU6 7SW",
- "date_received": "2021-02-09",
- "date_validated": "2021-02-09",
- "decided_date": "2021-06-29T00:00:00",
- "target_decision_date": "2021-04-06",
- "status": "Decision made",
- "latitude": "51.140501000000000",
- "longitude": "-0.408243000000000",
- "distance": 0.61,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2024/1573",
- "application_reference": "MO/2024/1573",
- "application_type": "Full",
- "application_size_category": "Medium",
- "application_description": "Demolition of existing buildings on site and erection of 1 No. dwelling with detached garage.",
- "address_location": "Standon House Stables, Standon Lane, Ockley, Dorking, Surrey, RH5 5QR",
- "postcode": "RH5 5QR",
- "date_received": "2024-09-20",
- "date_validated": "2024-09-20",
- "decided_date": "2024-11-22T00:00:00",
- "target_decision_date": "2024-11-15",
- "status": "Decision made",
- "latitude": "51.138540000000000",
- "longitude": "-0.380021000000000",
- "distance": 1.42,
- "category": "nearby"
}, - {
- "local_authority": "Waverley",
- "application_identifier": "Waverley/PRA/2022/01798",
- "application_reference": "PRA/2022/01798",
- "application_type": "Other",
- "application_size_category": "Medium",
- "application_description": "General permitted development order 2015 schedule 2 part 6 - application for the erection of a forestry building (as amended by plans received 31/10/2022)",
- "address_location": "Wildwood, Horsham Lane, Ewhurst, Cranleigh, Surrey, GU6 7SW",
- "postcode": "GU6 7SW",
- "date_received": "2022-07-18",
- "date_validated": "2022-07-18",
- "decided_date": "2022-11-04T00:00:00",
- "target_decision_date": "2022-11-04",
- "latitude": "51.134312000000000",
- "longitude": "-0.420780000000000",
- "distance": 1.49,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2025/1061",
- "application_reference": "MO/2025/1061",
- "application_type": "Full",
- "application_size_category": "Large",
- "application_description": "Demolition of existing buildings and redevelopment to provide green and blue infrastructure including new hotel accommodation with lodges, health club and spa with indoor pool (Class C1) together with associated infrastructure (sub-stations, ancillary generator, foul drainage facility, access roads and parking), tennis and padel tennis courts, landscaping and refurbishment of existing swimming lake and provision of Biodiversity Net Gain.",
- "address_location": "Gatton Manor Hotel and Country Club, Standon Lane, Ockley, Dorking, Surrey, RH5 5PQ",
- "postcode": "RH5 5PQ",
- "date_received": "2025-06-18",
- "date_validated": "2025-06-26",
- "target_decision_date": "2025-09-25",
- "status": "Live",
- "latitude": "51.138900000000000",
- "longitude": "-0.388514000000000",
- "distance": 0.93,
- "category": "nearby"
}, - {
- "local_authority": "Mole Valley",
- "application_identifier": "MoleValley/MO/2024/1631",
- "application_reference": "MO/2024/1631",
- "application_type": "Full",
- "application_size_category": "Large",
- "application_description": "Retention of existing gate and proposed use to access land via Standon Lane, proposed single farm track.",
- "address_location": "Standon Homestead, Standon Lane, Ockley, Dorking, Surrey, RH5 5QR",
- "postcode": "RH5 5QR",
- "date_received": "2024-09-27",
- "date_validated": "2025-01-07",
- "decided_date": "2025-04-08T00:00:00",
- "target_decision_date": "2025-04-08",
- "status": "Decision made",
- "latitude": "51.137605000000000",
- "longitude": "-0.379411000000000",
- "distance": 1.46,
- "category": "nearby"
}
]
}Get a consolidated UK property profile combining Land Registry sold prices, EPC data, UPRN, council tax, and network coverage by address or UPRN.
Returns a consolidated property data object for a UK property identified by UPRN (Unique Property Reference Number). Resolves the address from UPRN, then returns Land Registry, EPC, council tax, and network coverage data where available.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| uprn | string | Unique Property Reference Number | 100021300679 |
GET /v1/pdiproperty/data/uprn?uprn=100021300679
The response combines property data from multiple sources where available.
| Field | Description |
|---|---|
| buildingReferenceNumber | EPC building reference number |
| currentEnergyRating | Current energy rating (A–G) |
| potentialEnergyRating | Potential energy rating (A–G) |
| currentEnergyEfficiency | Current energy efficiency score |
| potentialEnergyEfficiency | Potential energy efficiency score |
| propertyType | Property type from EPC register |
| builtForm | Built form (e.g. detached, mid-terrace) |
| inspectionDate | Date of the EPC inspection |
| lodgementDatetime | Date and time the EPC was lodged |
| totalFloorArea | Total floor area (sqm) |
| numberHabitableRooms | Number of habitable rooms |
| address | Property address |
| postcode | Property postcode |
| latitude | Latitude coordinate |
| longitude | Longitude coordinate |
| uprn | Unique Property Reference Number |
| Field | Description |
|---|---|
| price | Land Registry sold price |
| dateOfTrn | Date of transaction |
| postcode | Property postcode |
| duration | Tenure (Freehold/Leasehold) |
| address | Property address |
| ppdCtgType | Property category (e.g. terraced, flat) |
| Field | Description |
|---|---|
| uprn | Unique Property Reference Number |
| latitude | Latitude coordinate |
| longitude | Longitude coordinate |
Ofcom broadband availability including predicted download and upload speeds.
Ofcom mobile network coverage for voice and data (EE, Three, O2, Vodafone).
Council tax band and local authority information for the property.
Permissions required: CLIENT or PDI_Valuation_access
| uprn required | string Example: uprn=100021300679 Unique Property Reference Number |
| userContext required | string Example: youremail@yourdomain.com Email address of the API user |
{- "propertyObjectEpc": [
- {
- "buildingReferenceNumber": "1324796178",
- "currentEnergyRating": "D",
- "potentialEnergyRating": "C",
- "currentEnergyEfficiency": "57",
- "potentialEnergyEfficiency": "77",
- "propertyType": "House",
- "builtForm": "Mid-Terrace",
- "inspectionDate": "2018-01-12",
- "constituency": "E14000906",
- "lodgementDatetime": "2018-01-12 14:22:50.0",
- "transactionType": "marketed sale",
- "totalFloorArea": "92.0",
- "floorLevel": "NODATA!",
- "flatTopStorey": "4",
- "flatStoreyCount": "5",
- "extensionCount": "0",
- "numberHabitableRooms": "6",
- "floorHeight": "10 feet",
- "address": "78, Durley Avenue",
- "localAuthorityLabel": "Harrow",
- "constituencyLabel": "Ruislip, Northwood and Pinner",
- "postTown": "PINNER",
- "tenure": "owner-occupied",
- "postcode": "HA5 1JH",
- "latitude": "55.3781",
- "longitude": "3.436",
- "uprn": "100021300679"
}
], - "propertyObjectPpd": [
- {
- "price": "472000",
- "dateOfTrn": "2018-12-14 00:00:00.0",
- "postcode": "HA5 1JH",
- "oldNew": "N",
- "duration": "F",
- "address": "78, DURLEY AVENUE",
- "locality": "Near DURLEY ELECTRICAL LIMITED",
- "district": "HARROW",
- "ppdCounty": "GREATER LONDON",
- "ppdCtgType": "B",
- "recStat": "A"
}
], - "propertyObjectUprn": [
- {
- "uprn": "100021300679",
- "getxCoordinate": "512347.0",
- "getyCoordinate": "188164.0",
- "latitude": "51.5811507",
- "longitude": "-0.3799553"
}
], - "broadbandCoverageResponse": {
- "PostCode": "HA51JH",
- "Availability": [
- {
- "UPRN": 100021300679,
- "AddressShortDescription": "78, DURLEY AVENUE",
- "PostCode": "HA51JH",
- "MaxBbPredictedDown": 17,
- "MaxBbPredictedUp": 1,
- "MaxSfbbPredictedDown": 80,
- "MaxSfbbPredictedUp": 20,
- "MaxUfbbPredictedDown": 1000,
- "MaxUfbbPredictedUp": 50,
- "MaxPredictedDown": 1000,
- "MaxPredictedUp": 50
}
], - "ErrorMessage": "Not found"
}, - "mobileCoverageResponse": {
- "PostCode": "HA51JH",
- "Availability": [
- {
- "UPRN": 100021300679,
- "AddressShortDescription": "78, DURLEY AVENUE",
- "PostCode": "HA51JH",
- "EEVoiceOutdoor": 3,
- "EEVoiceOutdoorNo4g": 3,
- "EEVoiceIndoor": 4,
- "EEVoiceIndoorNo4g": 3,
- "EEDataOutdoor": 4,
- "EEDataOutdoorNo4g": 3,
- "EEDataIndoor": 4,
- "EEDataIndoorNo4g": 3,
- "H3VoiceOutdoor": 3,
- "H3VoiceOutdoorNo4g": 3,
- "H3VoiceIndoor": 3,
- "H3VoiceIndoorNo4g": 3,
- "H3DataOutdoor": 4,
- "H3DataOutdoorNo4g": 3,
- "H3DataIndoor": 3,
- "H3DataIndoorNo4g": 3,
- "TFVoiceOutdoor": 3,
- "TFVoiceOutdoorNo4g": 3,
- "TFVoiceIndoor": 4,
- "TFVoiceIndoorNo4g": 4,
- "TFDataOutdoor": 4,
- "TFDataOutdoorNo4g": 3,
- "TFDataIndoor": 4,
- "TFDataIndoorNo4g": 4,
- "VOVoiceOutdoor": 3,
- "VOVoiceOutdoorNo4g": 3,
- "VOVoiceIndoor": 4,
- "VOVoiceIndoorNo4g": 4,
- "VODataOutdoor": 4,
- "VODataOutdoorNo4g": 3,
- "VODataIndoor": 4,
- "VODataIndoorNo4g": 4
}
], - "ErrorMessage": "Not found"
}, - "councilTaxResponse": {
- "isSuccess": true,
- "message": "success",
- "totalCount": 1,
- "data": [
- {
- "address": "78 DURLEY AVENUE, Pinner, Middx, HA5 1JH",
- "band": "E",
- "localAuthority": "Harrow",
- "taxAmount": "2131",
- "localAuthorityReferenceNumber": "1114100780000",
- "improvementIndicator": "No",
- "WithEffectFrom": "01/04/2023",
- "mixedUseProperty": "No",
- "courtCode": "None"
}
], - "code": 200,
- "errorType": "TECHINCAL",
- "getxPDIEndToEndId": "40c40930-ce7d-4989-b4b7-a696f9d8967f",
- "result": { },
- "lastSearchedDate": "2019-08-24T14:15:22Z",
- "xpdirequestId": "string"
}
}Returns a consolidated property data object for a specific UK property address. Includes Land Registry sold prices, EPC records, UPRN and coordinates, council tax band, and broadband and mobile coverage where available.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| address | string | Full or partial UK property address | 78, Durley Avenue | |
| postcode | string | Valid UK postcode for the address | HA5 1JH |
GET /v1/pdiproperty/data/address?postcode=HA5 1JH&address=78, Durley Avenue
The response combines property data from multiple sources where available.
| Field | Description |
|---|---|
| buildingReferenceNumber | EPC building reference number |
| currentEnergyRating | Current energy rating (A–G) |
| potentialEnergyRating | Potential energy rating (A–G) |
| currentEnergyEfficiency | Current energy efficiency score |
| potentialEnergyEfficiency | Potential energy efficiency score |
| propertyType | Property type from EPC register |
| builtForm | Built form (e.g. detached, mid-terrace) |
| inspectionDate | Date of the EPC inspection |
| lodgementDatetime | Date and time the EPC was lodged |
| totalFloorArea | Total floor area (sqm) |
| numberHabitableRooms | Number of habitable rooms |
| address | Property address |
| postcode | Property postcode |
| latitude | Latitude coordinate |
| longitude | Longitude coordinate |
| uprn | Unique Property Reference Number |
| Field | Description |
|---|---|
| price | Land Registry sold price |
| dateOfTrn | Date of transaction |
| postcode | Property postcode |
| duration | Tenure (Freehold/Leasehold) |
| address | Property address |
| ppdCtgType | Property category (e.g. terraced, flat) |
| Field | Description |
|---|---|
| uprn | Unique Property Reference Number |
| latitude | Latitude coordinate |
| longitude | Longitude coordinate |
Ofcom broadband availability including predicted download and upload speeds.
Ofcom mobile network coverage for voice and data (EE, Three, O2, Vodafone).
Council tax band and local authority information for the property.
Permissions required: CLIENT or PDI_Valuation_access
| postcode required | string Example: postcode=HA5 1JH Valid UK postcode for the address |
| address required | string Example: address=78, Durley Avenue Full or partial UK property address |
| userContext required | string Example: youremail@yourdomain.com Email address of the API user |
{- "propertyObjectEpc": [
- {
- "buildingReferenceNumber": "1324796178",
- "currentEnergyRating": "D",
- "potentialEnergyRating": "C",
- "currentEnergyEfficiency": "57",
- "potentialEnergyEfficiency": "77",
- "propertyType": "House",
- "builtForm": "Mid-Terrace",
- "inspectionDate": "2018-01-12",
- "constituency": "E14000906",
- "lodgementDatetime": "2018-01-12 14:22:50.0",
- "transactionType": "marketed sale",
- "totalFloorArea": "92.0",
- "floorLevel": "NODATA!",
- "flatTopStorey": "4",
- "flatStoreyCount": "5",
- "extensionCount": "0",
- "numberHabitableRooms": "6",
- "floorHeight": "10 feet",
- "address": "78, Durley Avenue",
- "localAuthorityLabel": "Harrow",
- "constituencyLabel": "Ruislip, Northwood and Pinner",
- "postTown": "PINNER",
- "tenure": "owner-occupied",
- "postcode": "HA5 1JH",
- "latitude": "55.3781",
- "longitude": "3.436",
- "uprn": "100021300679"
}
], - "propertyObjectPpd": [
- {
- "price": "472000",
- "dateOfTrn": "2018-12-14 00:00:00.0",
- "postcode": "HA5 1JH",
- "oldNew": "N",
- "duration": "F",
- "address": "78, DURLEY AVENUE",
- "locality": "Near DURLEY ELECTRICAL LIMITED",
- "district": "HARROW",
- "ppdCounty": "GREATER LONDON",
- "ppdCtgType": "B",
- "recStat": "A"
}
], - "propertyObjectUprn": [
- {
- "uprn": "100021300679",
- "getxCoordinate": "512347.0",
- "getyCoordinate": "188164.0",
- "latitude": "51.5811507",
- "longitude": "-0.3799553"
}
], - "broadbandCoverageResponse": {
- "PostCode": "HA51JH",
- "Availability": [
- {
- "UPRN": 100021300679,
- "AddressShortDescription": "78, DURLEY AVENUE",
- "PostCode": "HA51JH",
- "MaxBbPredictedDown": 17,
- "MaxBbPredictedUp": 1,
- "MaxSfbbPredictedDown": 80,
- "MaxSfbbPredictedUp": 20,
- "MaxUfbbPredictedDown": 1000,
- "MaxUfbbPredictedUp": 50,
- "MaxPredictedDown": 1000,
- "MaxPredictedUp": 50
}
], - "ErrorMessage": "Not found"
}, - "mobileCoverageResponse": {
- "PostCode": "HA51JH",
- "Availability": [
- {
- "UPRN": 100021300679,
- "AddressShortDescription": "78, DURLEY AVENUE",
- "PostCode": "HA51JH",
- "EEVoiceOutdoor": 3,
- "EEVoiceOutdoorNo4g": 3,
- "EEVoiceIndoor": 4,
- "EEVoiceIndoorNo4g": 3,
- "EEDataOutdoor": 4,
- "EEDataOutdoorNo4g": 3,
- "EEDataIndoor": 4,
- "EEDataIndoorNo4g": 3,
- "H3VoiceOutdoor": 3,
- "H3VoiceOutdoorNo4g": 3,
- "H3VoiceIndoor": 3,
- "H3VoiceIndoorNo4g": 3,
- "H3DataOutdoor": 4,
- "H3DataOutdoorNo4g": 3,
- "H3DataIndoor": 3,
- "H3DataIndoorNo4g": 3,
- "TFVoiceOutdoor": 3,
- "TFVoiceOutdoorNo4g": 3,
- "TFVoiceIndoor": 4,
- "TFVoiceIndoorNo4g": 4,
- "TFDataOutdoor": 4,
- "TFDataOutdoorNo4g": 3,
- "TFDataIndoor": 4,
- "TFDataIndoorNo4g": 4,
- "VOVoiceOutdoor": 3,
- "VOVoiceOutdoorNo4g": 3,
- "VOVoiceIndoor": 4,
- "VOVoiceIndoorNo4g": 4,
- "VODataOutdoor": 4,
- "VODataOutdoorNo4g": 3,
- "VODataIndoor": 4,
- "VODataIndoorNo4g": 4
}
], - "ErrorMessage": "Not found"
}, - "councilTaxResponse": {
- "isSuccess": true,
- "message": "success",
- "totalCount": 1,
- "data": [
- {
- "address": "78 DURLEY AVENUE, Pinner, Middx, HA5 1JH",
- "band": "E",
- "localAuthority": "Harrow",
- "taxAmount": "2131",
- "localAuthorityReferenceNumber": "1114100780000",
- "improvementIndicator": "No",
- "WithEffectFrom": "01/04/2023",
- "mixedUseProperty": "No",
- "courtCode": "None"
}
], - "code": 200,
- "errorType": "TECHINCAL",
- "getxPDIEndToEndId": "40c40930-ce7d-4989-b4b7-a696f9d8967f",
- "result": { },
- "lastSearchedDate": "2019-08-24T14:15:22Z",
- "xpdirequestId": "string"
}
}Get automated UK property sales valuations and recent sold price data. Send property details to receive an AVM valuation, confidence score, and comparable sale history for any UK address.
Returns recent sold price records for properties in a UK postcode area. Use this to view Land Registry sale prices, sold dates, floor areas, and tenure for comparable homes near the property you are evaluating.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| postcode | string | Valid UK postcode to search recent sold prices for | L18 0HX |
UK postcode to search for recent sold property prices.
object (Header) Header parameters | |
| postcode required | string Postcode |
| town_city required | string Town |
| address | string Address of the property |
| district | string District |
| bedrooms | integer <int32> Number of bedrooms |
| receptions | integer <int32> Number of reception rooms |
| prop_type | string Type of property |
| build_type | string Type of building |
| internalarea | string Internal area of the property |
| internalAreaFeet | string Internal area of the property in feet |
| numberOfGarage | integer <int32> Number of garage spaces |
| numberOfBaths | integer <int32> Number of bathrooms |
| typeOfGarden | string Type of garden |
| buildYear | string Build era. Values: pre (Pre 1914), between (Between 1914-2000), new (After 2000). Only pre and new adjust valuation |
| currentCondition | string Current condition of the property |
| parking | string Parking availability |
| priceOrValuation | string Price or valuation of the property |
| areaUnit | string Area unit |
| finishQuality | string Quality of finish |
| minPrice | number <float> Minimum price |
| maxPrice | number <float> Maximum price |
| uprn | string UPRN |
Request: POST /v1/sold/price
{- "postcode": "L18 0HX"
}Response: POST /v1/sold/price
{- "isSuccess": true,
- "soldPrices": [
- {
- "area": "LIVERPOOL, L18",
- "address": "29, MAYVILLE ROAD ",
- "postcode": "L18 0HG",
- "propertyTypeBuiltform": "Terraced",
- "noOfhabitablerooms": "5",
- "lastSoldPrice": "500000",
- "lastSoldDate": "14 Apr 2026",
- "totalfloorarea": "138",
- "pricePerSQM": "3623.19",
- "duration": "Freehold"
}, - {
- "area": "LIVERPOOL, L18",
- "address": "37, MAYVILLE ROAD ",
- "postcode": "L18 0HG",
- "propertyTypeBuiltform": "Terraced",
- "noOfhabitablerooms": "6",
- "lastSoldPrice": "424500",
- "lastSoldDate": "19 Mar 2026",
- "totalfloorarea": "152",
- "pricePerSQM": "2792.76",
- "duration": "Freehold"
}, - {
- "area": "LIVERPOOL, L18",
- "address": "3, FLAT 2 HALLVILLE ROAD ",
- "postcode": "L18 0HP",
- "propertyTypeBuiltform": "Flat",
- "noOfhabitablerooms": "",
- "lastSoldPrice": "165000",
- "lastSoldDate": "17 Dec 2025",
- "totalfloorarea": "",
- "pricePerSQM": "",
- "duration": "Leasehold"
}
]
}Get an automated sales valuation for a UK property. Send the address, postcode, and property details, and our automated valuation model (AVM) analyses local sold prices, comparable properties, and EPC data to return an estimated market value, confidence level, and supporting property information.
| Parameter | Type | Description | Example | Optional |
|---|---|---|---|---|
| address | string | Full UK property address used to match sold prices and EPC records | 5 Trafalgar Cottages, Tackleway | |
| postcode | string | Valid UK postcode | TN34 3DF | |
| prop_type | string | Property type. Values: Detached, Terraced, Semi-Detached, Flat | Terraced | |
| bedrooms | integer | Number of bedrooms (also used with receptions for comparable data count) | 2 | |
| internalarea | string | Internal floor area (in SQM) as a number (used in valuation calculation) | 58 | |
| numberOfBaths | integer | Number of bathrooms. Adjustments apply for 2, 3 | 2 | Y |
| receptions | integer | Number of reception rooms | 0 | Y |
| buildYear | string | Build era. Values: pre (Pre 1914), between (Between 1914-2000, no adjustment), new (After 2000). | pre | Y |
| currentCondition | string | Property condition. Values: excellent, good, modernisation, rundown, newBuildBasic, newBuildAverage, newBuildPremium | good | Y |
| typeOfGarden | string | Garden size. Values: small, large, huge | large | Y |
| parking | string | Number of parking spaces as a number. Values: 1, 2, 3 | 1 | Y |
| uprn | string | Unique Property Reference Number. Optional; improves last sold and EPC matching if known | 100062573471 | Y |
Property address, postcode, characteristics, and standard PDI request header.
object (Header) Header parameters | |
| postcode required | string Postcode |
| town_city required | string Town |
| address | string Address of the property |
| district | string District |
| bedrooms | integer <int32> Number of bedrooms |
| receptions | integer <int32> Number of reception rooms |
| prop_type | string Type of property |
| build_type | string Type of building |
| internalarea | string Internal area of the property |
| internalAreaFeet | string Internal area of the property in feet |
| numberOfGarage | integer <int32> Number of garage spaces |
| numberOfBaths | integer <int32> Number of bathrooms |
| typeOfGarden | string Type of garden |
| buildYear | string Build era. Values: pre (Pre 1914), between (Between 1914-2000), new (After 2000). Only pre and new adjust valuation |
| currentCondition | string Current condition of the property |
| parking | string Parking availability |
| priceOrValuation | string Price or valuation of the property |
| areaUnit | string Area unit |
| finishQuality | string Quality of finish |
| minPrice | number <float> Minimum price |
| maxPrice | number <float> Maximum price |
| uprn | string UPRN |
Request: POST /v1/property_evaluation
{- "address": "5 Trafalgar Cottages, Tackleway",
- "postcode": "TN34 3DF",
- "prop_type": "Terraced",
- "bedrooms": 2,
- "buildYear": "new",
- "currentCondition": "good",
- "numberOfBaths": 2,
- "typeOfGarden": "large",
- "internalarea": "58",
- "parking": "1",
- "receptions": 0,
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "AGENT_PREMIUM_YEARLY",
- "role": "AGENT_PREMIUM_YEARLY",
- "X-PDI-Channel-Id": "PDI digital",
- "X-PDI-Process-Name": "property insight"
}
}Response: POST /v1/property_evaluation
{- "address": "5 Trafalgar Cottages, Tackleway",
- "postcode": "TN34 3DF",
- "propertyType": "T",
- "noOfhabitablerooms": 2,
- "totalfloorarea": 58,
- "lastSoldPrice": "220000",
- "lastSoldDate": "2013-08-07 00:00:00.0",
- "priceChange": "55777",
- "avgPricePerSqM": 4802.81,
- "propertyInsightScore": 275777,
- "dataPointAssessed": 3482,
- "valuationVariance": 7.5,
- "valuationPostcodematchLevel": "Exact Postcode",
- "confidenceLevel": "High",
- "duration": "Freehold",
- "uprn": "100062573471",
- "avgPricePerSqFt": 446.19,
- "areaUnit": "SQM",
- "isSuccess": true,
- "xPDIEndToEndId": "460a23a2-e38b-40e4-a10f-1571cbd4b5bb",
- "energyPerformance": {
- "certificateNumber": "221661461052009120215405202019151",
- "currentEnergyRating": "E",
- "potentialEnergyRating": "E",
- "currentEnergyEfficiency": "42",
- "potentialEnergyEfficiency": "47",
- "inspectionDate": "2009-12-01",
- "lodgementDate": "2009-12-02",
- "epcExpiryDate": "2019-12-02",
- "buildingReferenceNumber": "1126127568",
- "builtForm": "Mid-Terrace"
}
}Get list of properties owned by company along with title number, this list includes any overseas owners too
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| outcode required | string (Outcode) [ 2 .. 4 ] characters ^[A-Z]{1,2}\d[A-Z\d]? provide UK outcode |
{- "limit": 20,
- "pageNumber": 1,
- "outcode": "BN14"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "limit": 20,
- "pageNumber": 1,
- "size": 2,
- "totalElements": 2,
- "totalPages": 1,
- "data": [
- {
- "company_registered_at": "UK",
- "title_number": "WSX218608",
- "tenure": "Leasehold",
- "property_address": "Flat 35, Cissbury Court, Findon Road, Worthing (BN14 0BF)",
- "district": "WORTHING",
- "county": "WEST SUSSEX",
- "region": "SOUTH EAST",
- "postcode": "BN14 0BF",
- "price_paid": 0,
- "proprietor_name_1": "WHITEFIELD CHRISTIAN TRUST",
- "company_registration_no_1": "",
- "proprietorship_category_1": "Corporate Body",
- "proprietor_1_address_1": "St Audreys, South Street, Wincanton BA9 9DR",
- "proprietor_1_address_2": "",
- "proprietor_1_address_3": "",
- "proprietor_name_2": "",
- "company_registration_no_2": "",
- "proprietorship_category_2": "",
- "proprietor_2_address_1": "",
- "proprietor_2_address_2": "",
- "proprietor_2_address_3": "",
- "proprietor_name_3": "",
- "company_registration_no_3": "",
- "proprietorship_category_3": "",
- "proprietor_3_address_1": "",
- "proprietor_3_address_2": "",
- "proprietor_3_address_3": "",
- "proprietor_name_4": "",
- "company_registration_no_4": "",
- "proprietorship_category_4": "",
- "proprietor_4_address_1": "",
- "proprietor_4_address_2": "",
- "proprietor_4_address_3": "",
- "date_proprietor_added": "2015-09-02T00:00:00"
}, - {
- "company_registered_at": "UK",
- "title_number": "WSX223423",
- "tenure": "Leasehold",
- "property_address": "31 Cissbury Court, Findon Road, Worthing, (BN14 0BF)",
- "district": "WORTHING",
- "county": "WEST SUSSEX",
- "region": "SOUTH EAST",
- "postcode": "BN14 0BF",
- "price_paid": 90000,
- "proprietor_name_1": "RETIREMENT RENTALS LIMITED",
- "company_registration_no_1": "03441914",
- "proprietorship_category_1": "Limited Company or Public Limited Company",
- "proprietor_1_address_1": "80 Cheapside, London EC2V 6EE",
- "proprietor_1_address_2": "",
- "proprietor_1_address_3": "",
- "proprietor_name_2": "",
- "company_registration_no_2": "",
- "proprietorship_category_2": "",
- "proprietor_2_address_1": "",
- "proprietor_2_address_2": "",
- "proprietor_2_address_3": "",
- "proprietor_name_3": "",
- "company_registration_no_3": "",
- "proprietorship_category_3": "",
- "proprietor_3_address_1": "",
- "proprietor_3_address_2": "",
- "proprietor_3_address_3": "",
- "proprietor_name_4": "",
- "company_registration_no_4": "",
- "proprietorship_category_4": "",
- "proprietor_4_address_1": "",
- "proprietor_4_address_2": "",
- "proprietor_4_address_3": "",
- "date_proprietor_added": "2018-10-05T00:00:00"
}
]
}This endpoint provides comprehensive rental valuation estimates for properties across the UK. Our algorithm analyzes local market data, property characteristics, and comparable rentals to deliver bank grade valuations.
| Parameter | Type | Description | Example | Required |
|---|---|---|---|---|
| postcode | string | A valid UK postcode | HA1 1SE | Either postcode, location, or latitude/longitude |
| location | string | A valid UK location name | London | Either postcode, location, or latitude/longitude |
| latitude | string | Latitude of the location | 51.5074 | Either postcode, location, or latitude/longitude |
| longitude | string | Longitude of the location | -0.1278 | Either postcode, location, or latitude/longitude |
| property_type | string | Type of property | House | Yes |
| number_of_beds | string | Number of bedrooms | 3 | Yes |
| Field | Description | Example |
|---|---|---|
| rentalvaluation | Monthly rental valuation estimate in GBP | 3517 |
| isSuccess | Request success status | true |
| message | Response message or error details | "Success" |
Rental valuation request parameters
object (Header) Header parameters | |
| location | string A valid UK location (i.e. HA1 1SE, London, etc.) |
| postcode | string A valid UK postcode |
| latitude | string Latitude of the location |
| longitude | string Longitude of the location |
| property_type required | string Type of the property (e.g., house, apartment) |
| number_of_beds required | string Number of bedrooms in the property |
Using Postcode
{- "postcode": "HA1 1SE",
- "property_type": "Detached",
- "number_of_beds": "3",
- "header": {
- "userContext": "youremail@yourdomain.com",
- "userPackage": "API Enterprise 30K",
- "role": "API Enterprise 30K",
- "X-PDI-Channel-Id": "PDI Data API",
- "X-PDI-Process-Name": "rental valuation"
}
}Successful Response
{- "isSuccess": true,
- "rentalvaluation": 3368,
- "xPDIEndToEndId": "28374773-8da9-4cf1-82e3-18afa5d5db42"
}Returns water and sewerage supplier information for the given UK postcode using PDI_PortalsData.pdi_postcode database and Ofwat boundary data.
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 The maximum number of results to return. |
| pageNumber | integer (Pagenumber) >= 1 Default: 1 Page number |
| postcode required | string (a valid UK postcode) [ 6 .. 9 ] characters |
{- "limit": 20,
- "pageNumber": 1,
- "postcode": "HA1 1SE"
}{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 1,
- "data": [
- {
- "water": "Affinity Water",
- "sewerage": "Thames Water",
- "latitude": 51.58715489999999,
- "longitude": -0.3374974,
- "postcode": "HA1 1SE",
- "region": "London"
}
]
}Returns a comprehensive list of all water supply and sewerage service companies operating in England and Wales.
| X-PDI-Authorization required | string (X-Pdi-Authorization) Example: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyX25hbWUiOiJt... |
| X-PDI-Channel-Id required | string (X-Pdi-Channel-Id) Example: PDI Data API |
| X-PDI-End-To-End-Id required | string (X-Pdi-End-To-End-Id) Example: 6e296dc9-4ea7-4483-b6bc-79758b6b5139 |
| X-PDI-Process-Name required | string (X-Pdi-Process-Name) Example: property insight |
| role required | string (Role) Example: API Enterprise 30K |
| userContext required | string (Usercontext) Example: youremail@yourdomain.com |
| userPackage required | string (Userpackage) Example: API Enterprise 30K |
| X-PDI-API-Name | string (X-Pdi-Api-Name) Example: api name |
{- "code": 200,
- "isSuccess": true,
- "message": "",
- "size": 2,
- "data": [
- {
- "type": "water",
- "suppliers": [
- "Affinity Water",
- "Albion Eco Ltd",
- "Anglian Water",
- "Bristol Water",
- "Dwr Cymru Welsh Water",
- "Northumbrian Water",
- "Severn Trent Water",
- "South West Water",
- "Southern Water",
- "Thames Water",
- "United Utilities",
- "Wessex Water",
- "Yorkshire Water"
]
}, - {
- "type": "sewerage",
- "suppliers": [
- "Anglian Water",
- "Dwr Cymru Welsh Water",
- "Northumbrian Water",
- "Severn Trent Water",
- "South West Water",
- "Southern Water",
- "Thames Water",
- "United Utilities",
- "Wessex Water",
- "Yorkshire Water"
]
}
]
}Get water supplier details by postcode.
object (Header) Header parameters | |
| postcode required | string Postcode |
{- "header": {
- "userContext": "youremail@yourdomain.com",
- "userToken": "eyJhbGciOiJSUzI1NiJ9.eyJ1c",
- "userPackage": "API Enterprise 30K",
- "role": "API Enterprise 30K",
- "X-PDI-Channel-Id": "PDI Data API",
- "X-PDI-Process-Name": "property insight",
- "X-PDI-API-Name": "api name",
- "X-PDI-End-To-End-Id": "6e296dc9-4ea7-4483-b6bc-79758b6b5139",
- "X-PDI-RequestId": "43555"
}, - "postcode": "BT1 1GJ"
}{- "code": 200,
- "isSuccess": true,
- "message": "success",
- "limit": 20,
- "pageNumber": 1,
- "size": 1,
- "totalElements": 1,
- "totalPages": 1,
- "data": [
- {
- "address": "78 DURLEY AVENUE, Pinner, Middx, HA5 1JH",
- "band": "E",
- "localAuthority": "Harrow",
- "taxAmount": "2131",
- "localAuthorityReferenceNumber": "1114100780000",
- "improvementIndicator": "No",
- "WithEffectFrom": "01/04/2023",
- "mixedUseProperty": "No",
- "courtCode": "None"
}
], - "metadata": { },
- "errorType": "TECHINCAL",
- "getxPDIEndToEndId": "40c40930-ce7d-4989-b4b7-a696f9d8967f",
- "result": { },
- "lastSearchedDate": "2019-08-24T14:15:22Z",
- "xpdirequestId": "string"
}