Nearby Schools with Ofsted Ratings — for Any UK Property
Find schools near any UK property or postcode — with Ofsted ratings, age range, phase, pupil numbers, and straight-line distance. Data sourced directly from the DfE's GIAS register (~27,000 open establishments in England). PropertyData charges per call. We include it from Starter.
14-day free trial on Starter — cancel any time. £49/month after, 2,000 requests included.
School catchment data for any postcode.
One API call returns a ranked list of nearby schools — sorted by distance, filterable by phase or Ofsted rating. Each result includes the full DfE record: type, age range, pupil capacity, free school meals percentage, head teacher, and trust name.
Accepted lookup methods: postcode or lat + lng. Radius up to 5 miles. Results capped at 50 per call.
curl "https://homedata.co.uk/api/v1/schools/nearby?postcode=SW1A+2AA&radius=1.2" \
-H "Authorization: Api-Key YOUR_API_KEY"
import requests
response = requests.get(
"https://homedata.co.uk/api/v1/schools/nearby",
params={
"postcode": "SW1A 2AA",
"radius": 1.2,
"phase": "Primary", # optional
"ofsted": "Outstanding", # optional
},
headers={"Authorization": "Api-Key YOUR_API_KEY"}
)
data = response.json()
for school in data["schools"]:
print(school["name"], school["ofsted"]["rating"],
f"{school['distance_km']} km")
const res = await fetch(
"https://homedata.co.uk/api/v1/schools/nearby?postcode=SW1A+2AA&radius=1.2",
{ headers: { "Authorization": "Api-Key YOUR_API_KEY" } }
);
const { schools } = await res.json();
schools.forEach(s => {
console.log(s.name, s.ofsted.rating, `${s.distance_km}km`);
});
Response
{
"query": {
"lat": 51.5014,
"lng": -0.1419,
"radius_miles": 1.2,
"postcode": "SW1A 2AA",
"phase": null,
"ofsted": null
},
"count": 1,
"total_in_radius": 12,
"ofsted_summary": {
"Outstanding": 4,
"Good": 7,
"Not yet inspected": 1
},
"schools": [
{
"urn": 100044,
"name": "St James's Catholic Primary School",
"type": "Voluntary aided school",
"type_group": "Local authority maintained schools",
"phase": "Primary",
"gender": "Mixed",
"religious_character": "Roman Catholic",
"admissions_policy": "Non-selective",
"age_range": "3-11",
"number_of_pupils": 210,
"school_capacity": 225,
"percentage_fsm": 12.4,
"ofsted": {
"rating": "Outstanding",
"last_inspection": "2023-06-14"
},
"address": {
"street": "Endsleigh Street",
"locality": null,
"town": "London",
"county": null,
"postcode": "WC1H 0DX"
},
"local_authority": "Westminster",
"contact": {
"website": "https://stjamesprimary.org",
"telephone": "02071234567",
"head_teacher": "Mrs Sarah Jones"
},
"trust": null,
"location": {
"lat": 51.5241,
"lng": -0.1307
},
"distance_km": 0.43,
"distance_miles": 0.267
}
],
"metadata": {
"source": "GIAS — DfE Get Information About Schools",
"coverage": "England (~27,000 open schools)",
"note": "Distance is straight-line (as the crow flies)"
}
}
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| postcode | string | One of two | UK postcode (e.g. "SW1A 1AA"). Resolved internally. |
| lat + lng | float | One of two | Decimal coordinates (WGS84). |
| radius | float | No | Search radius in miles. Default: 0.5. Max: 5.0. |
| phase | string | No | Filter by phase: Primary, Secondary, All-through, Nursery, 16 plus. |
| ofsted | string | No | Filter by Ofsted rating: Outstanding, Good, Requires Improvement, Inadequate. |
| limit | integer | No | Max results to return. Default: 20. Max: 50. |
Response fields — every school object
| Field | Type | Description |
|---|---|---|
| urn | integer | DfE Unique Reference Number — permanent stable ID |
| name | string | Official school name |
| type | string | Establishment type (e.g. Academy sponsor led, Voluntary aided school) |
| type_group | string | Broader DfE category: Local authority maintained schools, Academies, Independent schools, etc. |
| phase | string | Phase of education: Primary, Secondary, All-through, Nursery, 16 plus |
| gender | string | Pupil gender: Mixed, Boys, Girls |
| religious_character | string|null | Religious denomination (e.g. Church of England, Roman Catholic) or null |
| admissions_policy | string|null | Selective or Non-selective (or null for non-applicable types) |
| age_range | string | Statutory age range (e.g. "4-11") |
| number_of_pupils | integer | Current pupil roll |
| school_capacity | integer | Published admission number / total capacity |
| ofsted.rating | string|null | Outstanding / Good / Requires Improvement / Inadequate / null (not yet inspected) |
| ofsted.last_inspection | date|null | Most recent Ofsted inspection date (ISO 8601) |
| address.* | object | street, locality, town, county, postcode — all strings, may be null |
| local_authority | string | Local authority responsible for the school |
| contact.website | string|null | School website URL |
| contact.telephone | string|null | Main school telephone number |
| contact.head_teacher | string|null | Head teacher's full name (title + surname) |
| trust | string|null | Multi-Academy Trust name (if applicable) |
| location.lat | float|null | School latitude (WGS84) |
| location.lng | float|null | School longitude (WGS84) |
| distance_km | float | Straight-line distance from query point in km |
| distance_miles | float | Straight-line distance from query point in miles |
| percentage_fsm | float|null | % of pupils eligible for free school meals |
What developers build with this
School proximity is one of the top three factors in property search. Here's how teams use this endpoint.
Property portals
Show a 'Schools nearby' card on every listing — Outstanding schools within 1 mile, filterable by phase. Reduces time-to-decision for parents.
Valuation models
Add school quality as a feature to your AVM. Outstanding primary school within 500m consistently correlates with 5–15% price premium.
Estate agent tools
Auto-populate property brochures with the nearest Outstanding school. Saves 10 minutes per listing and a common buyer question answered before it's asked.
Area intelligence reports
Include an Ofsted summary breakdown for any neighbourhood — how many Outstanding, Good, and Requires Improvement schools within 2km.
Catchment zone tools
Build school catchment proximity features into relocation tools — filter properties by distance to specific schools or school types.
Compliance & lending
Lenders and surveyors use local school quality as a soft indicator in local market assessments — alongside deprivation, crime, and flood risk.
Often used together
Start querying schools in minutes
Start a 14-day free trial on Starter, get your API key, and make your first call. 2,000 requests/month — enough to enrich a full property portfolio. Cancel any time.
14-day free trial, cancel any time. Schools endpoint included from Starter (£49/month).