metadataglobalapideveloperannouncement

Beyond City and State: 18 Metadata Fields Per Postal Code, for 240+ Countries

The PostalDataPI Team··4 min read

Postal code APIs used to return five things. City, country, postal code, latitude, longitude. That was it.

PostalDataPI now returns up to eighteen fields per postal code — and it does it for 240+ countries.

One Call, Eighteen Fields

Here is a real call against production. Mexico City, postal code 06000:

curl -s -X POST https://postaldatapi.com/api/metazip \
  -H "Content-Type: application/json" \
  -d '{"zipcode": "06000", "country": "MX", "apiKey": "YOUR_KEY"}'

And the response:

{
  "meta": {
    "postalCode": "06000",
    "country": "MX",
    "placeName": "Centro (Área 1)",
    "latitude": 19.4364,
    "longitude": -99.1553,
    "adminLevel1": "Ciudad de México",
    "adminLevel2": "Cuauhtémoc",
    "timezone": "America/Mexico_City",
    "admin_name1": "Distrito Federal",
    "admin_code1": "09",
    "admin_name2": "Cuauhtémoc",
    "admin_code2": "015",
    "admin_name3": "Ciudad de México",
    "admin_code3": "06",
    "elevation": 2239,
    "state": "Ciudad de México",
    "municipality": "Cuauhtémoc",
    "city": "Ciudad de México"
  }
}

Eighteen fields. Timezone. Three levels of administrative regions, with both names and codes. Elevation in meters — this city sits at 2,239 meters above sea level. State, municipality, city. All in one call.

Not Just Mexico

The same endpoint works everywhere. Berlin 10115 returns twelve fields including "timezone": "Europe/Berlin" and "elevation": 34:

{
  "meta": {
    "postalCode": "10115",
    "country": "DE",
    "placeName": "Berlin",
    "latitude": 52.5323,
    "longitude": 13.3846,
    "timezone": "Europe/Berlin",
    "admin_name1": "Berlin",
    "admin_code1": "BE",
    "admin_name3": "Berlin, Stadt",
    "elevation": 34
  }
}

Tokyo 100-0001 (Chiyoda) comes back with "timezone": "Asia/Tokyo", elevation 32 meters, and the prefecture and ward names in both romanized form and admin-code form:

{
  "meta": {
    "postalCode": "1000001",
    "country": "JP",
    "placeName": "Chiyoda",
    "latitude": 35.6841,
    "longitude": 139.7521,
    "timezone": "Asia/Tokyo",
    "admin_name1": "Tokyo To",
    "admin_name2": "Chiyoda Ku",
    "elevation": 32
  }
}

Sydney 2000 sits right on the harbor at two meters above sea level — and as a bonus, returns a geonames_place_names array with nine alternate neighborhood names for a single postcode:

{
  "meta": {
    "postalCode": "2000",
    "country": "AU",
    "placeName": "Barangaroo",
    "latitude": -33.8603,
    "longitude": 151.2016,
    "timezone": "Australia/Sydney",
    "admin_name1": "New South Wales",
    "admin_code1": "NSW",
    "elevation": 2,
    "geonames_place_names": [
      "Haymarket", "Dawes Point", "The Rocks", "Sydney",
      "Parliament House", "Darling Harbour", "Sydney South",
      "Barangaroo", "Millers Point"
    ]
  }
}

If you have ever had to match a user's free-text address against a postcode, that array is a gift. One call, every name a local might use.

What You Can Build With This

Richer metadata unlocks things that used to need a second or third API:

  • Shipping zones and delivery windows — timezone + coordinates in one call, no geocoder roundtrip.
  • Localization and tax logic — administrative hierarchy (state, municipality, city) without a separate admin-boundaries dataset.
  • Weather, solar, elevation-sensitive features — elevation is now a first-class field.
  • Address autocompletion and fuzzy matching — alternate place names where they exist.
  • Analytics and segmentation — three levels of admin codes mean you can roll up by prefecture, county, or city without joins against a reference table.
It is the kind of data you could assemble yourself from four or five sources. Or you could just call /api/metazip.

Same Price, Richer Data

Same pricing as before. $0.000028 per query. That is 2.8 cents per thousand queries. 1,000 free queries on signup, no credit card required. No subscriptions, no tiers, no per-country surcharges. The richer data is included.

Try It

Grab a free API key at postaldatapi.com/register and swap in your own postal codes. Every field shown above is real production output — validated live against the API on the day this post was written.

The full API reference is at postaldatapi.com/reference, and SDKs for Python and Node.js make it a one-liner in your language of choice. If you want to see the API covered at a country level, our 240+ countries deep dive walks through the format-handling side of the story.

Beyond City and State: 18 Metadata Fields Per Postal Code, for 240+ Countries | PostalDataPI Blog