SOURCES · TRANSPARENT BY DESIGN

Every URL we use to fetch data.

Lifemap exists to make UK public-data inequalities easier to read, not to add another layer between you and the source. Every figure on the site comes from one of the URLs below. Anything not derivable from these is not on Lifemap.

Last verified · 26 April 2026 Updates rolling All under Open Government Licence v3.0 unless noted
§ 01 · Life expectancy

ONS — Life expectancy for local areas of the UK

Period life expectancy at birth and at age 65, by sex, for every UK upper-tier local authority. The pipeline scrapes the landing page each month for the current XLSX filename (it rotates between releases) rather than hardcoding it.

§ 02 · Healthy life expectancy

ONS — Health state life expectancies, UK frozen

Healthy life expectancy at birth and at age 65, by sex, for every UK upper-tier local authority. The dataset has not been refreshed since 11 December 2019. The promised 2020 update never landed. Lifemap now uses this only for the ~63 devolved-nation UTLAs (Scottish councils, Welsh principal areas, NI districts) that Fingertips doesn't publish HLE for; English UTLAs come from the newer OHID Fingertips indicator 90362 (2021–2023, see § 04). Nine post-May-2019 English UTLAs were missing from this file even before the source switch.

  • Landing
    ons.gov.uk/.../healthstatelifeexpectancyatbirthandatage65bylocalareasukpage live, dataset frozen

    Last release: 11 December 2019. Period: 2016–2018, May 2019 boundaries.

  • XLSX
    /file?uri=…/2016to2018/hsleatbirthandatage65byukla201618.xlsx7+ years old

    272 KB. Used for hle_male / hle_female for the ~63 devolved-nation UTLAs (Scottish councils, Welsh principal areas, NI districts) where Fingertips doesn't publish. English UTLAs come from the newer Fingertips 90362 (2021–2023) instead. English LTLAs (164 districts) carry no HLE — Fingertips publishes HLE only at UTLA, so districts surface the parent-county HLE via the UI county-adjacency block rather than copying it into the data file.

§ 03 · HLE by deprivation

ONS — Healthy life expectancy by national area deprivation

National-level HLE broken down by IMD decile (England) or WIMD quintile (Wales). Released 15 April 2026 — the freshest source on the site. Powers the "deprivation lens" chart on the homepage.

§ 04 · Lifestyle indicators (England)

OHID Fingertips API working

Smoking, obesity, physical activity, 5-a-day and HLE at upper-tier AND lower-tier local authority level. Indicator IDs are resolved by name search, not hardcoded, so the dataset survives indicator renumbering. The full API documentation lists every endpoint.

  • Bulk CSV (UTLA)
    /api/all_data/csv/for_one_indicator?indicator_id=…&parent_area_type_id=15&child_area_type_id=502working

    Post-April-2023 upper-tier authority boundaries. Used for all 6 lifestyle indicators including drinking (UTLA-only).

  • Bulk CSV (LTLA)
    /api/all_data/csv/for_one_indicator?indicator_id=…&parent_area_type_id=15&child_area_type_id=501working

    Added 2026-04-25. Post-April-2023 lower-tier district boundaries. Used for the 4 lifestyle indicators that publish at district level (smoking, obesity, physical activity, 5-a-day). Indicator 92778 (higher-risk drinking) does NOT publish at LTLA — districts inherit county-level value as labelled UI adjacency, not as data.

  • Indicator search
    /api/indicator_search?search_text=…working

    Returns dict-of-int-lists keyed by area-type-id. Pipeline uses this to resolve indicator IDs by name so renumbering doesn't break the build.

  • Indicator metadata
    /api/indicator_metadata/by_indicator_id?indicator_ids=…working

    Indicator names + data-source attribution. Validates resolved IDs against expected keywords.

  • Indicators in use
    resolved

    91547 (smoking, period 2022/23), 93088 (obesity, 2023/24), 93014 (physical activity, 2023/24), 93982 (5-a-day, 2023/24) — fetched at both UTLA (502) and LTLA (501) so each district carries its own value. 90362 (HLE at birth, 2021-2023) and 92778 (higher-risk drinking, >14u/wk above-guideline, HSE 2015-2018 pooled) — UTLA-only by upstream design. Indicator 94185 (>50/35u/wk higher-risk only) genuinely doesn't publish at UTLA.

  • LAD→CTY lookup
    ONS Open Geography Portal — LAD24 to CTYUA24 (Dec 2024)working

    The pipeline downloads this CSV and stamps parent_utla_slug on each E07 record. The frontend uses it to display the parent county's HLE and drinking figures alongside a district lookup, clearly labelled as the county's value, never as the district's.

§ 05 · Lifestyle indicators (Scotland)

Scottish Government — Surveys + Health Survey LA results

