ListPostCode
HomeCountriesContinents
ToolsDevelopersBlog

Stay Updated

Get the latest postal code updates, new tools, and guides delivered to your inbox.

New postal code updatesFree tools and featuresGuides and insights

No spam, unsubscribe anytime.

listpostcode

The comprehensive postal code directory. Find codes for any location and country quickly and accurately.

Tools

  • ATM Finder
  • Download Printable Postal Codes
  • Postcode Widget Generator
  • Post Office Finder
  • Currency Converter

Resources

  • All Postal Codes
  • Find Post Office
  • Maps
  • Countries
  • Blog
  • Developer API

Info

  • About
  • Advertise with us
  • Contact
  • Privacy
  • Terms

© Copyright 2026 listpostcode. All rights reserved.

ListPostCode
HomeCountriesContinents
ToolsDevelopersBlog

Stay Updated

Get the latest postal code updates, new tools, and guides delivered to your inbox.

New postal code updatesFree tools and featuresGuides and insights

No spam, unsubscribe anytime.

listpostcode

The comprehensive postal code directory. Find codes for any location and country quickly and accurately.

Tools

  • ATM Finder
  • Download Printable Postal Codes
  • Postcode Widget Generator
  • Post Office Finder
  • Currency Converter

Resources

  • All Postal Codes
  • Find Post Office
  • Maps
  • Countries
  • Blog
  • Developer API

Info

  • About
  • Advertise with us
  • Contact
  • Privacy
  • Terms

© Copyright 2026 listpostcode. All rights reserved.

  • Overview
  • API reference
  • Console

ListPostCode Postcode API

Free JSON API for postal codes, regions and places worldwide. The same data you see on ListPostCode, ready for your app.

Get a free API keyAPI referenceOpen the console

What you can do

  • List countries

    Every country, with codes, currency and whether postcodes exist.

  • Get a country

    One country's details and how many places and postcodes it has.

  • List places

    Regions of a country by level, paginated.

  • Get a place

    One place with its postcode, coordinates and parents.

  • List child places

    The places inside a region, paginated.

  • Resolve a page path

    Turn a ListPostCode URL path into the place it shows.

  • Look up a postcode

    Every place that uses a postcode in a country.

  • Autocomplete

    Search countries and places by name or postcode.

  • Reverse lookup

    The nearest place with a postcode to a latitude and longitude.

Quickstart

  1. Get a free API key.

    Create a free ListPostCode developer account and copy your key from the dashboard.

  2. Make your first request.

    curl -H "x-api-key: YOUR_API_KEY" \
      "https://api.listpostcode.com/v1/countries/AU"
  3. Read the JSON.

    Every response has the same envelope: statusCode, data and metadata.correlationId.

    {
      "statusCode": 200,
      "data": {
        "code": "KH",
        "alpha3": "KHM",
        "name": "Cambodia",
        "slug": "cambodia",
        "region": "AS",
        "subRegion": null,
        "currencyCode": "KHR",
        "timezone": "Asia/Phnom_Penh",
        "latitude": 12.565679,
        "longitude": 104.990963,
        "postalCodeFormat": "#####",
        "hasPostcodes": true,
        "url": "https://listpostcode.com/cambodia",
        "stats": {
          "totalPlaces": 16635,
          "distinctPostcodes": 16634,
          "levels": [
            {
              "level": 1,
              "count": 25
            },
            {
              "level": 2,
              "count": 226
            },
            {
              "level": 3,
              "count": 1663
            },
            {
              "level": 4,
              "count": 14721
            }
          ]
        }
      },
      "metadata": {
        "correlationId": "0199a1b2-3c4d-7e5f-8a9b-0c1d2e3f4a5b"
      }
    }

Authentication

Send your key in the x-api-key header on every request.

Keep your key secret. Call the API from your server, or from a browser only with a key you are happy to expose.

https://api.listpostcode.com

Free plan and limits

Every key starts on the free plan: 10,000 requests per calendar month.

Over the limit, the API answers 429 until the next month. Without a key or with a wrong key, it answers 401. Your dashboard shows how much you have used.

Errors

StatusCodeMeaning
400VALIDATION_FAILEDA parameter is missing or invalid.
401TOSKEY_API_KEY_MISSINGNo API key was sent.
401TOSKEY_API_KEY_INVALIDThe key is wrong.
401TOSKEY_API_KEY_REVOKEDThe key was revoked or replaced.
404COUNTRY_NOT_FOUNDNo country with that code.
404NO_POSTCODE_DATAThe country has no postcode data yet.
404PLACE_NOT_FOUNDNo place with that id or path.
404POSTCODE_NOT_FOUNDNo place uses that postcode.
404NO_NEARBY_PLACENothing within 80 km.
429TOSKEY_QUOTA_EXCEEDEDMonthly free plan used up.

Error bodies look like { statusCode, error: { message, code }, metadata: { correlationId } }. Quote the correlationId when you contact us.

Pagination

List endpoints take page (from 1) and pageSize (1–100, default 50) and return items, pageNumber, pageSize, totalCount, totalPages, hasPreviousPage and hasNextPage.

