Change can be a great thing, but it can take a while to adapt to it.

We experience this every day when users of our geocoding API try to geocode addresses with postcodes that no longer exist.

When there is a big change to the postcode system there is usually an educational campaign around it (everyone in Germany can remember the loveable, five-fingered hand character invented to remind us all that postcodes would be switched to a five digit system after reunification), but in many countries individual postcodes are being retired (and created) all the time.

As a result it’s easy for people to not know that an address is no longer valid.

Today we rolled out a new feature where we may start matching retired, or “terminated”, postcodes.

Here’s an example using the UK postcode BN1 1AU As of today we return a result for that query. The result (in JSON format) looks like:

      "components": {
        "ISO_3166-1_alpha-2": "GB",
        "ISO_3166-1_alpha-3": "GBR",
        "_type": "terminated_postcode",
        "continent": "Europe",
        "country": "United Kingdom",
        "country_code": "gb",
        "political_union": "European Union",
        "state": "England",
        "state_code": "ENG",
        "terminated_postcode": "BN1 1AU"
      "confidence": 10,
      "formatted": "BN1 1AU, England, United Kingdom",
      "geometry": {
        "lat": 50.823937,
        "lng": -0.137747

You can see we’re setting the _type to terminated_postcode. As you may also notice we’re not returning the same richness of information we would for a valid postcode, unfortunately we just dont have that information. Still though this means we are not at least returning the correct coordinates of where the postcode was.

Happy geocoding,


  • written from postcode 08017 in Spain