Everything you need to know about the HomePortfolio Property Intelligence API. Can't find your answer? Email [email protected].
You can get a free API key instantly — no credit card required:
For higher rate limits, see our paid plans.
Pass your API key in the X-API-Key header on every request:
curl https://api.homeportfolio.com/v1/property/100030048320 \
-H "X-API-Key: hp_live_your_key_here"
You can also pass it as a query parameter ?api_key=hp_live_..., but the header is preferred for security.
Try the interactive API Explorer in your browser, or run this curl command:
curl https://api.homeportfolio.com/v1/property/100030048320 \
-H "X-API-Key: YOUR_KEY"
UPRN 100030048320 is a real property in Derbyshire — it returns the full 379-field response so you can see exactly what you'll get.
| Plan | Daily Limit | Per-Minute Limit | API Keys |
|---|---|---|---|
| Free | 50 calls | 10/min | 1 |
| Starter £99/mo | 5,000 calls | 60/min | 2 |
| Pro £299/mo | 50,000 calls | 300/min | 5 |
| Enterprise £999/mo | Unlimited | 1,000/min | 20 |
Daily limits reset at midnight UTC. Per-minute limits use a sliding window.
You'll receive a 429 Too Many Requests response with a Retry-After header indicating when your quota resets:
{
"detail": "Rate limit exceeded. Resets at 2026-03-29T00:00:00Z",
"retry_after": 3600
}
Build retry logic with exponential backoff. For per-minute limits, wait the number of seconds in retry_after.
Yes — a single key works across all your projects. If you need separate keys per project (for usage tracking), upgrade to Starter (2 keys), Pro (5 keys), or Enterprise (20 keys).
UPRN stands for Unique Property Reference Number — a unique 12-digit identifier assigned to every addressable location in Great Britain by Ordnance Survey. Every property has exactly one UPRN that never changes.
You can find a property's UPRN using our search endpoint:
curl "https://api.homeportfolio.com/v1/search?q=10+Downing+Street+London" \
-H "X-API-Key: YOUR_KEY"
We cover 36M+ properties across England and Wales using OS Open UPRN as the master address list. Scotland is partially covered. Not all 379 fields will be populated for every property — coverage varies by data source.
Up to 379 fields across 19 intelligence sections. You can request the full response or a specific section:
| Section | Fields | Source |
|---|---|---|
| Valuation | 27 | HomePortfolio AVM |
| EPC & Energy | 24 | GOV.UK EPC Register |
| Flood & Environment | 12 | Environment Agency |
| Crime & Safety | 14 | Police UK |
| Demographics | 22 | ONS Census |
| Schools | 16 | Ofsted / DfE |
| Broadband | 10 | Ofcom |
| Planning | 15 | Council Planning Portals |
| Ownership | 18 | HM Land Registry |
See the full field reference in the docs.
| Data Source | Update Frequency |
|---|---|
| Price Paid (HMLR) | Monthly |
| EPC Certificates | Monthly |
| Crime data (Police UK) | Monthly |
| Planning Applications | Weekly |
| Broadband / Mobile | Annual (Ofcom) |
| Demographics (ONS) | On Census release |
| AVM Valuations | Daily |
Each response includes a data_quality section with freshness timestamps per source.
| Code | Meaning | Fix |
|---|---|---|
401 | Missing or invalid API key | Check your X-API-Key header |
403 | Key inactive or subscription lapsed | Check your dashboard or renew subscription |
404 | UPRN not found in our database | Verify the UPRN via /v1/search |
422 | Invalid request parameters | Check the request schema in docs |
429 | Rate limit exceeded | Back off and retry after Retry-After seconds |
500 | Internal server error | Retry with backoff. Contact support if persistent |
A 404 on /v1/property/{uprn} means we found the UPRN in OS Open UPRN but have no enriched intelligence for it yet. This affects roughly 5% of properties, usually:
Use /v1/search?postcode=XX1 1XX to verify the UPRN exists first.
Yes. Not every property has every data point. For example:
Check the data_quality section in the response for confidence scores and source timestamps.
The free tier includes:
The only limitation is call volume. The data quality is identical across all plans.
Visit your dashboard, scroll to the Upgrade section, and click the plan you want. You'll be taken to a Stripe checkout page. Your new limits activate immediately after payment.
Yes. Cancel from your Stripe billing portal at any time. Your plan stays active until the end of the current billing period, then automatically downgrades to the free tier (50 calls/day). Your API key and all your data remains accessible.
Yes — annual billing saves 2 months vs monthly: