Praesago API
Embed trajectory scores and property market intelligence into your platform. Covers every postcode district in England & Wales. Updated monthly from government data.
Estate agents & portals
Show trajectory scores on listing pages. Give buyers a forward-looking signal alongside today's price.
Mortgage platforms
Add area risk context to affordability checks. Flag districts with high flood risk or declining demand.
Investment tools
Power buy to let analysis dashboards with rental yield estimates, value gap flags, and signal breakdowns.
Authentication
Pass your API key in the Authorization header as a Bearer token.
curl https://praesago.com/api/v1/scores/E17 \
-H "Authorization: Bearer at_live_xxxxxxxxxxxx"Endpoints
/api/v1/scores/{district}Returns the latest trajectory score and domain breakdown for a postcode district.
districtpathstringrequiredPostcode district e.g. E17, M14, BS3curl https://praesago.com/api/v1/scores/E17 \
-H "Authorization: Bearer at_live_xxxxxxxxxxxx"{
"success": true,
"data": {
"district": "E17",
"area_name": "Walthamstow",
"region": "London",
"county": "Greater London",
"score_month": "2026-03-01",
"trajectory_score": 67.4,
"confidence_score": 5,
"national_percentile": 79.2,
"county_percentile": 61.3,
"signals_available": 21,
"signals": {
"price_opportunity": {
"sub_score": 74.1,
"raw": 0.0312,
"label": "3.1% 5yr price CAGR"
},
"demand_pressure": {
"sub_score": 81.2,
"raw": 0.0198,
"label": "1.98% gravity CAGR"
},
"transformation": {
"sub_score": 62.0,
"raw": 1.4,
"label": "IMD improvement +1.4 deciles"
},
"econ_baseline": {
"sub_score": 55.3,
"raw": 31200,
"label": "ยฃ31,200 median household income"
},
"safety": {
"sub_score": 48.9,
"raw": 94.1,
"label": "94.1 crimes per 1k residents"
},
"risk_ceiling": {
"sub_score": 91.0,
"raw": 0.018,
"label": "1.8% high flood risk"
}
}
},
"error": null
}/api/v1/districts/searchSearch districts by code or area name. Useful for autocomplete in your UI.
qquerystringrequiredSearch query: district code prefix or area name substringlimitqueryintegeroptionalMax results (default 10, max 50)curl "https://praesago.com/api/v1/districts/search?q=Waltham&limit=5" \
-H "Authorization: Bearer at_live_xxxxxxxxxxxx"{
"success": true,
"data": [
{
"district": "E17",
"area_name": "Walthamstow",
"region": "London",
"trajectory_score": 67.4,
"confidence_score": 5
},
{
"district": "EN8",
"area_name": "Waltham Cross",
"region": "East of England",
"trajectory_score": 54.1,
"confidence_score": 4
}
],
"error": null
}/api/v1/districts/topReturns the highest-scoring districts nationally or by region. Useful for 'rising areas' widgets.
nqueryintegeroptionalNumber of districts to return (default 10, max 50)regionquerystringoptionalFilter by region name e.g. London, South East, North Westmin_confidencequeryintegeroptionalMinimum confidence score 1โ5 (default 3)curl "https://praesago.com/api/v1/districts/top?n=5®ion=South+East" \
-H "Authorization: Bearer at_live_xxxxxxxxxxxx"{
"success": true,
"data": {
"as_of": "2026-03-01",
"districts": [
{ "district": "RH10", "area_name": "Crawley", "trajectory_score": 81.2, "region": "South East", "confidence_score": 5 },
{ "district": "GU11", "area_name": "Aldershot", "trajectory_score": 78.9, "region": "South East", "confidence_score": 4 },
{ "district": "TN1", "area_name": "Tunbridge Wells", "trajectory_score": 76.4, "region": "South East", "confidence_score": 5 }
]
},
"error": null
}/api/v1/districts/{district}/contextReturns rich property context: recent transactions, price trend, EPC distribution, and school counts. Intended for listing page enrichment.
districtpathstringrequiredPostcode district e.g. E17, M14, BS3curl https://praesago.com/api/v1/districts/E17/context \
-H "Authorization: Bearer at_live_xxxxxxxxxxxx"{
"success": true,
"data": {
"district": "E17",
"area_name": "Walthamstow",
"prices": {
"avg_price_12m": 512400,
"avg_price_prev_12m": 494800,
"price_change_pct": 3.6,
"transaction_count_12m": 284
},
"epc": {
"pct_c_or_above": 48.2,
"total_certs": 21847
},
"schools": {
"total": 62,
"outstanding": 14,
"good": 33
}
},
"error": null
}Error codes
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request: missing or invalid parameter |
| 401 | Unauthorized: missing or invalid API key |
| 404 | District not found |
| 429 | Rate limit exceeded: check X-RateLimit-Reset header |
| 500 | Internal server error |
API pricing
Ready to integrate?
Get your API key in seconds. No credit card required for the Developer plan.