---
title: "Get area profile"
method: GET
path: "/v1/area"
tags: ["Signals"]
---

# Get area profile

`GET /v1/area`

## Request

- Base URL: `https://api.onegoodarea.com`
- URL: `https://api.onegoodarea.com/v1/area`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Full signal profile for a UK postcode (live or retired), a OneGoodArea place id, an official neighbourhood code or a place name. Returns geo metadata plus all signal categories with sources. A store-backed neighbourhood also carries its nation's deprivation domains (income, employment, health, education and more) as deciles: each has a `detail` object with the published `rank` and, where the publisher gives one, the `score` (Scotland publishes none). Wales has no crime domain. With grain=group or grain=district, crime, deprivation, property and schools are aggregated over the member neighbourhoods, deprivation domains contain mean deciles without detail, and all percentile fields are null.

## Query parameters

- `area` string
- `postcode` string
- `bundle` string
- `sort` string
- `grain` string

## Response `200`

Default Response

- object
  - `geo` object, required
    - `query` string, required
    - `postcode` string, required
    - `postcode_status` 'live' | 'terminated', required
    - `postcode_terminated_on` string, required
    - `latitude` number, required
    - `longitude` number, required
    - `lsoa` string, required
    - `msoa` string, required
    - `admin_district` string, required
    - `region` string, required
    - `country` string, required
    - `area_type` 'urban' | 'suburban' | 'rural', required
    - `rural_urban` string, required
    - `place_id` string, required
    - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
    - `neighbourhood_count` integer, required
  - `signals` object[], required
    - `key` string, required
    - `category` 'crime' | 'deprivation' | 'property' | 'schools' | 'amenities' | 'transport' | 'environment', required
    - `label` string, required
    - `value` union, required
      - number
      - string
    - `unit` string, required
    - `normalized_value` number
    - `percentile` number
    - `regional_percentile` number
    - `direction` 'higher_is_better' | 'lower_is_better' | 'neutral', required
    - `confidence` number, required
    - `confidence_reason` string, required
    - `source` string, required
    - `observed_period` string, required
    - `source_unavailable` true
    - `detail` object: Extra published figures behind `value`, for a deprivation domain.
      - `rank` number: The published rank within the nation (a tied rank is a published mid-rank such as 2790.5).
      - `score` number: The published score, where the publisher gives one (Scotland publishes none).
    - `period` object
      - `start` string, required
      - `end` string, required
    - `period_basis` 'reference' | 'load'
    - `released_at` string
    - `loaded_at` string, date-time
    - `retrieved_at` string, date-time
  - `meta` object, required
    - `engine_version` string, required
    - `generated_at` string, required
    - `sources` string[], required
    - `fetch_mode` 'live' | 'store' | 'hybrid', required
    - `grain` 'neighbourhood' | 'group' | 'district', required: The area grain: one neighbourhood, its containing group, or its containing district. Group and district profiles aggregate crime, deprivation, property and schools; their percentiles are null until aggregate normalization exists.

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `422`: Default Response
- `429`: Default Response
- `500`: Default Response
- `502`: Default Response

## Changes

- **2026-10-20** `b318d28b3412`: 6 warning
  - added the new `nation_not_covered` enum value to the `anyOf[subschema #1]/code` response property for the response status `404`
  - added the new `nation_not_covered` enum value to the `anyOf[subschema #1]/reason` response property for the response status `404`
  - added the new `nation_not_covered` enum value to the `code` response property for the response status `422`
  - added the new `nation_not_covered` enum value to the `code` response property for the response status `502`
  - …2 more

[Operation history](https://skmtc.dev/onegoodarea/apis/onegoodarea-api/changes/v1/area/get.md)

---

[API](https://skmtc.dev/onegoodarea/apis/onegoodarea-api.md) · [All operations](https://skmtc.dev/onegoodarea/apis/onegoodarea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onegoodarea/apis/onegoodarea-api/revisions/b318d28b3412?raw)