Data sources

Data comes from the ListPostCode dataset. Each place links back to its page on listpostcode.com in the url field. Please credit ListPostCode with a link when you show the data.

Place data includes GeoNames data (geonames.org, CC BY 4.0).

FAQ

Is the API free?

Yes. All endpoints listed here are on the free plan. You only need a free key.

Which countries are covered?

Every country in the list endpoint where hasPostcodes is true.

Can I call it from a browser?

Yes, CORS is open. Anyone can read a key shipped in front-end code, so prefer calling from your server.

How often does the data change?

With each dataset release. Responses can be cached for an hour.

Where do I manage my key?

In your developer dashboard, where you can reveal, replace or revoke it.

  • Overview
  • API reference
  • Console

ListPostCode Postcode API

Free JSON API for postal codes, regions and places worldwide. The same data you see on ListPostCode, ready for your app.

Get a free API keyAPI referenceOpen the console

What you can do

  • List countries

    Every country, with codes, currency and whether postcodes exist.

  • Get a country

    One country's details and how many places and postcodes it has.

  • List places

    Regions of a country by level, paginated.

  • Get a place

    One place with its postcode, coordinates and parents.

  • List child places

    The places inside a region, paginated.

  • Resolve a page path

    Turn a ListPostCode URL path into the place it shows.

  • Look up a postcode

    Every place that uses a postcode in a country.

  • Autocomplete

    Search countries and places by name or postcode.

  • Reverse lookup

    The nearest place with a postcode to a latitude and longitude.

Quickstart

  1. Get a free API key.

    Create a free ListPostCode developer account and copy your key from the dashboard.

  2. Make your first request.

    curl -H "x-api-key: YOUR_API_KEY" \
      "https://api.listpostcode.com/v1/countries/AU"
  3. Read the JSON.

    Every response has the same envelope: statusCode, data and metadata.correlationId.

    {
      "statusCode": 200,
      "data": {
        "code": "KH",
        "alpha3": "KHM",
        "name": "Cambodia",
        "slug": "cambodia",
        "region": "AS",
        "subRegion": null,
        "currencyCode": "KHR",
        "timezone": "Asia/Phnom_Penh",
        "latitude": 12.565679,
        "longitude": 104.990963,
        "postalCodeFormat": "#####",
        "hasPostcodes": true,
        "url": "https://listpostcode.com/cambodia",
        "stats": {
          "totalPlaces": 16635,
          "distinctPostcodes": 16634,
          "levels": [
            {
              "level": 1,
              "count": 25
            },
            {
              "level": 2,
              "count": 226
            },
            {
              "level": 3,
              "count": 1663
            },
            {
              "level": 4,
              "count": 14721
            }
          ]
        }
      },
      "metadata": {
        "correlationId": "0199a1b2-3c4d-7e5f-8a9b-0c1d2e3f4a5b"
      }
    }

Authentication

Send your key in the x-api-key header on every request.

Keep your key secret. Call the API from your server, or from a browser only with a key you are happy to expose.

https://api.listpostcode.com

Free plan and limits

Every key starts on the free plan: 10,000 requests per calendar month.

Over the limit, the API answers 429 until the next month. Without a key or with a wrong key, it answers 401. Your dashboard shows how much you have used.

Errors

StatusCodeMeaning
400VALIDATION_FAILEDA parameter is missing or invalid.
401TOSKEY_API_KEY_MISSINGNo API key was sent.
401TOSKEY_API_KEY_INVALIDThe key is wrong.
401TOSKEY_API_KEY_REVOKEDThe key was revoked or replaced.
404COUNTRY_NOT_FOUNDNo country with that code.
404NO_POSTCODE_DATAThe country has no postcode data yet.
404PLACE_NOT_FOUNDNo place with that id or path.
404POSTCODE_NOT_FOUNDNo place uses that postcode.
404NO_NEARBY_PLACENothing within 80 km.
429TOSKEY_QUOTA_EXCEEDEDMonthly free plan used up.

Error bodies look like { statusCode, error: { message, code }, metadata: { correlationId } }. Quote the correlationId when you contact us.

Pagination

List endpoints take page (from 1) and pageSize (1–100, default 50) and return items, pageNumber, pageSize, totalCount, totalPages, hasPreviousPage and hasNextPage.

Data sources

Data comes from the ListPostCode dataset. Each place links back to its page on listpostcode.com in the url field. Please credit ListPostCode with a link when you show the data.

Place data includes GeoNames data (geonames.org, CC BY 4.0).

FAQ

Is the API free?

Yes. All endpoints listed here are on the free plan. You only need a free key.

Which countries are covered?

Every country in the list endpoint where hasPostcodes is true.

Can I call it from a browser?

Yes, CORS is open. Anyone can read a key shipped in front-end code, so prefer calling from your server.

How often does the data change?

With each dataset release. Responses can be cached for an hour.

Where do I manage my key?

In your developer dashboard, where you can reveal, replace or revoke it.