Ideal Postcodes Blog

Postcodes.io Update v19.0.0

Written by Christopher Blanchard | Jun 1, 2026 8:56:41 AM

Enhanced regional data & performance improvements



We have released Postcodes.io v19, which introduces updated regional data for Scotland and Wales, a simplified database structure, and several performance optimisations.

Key Highlights

Updated Senedd Cymru (Welsh Parliament) Constituencies

Postcode lookups now officially return Senedd Cymru constituency fields. The OpenAPI schemas, API behavior, and documentation have all been updated to seamlessly include this data in your postcode responses.

Expanded Scottish Postcode Results (Full SPD Coverage)

We’ve radically expanded our Scottish coverage. The GET /scotland/postcodes/:postcode endpoint and its underlying queries have been migrated to the full Scottish Postcode Directory (SPD) shape.

Instead of returning only three fields, the response payload has been expanded to a comprehensive set of over 50 distinct data fields (alongside 20+ administrative codes). All existing canonical fields remain preserved under their original names.

A few notable additions to the dataset include:

  • scottish_index_of_multiple_deprivation (SIMD): Provides the official relative measure of deprivation across small areas in Scotland.

  • data_zone / data_zone_2011 / data_zone_2001: Includes specific statistical geographies useful for longitudinal research and localized public sector data matching.

  • Historical Census Output Areas: Expanded fields tracing back through 2011, 2001, and 1991 census counts.


Simplified, Denormalised Database Layout

For those accessing the database directly, we’ve stripped away complex abstractions. The data layer has been completely flattened and denormalized into just three master tables:

  • onspd (ONS Postcode Directory)
  • spd (Scottish Postcode Directory)
  • osopennames (OS Open Names)

This makes direct SQL querying significantly easier, faster, and more intuitive.

Performance Improvements

We’ve heavily optimized the query engine and database configuration for read-only workloads:

  • Batched Queries: Bulk postcode and reverse-geocoding endpoints have been optimised to batch operations into a single SQL query each.

  • Postgres Tuning: Added pg_prewarm and tuned Postgres specifically for blazing-fast read operations, alongside new partial indexes.