Scotland is not in Fingertips. Smoking comes from the Scottish Surveys Core Questions 2023. The four other lifestyle indicators are now sourced from the SHeS council-area Shiny dashboard (32/32 councils each, scraped via headless browser on 2026-04-25). Obesity, higher-risk drinking and physical activity use the 2019-2023 5-year pool. 5-a-day fruit-and-veg uses the 2016-2019 4-year pool — the dashboard does not publish later periods for this indicator because the SHeS interview-mode change during COVID broke comparability with face-to-face years.

  • SSCQ 2023
    gov.scot/publications/scottish-surveys-core-questions-2023working

    Released 27 March 2025. Pooled SHS+SHeS+SCJS, n≈19,700, council-area level. 32/32 Scottish councils. Used for smoking only.

  • SSCQ tables
  • SHeS dashboard
    scotland.shinyapps.io/sg-scottish-health-surveyscraped 2026-04-25

    Four indicators extracted via Camoufox-driven Shiny sessions, 32/32 councils each: obesity (BMI ≥ 30, self-reported, 16+, 2019-2023 5-yr pool, Scotland 30%), higher-risk drinking (Hazardous/Harmful drinker, >14u/wk — same threshold as Fingertips 92778, 2019-2023, Scotland 22%), physical activity (meets CMO 150 min/wk MVPA — same threshold as Fingertips 93014, 2019-2023, Scotland 65%), and 5-a-day fruit-and-veg (5+ portions, 2016-2019 4-yr pool, Scotland 22%). Integer-rounded as displayed; 95% CI bounds preserved in raw scrapes. 5-a-day uses the older period because SHeS interview mode changed during COVID and later 5-yr windows aren't published for this indicator.

§ 06 · Lifestyle indicators (Wales)

National Survey for Wales 2019–20 (StatsWales hlth5002) UK CMO definitions

All five lifestyle indicators sourced from the National Survey for Wales hlth5002 table — the last LA-level NSW pool covering 22 Welsh principal areas before the 2020-21 survey-mode change pulled the dataset off-line. Definitions match England's UK CMO thresholds: >14 u/wk drinking, 150 min/wk MVPA activity, BMI ≥ 25 obesity. Smoking and 5-a-day already match. Cross-country comparability with England is now end-to-end (and matches Scotland on drinking and activity).

  • StatsWales hlth5002
    web.archive.org/.../statswales.gov.wales/.../adultlifestyles-by-localauthority-healthboardWayback only

    Live URL retired in the 2025 StatsWales → stats.gov.wales migration. Wayback snapshot from 14 Sep 2025 carries the rendered DevExpress pivot grid with all 22 LAs × 23 measure columns. Lifemap parses the cached HTML; period used is 2018-19 / 2019-20 (latest LA-level pool).

  • NSW post-2020
    gov.wales/national-survey-wales-headline-results-april-2024-march-2025Wales-total only

    From 2020-21 onwards NSW switched to telephone interviewing during COVID; per-LA sample sizes dropped and Welsh Government stopped publishing LA-level lifestyle breakdowns. The 2024-25 wave had Accredited Official Statistics status suspended. NSW is published Wales-only at the headline level.

  • Definition note
    All five indicators now use UK CMO definitions. Drinking: >14 u/wk above guideline (matches Fingertips 92778). Physical activity: ≥150 min/wk MVPA (matches Fingertips 93014). Obesity: BMI ≥ 25 overweight or obese (matches Fingertips 93088). Smoking: current smoker (matches Fingertips 91547). 5-a-day: 5+ portions previous day (matches Fingertips 93982). Welsh values are 6 years old — flagged on every Welsh row by date.
§ 07 · Lifestyle indicators (Northern Ireland)

Health Survey Northern Ireland — HSC Trust level UI adjacency

