docs / geo-postal

Postal Code & Geocoding API

Postal Code & Geocoding API

base /geo-postal/v111 endpoints
post/geo-postal/v1/eu_regions2 credits

Coordinates OR postal code → EU/EFTA/candidate statistical regions: country, NUTS 0-3 hierarchy, LAU commune (GISCO NUTS-2024 + LAU-2024 + TERCET pc2025).

ParameterAllowed / rangeDescription
latoptional-90–90WGS84 latitude of the point to resolve (decimal degrees).
lonoptional-180–180WGS84 longitude of the point to resolve (decimal degrees).
postal_codeoptionalPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
countryoptionalISO-3166 alpha-2 country code (e.g. DE, FR, TR, IN, US). Greece accepts GR or EL.
include_geometry = falseoptionalIf true, include the (simplified) boundary polygon as GeoJSON. Default false — geometries are large; lookups never depend on this.
Try in playground →
post/geo-postal/v1/tr_regions2 credits

Türkiye: koordinat, posta kodu VEYA il/ilçe/mahalle adı → resmî idari hiyerarşi (il+plaka, ilçe, mahalle/köy, posta kodları) + NUTS-TR istatistik kodları.

ParameterAllowed / rangeDescription
latoptional-90–90WGS84 latitude of the point to resolve (decimal degrees).
lonoptional-180–180WGS84 longitude of the point to resolve (decimal degrees).
postal_codeoptionalPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
provinceoptionalProvince (il) name, e.g. İstanbul, Ankara, İzmir. Turkish characters optional (istanbul works).
districtoptionalDistrict (ilçe) name within the province.
neighborhoodoptionalNeighborhood (mahalle) or village (köy) name.
include_geometry = falseoptionalIf true, include the (simplified) boundary polygon as GeoJSON. Default false — geometries are large; lookups never depend on this.
Try in playground →
post/geo-postal/v1/in_postal2 credits

India: PIN code OR post-office name → post offices, district, state, lat/lon centroid (official All-India Pincode Directory).

ParameterAllowed / rangeDescription
pincodeoptional6-digit Indian PIN code, e.g. 400001 (Mumbai GPO).
officeoptionalPost-office name to search (exact or prefix), when the PIN is unknown.
stateoptionalOptional state filter for office search.
districtoptionalOptional district filter for office search.
Try in playground →
post/geo-postal/v1/us_regions2 credits

United States: ZIP code OR coordinates → state, county + 5-digit county FIPS, place, ZIP centroid, and the CGAZ state/county boundary. Built WITHOUT census.gov (GeoNames ZIP directory carries county FIPS; ANSI state-FIPS is a public-domain constant). For census-grade ZCTA + tract/block GEOIDs use the `us_census` action (TIGER/ZCTA polygons + Census Geocoder, gov-pending/91).

ParameterAllowed / rangeDescription
postal_codeoptionalPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
latoptional-90–90WGS84 latitude of the point to resolve (decimal degrees).
lonoptional-180–180WGS84 longitude of the point to resolve (decimal degrees).
include_geometry = falseoptionalIf true, include the (simplified) boundary polygon as GeoJSON. Default false — geometries are large; lookups never depend on this.
Try in playground →
post/geo-postal/v1/us_census3 credits

United States census-grade geocode: street ADDRESS, ZIP, or coordinates → state, county (+5-digit FIPS), census TRACT GEOID, census BLOCK GEOID, ZCTA, and tract/ZCTA land-area — with match_type + confidence. Coordinates/ZIP resolve the ZCTA offline from pinned TIGER/ZCTA-2024 polygons (zero egress); the authoritative tract/block GEOID + address geocoding come from the US Census Geocoder, cached. US-Gov public domain (Title 17 §105).

ParameterAllowed / rangeDescription
addressoptionalOne-line US street address to geocode to its census tract/block (uses the Census Geocoder; rooftop interpolation, not a deliverability/CASS claim).
postal_codeoptionalPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
latoptional-90–90WGS84 latitude of the point to resolve (decimal degrees).
lonoptional-180–180WGS84 longitude of the point to resolve (decimal degrees).
include_geometry = falseoptionalIf true, include the (simplified) boundary polygon as GeoJSON. Default false — geometries are large; lookups never depend on this.
live = trueoptionalIf true (default) and an exact tract/block GEOID is needed, query the Census Geocoder (cached). Set false for offline-only (ZCTA polygon + nearest-tract centroid) with no .gov call.
Try in playground →
post/geo-postal/v1/admin_boundary2 credits

GLOBAL coordinates → administrative boundary hierarchy ADM0/ADM1/ADM2 (geoBoundaries CGAZ composite, CC-BY 4.0).

ParameterAllowed / rangeDescription
latrequired-90–90WGS84 latitude of the point to resolve (decimal degrees).
lonrequired-180–180WGS84 longitude of the point to resolve (decimal degrees).
levels = 0,1,2optionalComma-separated geoBoundaries levels to resolve: 0 (country), 1 (state/region), 2 (county/municipality). Default all three.
include_geometry = falseoptionalIf true, include the (simplified) boundary polygon as GeoJSON. Default false — geometries are large; lookups never depend on this.
Try in playground →
post/geo-postal/v1/postal_lookup1 credit

country + postal code → region metadata for ~100 countries (GeoNames postal directory) with country-specific enrichment (EU→NUTS3, TR→mahalle, IN→offices).

ParameterAllowed / rangeDescription
countryrequiredISO-3166 alpha-2 country code (e.g. DE, FR, TR, IN, US). Greece accepts GR or EL.
postal_coderequiredPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
Try in playground →
post/geo-postal/v1/postal_distance1 credit

Great-circle distance between two postal codes (same or different countries).

ParameterAllowed / rangeDescription
countryrequiredISO-3166 alpha-2 country code (e.g. DE, FR, TR, IN, US). Greece accepts GR or EL.
fromrequiredOrigin postal code (in `country`).
torequiredDestination postal code (in `to_country`, default same country).
to_countryoptionalDestination ISO-3166 alpha-2 country if different.
unit = kmoptionalkm · miDistance unit (km default, mi).
Try in playground →
post/geo-postal/v1/postal_radius1 credit

All postal codes within a radius of a postal code (centroid-based).

ParameterAllowed / rangeDescription
countryrequiredISO-3166 alpha-2 country code (e.g. DE, FR, TR, IN, US). Greece accepts GR or EL.
postal_coderequiredPostal code to resolve. Spaces/dashes are ignored, case-insensitive (e.g. '10115', '75001', 'SW1A1AA').
radius_kmrequired0.1–100Search radius in kilometres (0.1-100).
limit = 50optional1–100Max codes to return, nearest first (1-100).
Try in playground →
post/geo-postal/v1/batch2 credits

Resolve up to 50 mixed lookups in one call (cheap local queries).

ParameterAllowed / rangeDescription
itemsrequiredUp to 50 lookup items. Each is an object with an `action` (eu_regions|tr_regions|in_postal|admin_boundary|postal_lookup) plus that action's params. Items resolve independently — one bad item never fails the batch.
Try in playground →