Area Statistics API

Consolidated area intelligence including crime statistics, council tax, and demographic data for any UK postcode

REST API
JSON Responses
API Key Authentication
1 Credit Per API Call

Overview

The Area Statistics API provides consolidated area intelligence for any UK postcode. It aggregates data from multiple sources including Police UK crime data, council tax band information, and postcode demographic data into a single, easy-to-consume response.

Data included in the response:

  • Crime statistics — overall crime rating, crime score (0-10), last 12 months total, category breakdown (violent, burglary, vehicle crime, antisocial), and comparison to national average
  • Council tax — local authority name and tax bands A–H with annual amounts
  • Demographics — population density, median age, household data (where available)
  • Transport — nearby stations and transport links (where available)
  • Schools — average school rating for the area
  • Amenities — nearby amenity information (where available)

This API is ideal for:

  • Property platforms needing area context alongside listings
  • Relocation services comparing different areas
  • Insurance companies assessing area risk profiles
  • Property investors evaluating neighbourhood quality
  • Estate agents providing comprehensive area reports

Authentication

All requests to the Area Statistics API require authentication using an API key. You can obtain your API key from your PropertyInsights dashboard after subscribing to an API plan.

Include your API key in the request header as follows:

X-API-Key: your_api_key_here

Security Warning

Never expose your API key in client-side code. Always make API calls from your server-side application to protect your credentials.

Endpoints

Base URL

https://propertyinsights.co.uk/api/v1/

Get Area Statistics

GET
/area/statistics

Returns consolidated area intelligence including crime statistics, council tax bands, and demographic data for the specified postcode.

Request Parameters

ParameterRequiredTypeDescription
postcodeRequiredStringUK postcode (e.g., "SW1A 1AA")

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 headerMeaning
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.

Response Format

The response is returned in JSON format with the following top-level structure:

{
  "success": true,
  "data": {
    "demographics": { ... },
    "amenities": { ... },
    "crime": { ... },
    "schools": { ... },
    "transport": { ... }
  }
}

crime

Crime statistics for the area based on Police UK data from the last 12 months.

{
  "overall": "Moderate",
  "score": 5.5,
  "last12Months": 452,
  "changeVsPreviousYear": 0,
  "breakdown": {
    "violent": 120,
    "burglary": 34,
    "vehicleCrime": 28,
    "antisocial": 89,
    "other": 181
  },
  "comparedToNational": "5% higher than national average"
}

demographics

Demographic information for the area (data availability varies by location).

{
  "population": null,
  "populationDensity": null,
  "medianAge": null,
  "households": null,
  "averageHouseholdSize": null,
  "employmentRate": null,
  "medianIncome": null
}

schools

Schools summary for the area.

{
  "averageRating": 7.0,
  "primary": null,
  "secondary": null,
  "ofstedOutstanding": null,
  "topSchools": []
}

transport

Transport information for the area.

{
  "tubeStations": null,
  "railStations": null,
  "busRoutes": null,
  "cycleHireStations": null,
  "averageCommuteToCity": null,
  "trafficLevel": "Moderate"
}

Examples

Basic Request

GET https://propertyinsights.co.uk/api/v1/area/statistics?postcode=SW1A%202AA

cURL Example

curl -X GET \
  "https://propertyinsights.co.uk/api/v1/area/statistics?postcode=SW1A%202AA" \
  -H "x-api-key: YOUR_API_KEY"

Error Handling

The API uses standard HTTP status codes to indicate the success or failure of requests.

CodeError CodeDescription
400MISSING_POSTCODEPostcode parameter is required
401UNAUTHORIZEDAPI key is missing or invalid
402INSUFFICIENT_CREDITSInsufficient API credits to process this request
500INTERNAL_ERRORAn error occurred while fetching area statistics

Error Response Example

{
  "success": false,
  "error": {
    "code": "MISSING_POSTCODE",
    "message": "Postcode parameter is required"
  }
}

Need Help?

If you need assistance with implementation or have questions about the API, our support team is here to help.