Adult lifestyle prevalence is published only at HSC Trust level (5 trusts), never at LGD2014 council level (11 districts) — per-LGD samples are too small for stable estimates. The five lifestyle fields stay null on the 11 NI LGD records; the frontend surfaces the parent Trust's value as a labelled UI adjacency block, never copied into the LGD record itself. Same editorial principle as the English district → county adjacency (§ 04).

  • HSNI 2024/25
    health-ni.gov.uk/.../health-survey-northern-ireland-first-results-202425working

    First results released November 2025. ~4,000 NI adults sampled annually. Latest periods: smoking 2023/24, obesity 2023/24, physical activity 2023/24, 5-a-day 2023/24. Drinking 2022/23 (question not asked in 2023/24).

  • HSNI Trend Tables (XLSX)
    health-ni.gov.uk/.../hsni-trend-tables-24-25.xlsxworking

    1.1 MB. 31 sheets. The "by Health & Social Care Trust" sections in each indicator sheet carry the 5-trust × multi-period series Lifemap uses.

  • LGD2014 → HSC Trust map
    nisra.gov.uk/.../maps-...-trust-and-local-government-districtsworking

    Trust catchment areas pre-date the 2015 LGD2014 reorganisation; most LGDs map cleanly to one Trust, but two straddle two Trusts: Mid Ulster (Northern + Southern) and Newry, Mourne and Down (South Eastern + Southern). Both Trust figures are surfaced for these two LGDs with a footnote.

  • Sources we ruled out
    not LGD-level

    Verified that no UK statistical body publishes adult lifestyle prevalence at NI LGD2014 council level: NISRA Continuous Household Survey (NI total only, retired 2009/10); Sport NI Active Lifestyles Survey 2024/25 (LGD-level but sport participation only, not CMO 150 min/wk MVPA — not comparable); HSCIMS Health Inequalities Annual Report (LGD sheets cover mortality + child obesity only, no adult lifestyle); Census 2021 (general health only); APS (UK regions only).

  • Definition note
    HSNI definitions vs Lifemap columns: obesity uses BMI ≥ 30 (matches Scotland; narrower than England's BMI ≥ 25); higher-risk drinking uses HSNI "increased + higher risk" combined = >14 u/wk above guideline (matches Fingertips 92778); physical activity uses CMO 150 min/wk MVPA (matches Fingertips 93014); smoking uses current smoker (matches Fingertips 91547); 5-a-day uses 5+ portions previous day (matches Fingertips 93982). All adults 16+ except activity (19+).
§ 08 · Postcode → admin_district

Postcodes.io

Public, fast, no-API-key UK postcode service. Powers the front-end's postcode entry — your postcode is sent here, the response carries the admin_district name, the front-end slugifies it and looks up the dataset. Nothing about your postcode is stored on Lifemap.

§ 09 · UK boundary polygons

ONS Open Geography Portal

The choropleth map uses December 2024 upper-tier local authority polygons in the BUC (Buffered Ultra Coarse) simplification. 218 polygons, ~458 KB after coordinate rounding to 4 decimal places (~11 m precision). Properties stripped to ctyua24cd + ctyua24nm only.

§ 10 · Lifemap-derived

Files Lifemap publishes itself

Built from the upstream sources above. All under Open Government Licence v3.0; the wrapper code is MIT.

  • Master JSON
    /uk_la_data.jsonworking

    380 UK council records (151 English UTLAs, 164 English districts, 32 Scottish councils, 22 Welsh principal areas, 11 NI districts). _meta.lifestyle_sources documents per-country provenance. _meta.resolved_indicators records the Fingertips IDs in use at last build time so drift is auditable. _meta.country_totals holds country aggregates separately.

  • Deprivation
    /data/hle-by-deprivation.jsonworking

    The April-2026 ONS HLE-by-deprivation series, parsed and trimmed for the homepage chart.

  • UTLA boundaries
    /data/utla-simplified.geojsonworking

    December 2024 ONS boundaries, simplified.

  • Press kit
    /press/lifemap-press-kit.pdfworking

    10-page brief for journalists. Built from press/press-kit.md via WeasyPrint.

  • Per-area pages
    /area/ · /area/westminster/ · /area/glasgow-city/working

    380 indexable landing pages — one per UK council record. Each carries its own <title>, meta description, canonical URL, og:image and Place JSON-LD. E07 districts include the parent-county adjacency block. Generated at deploy time by scripts/build-area-pages.py.

  • OG share images
    /og/area-<slug>.pngworking

    1200×630 social-share PNG per area, generated at deploy time by scripts/generate-area-og-images. ~32–50 KB each. HLE-null records fall back to LE.

  • Pipeline source
    github.com/visata/lifemap/build_dataset.pyworking

    Single Python script that turns all upstream sources above into uk_la_data.json. Re-run with python3 build_dataset.py. See /methodology/ for the full walk-through.

§ 11 · Verify any number for any postcode

Four steps

  1. Postcode → admin district (§ 08): curl -s 'https://api.postcodes.io/postcodes/FY12AA' | python3 -m json.tool
  2. Read the area record from the dataset (§ 10): curl -s 'https://lifemap.org.uk/uk_la_data.json' | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin)['blackpool'], indent=2))"
  3. Cross-check LE (§ 01): open the latest XLSX, find the area code, compare the value against what the dataset shows.
  4. Cross-check HLE / lifestyle: HLE per § 02, lifestyle per § 04–07 depending on the area's nation. _meta.lifestyle_sources in the dataset documents which row applies.
  5. Visual cross-check: open https://lifemap.org.uk/area/<slug>/ for the area — every value rendered there ties back to the same JSON record. The area directory lists all 380 council records.