Property intelligence
Rebuild Cost Estimate API
Estimate what a home would cost to rebuild, as floor area times build cost rates per square metre, with low, average and high figures.
Endpoint
/api/v1/property/rebuild-costCosts 1 credit. Estimates are rounded to the nearest £1,000. If an address matches several homes the API returns 409 MULTIPLE_MATCHES with the number of matches; use a uprn, a fuller address, or the Property Attributes API to list them. No EPC returns 404 and is not charged.
Billing details in the response
Successful chargeable JSON responses include a top-level billing object. The endpoint examples on this page focus on the endpoint-specific data, so this repeated block may not be shown in every example.
"billing": {
"mode": "prepaid",
"creditsCharged": 1,
"creditsRemaining": 1999,
"creditsRefreshAt": "2026-08-14T09:30:00.000Z"
}| Field or header | Meaning |
|---|---|
| billing.creditsCharged X-Credits-Charged | Credits charged by this call. Failed and non-chargeable calls return 0 in the header. |
| billing.creditsRemaining X-Credits-Remaining | The credit balance after the call. |
| billing.creditsRefreshAt X-Credits-Refresh-At | The next monthly credit refresh as an ISO 8601 timestamp. Trial and non-renewing balances return null and omit the header. |
All authenticated API-key calls expose the billing headers, including validation errors and zero-credit status or management requests. Only successful chargeable JSON responses add the billing object to the response body.
When credits run out
If your balance is lower than the cost of a request, the API returns HTTP 402 and charges nothing. The error includes the credits needed, your balance and a link to change plan.
{
"statusCode": 402,
"statusMessage": "Payment Required",
"data": {
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 35 API credits. Upgrade your plan or wait for your monthly refresh: https://propertyinsights.co.uk/billing",
"required": 35,
"available": 12,
"upgradeUrl": "https://propertyinsights.co.uk/billing"
}
}
}Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| uprn | No | string | Unique Property Reference Number. Use this, or postcode and address. |
| postcode | No | string | UK postcode. Required with address when uprn is omitted. |
| address | No | string | First line of the address. Required with postcode when uprn is omitted. |
| floor_area | No | number | Floor area in square metres, 1 to 5,000. When supplied, no EPC lookup is made. |
Source and coverage
- Source
- Floor area from the latest domestic EPC, or your own figure. Rates are Property Insights in-house figures of £1,800, £2,450 and £3,100 per m², the same rates as our development building cost calculator
- Coverage
- England and Wales homes with a domestic EPC, or any home when floor_area is supplied
The rates are national in-house figures with no adjustment for region, property type, specification or demolition. This is not a BCIS or RICS reinstatement cost assessment, so do not use it to set an insurance sum.
Example request
curl -X GET "https://propertyinsights.co.uk/api/v1/property/rebuild-cost?postcode=ZZ1%201ZZ&address=12%20Sample%20Road" \
-H "x-api-key: YOUR_API_KEY"Example response
{
"success": true,
"data": {
"property": {
"uprn": "100000000001",
"address": "12 Sample Road, Exampletown",
"postcode": "ZZ1 1ZZ",
"propertyType": "House",
"builtForm": "Semi-Detached",
"constructionAgeBand": "England and Wales: 1930-1949"
},
"floorAreaSqm": 96,
"floorAreaSource": "EPC",
"currency": "GBP",
"ratesPerSqm": {
"low": 1800,
"average": 2450,
"high": 3100
},
"estimate": {
"low": 173000,
"average": 235000,
"high": 298000
},
"basis": "Indicative estimate from Property Insights in-house build cost rates per square metre."
}
}OpenAPI specification
Authentication, parameters, billing headers and response schemas are also published in the machine-readable OpenAPI documents in JSON and YAML.