Geocoding

Structured geocode — component fields into coordinates

Forward geocode from discrete address components (address / locality / region / postalcode / country) instead of one free-text string. Skips the free-text parser entirely, so pre-fielded data (CRM records, checkout forms, fleet stop tables) can't be mis-tokenized. Response shape is identical to GET /v1/geocode. Costs 1 quota unit; responses are edge-cached (X-Cache: HIT/MISS). For named cross-streets use POST /v1/intersection.

post/v1/search/structured

Request

  • Base URL: https://geo.thinair.co
  • URL: https://geo.thinair.co/v1/search/structured
  • Auth: HTTP bearer

Request body

addressstring

Street address — house number + street name.

localitystring

City / town name.

regionstring

State / province — full name or abbreviation (e.g. 'DC').

postalcodestring

Postal / ZIP code.

countrystring

ISO 3166-1 alpha-2/alpha-3 country code (full names also resolve).

sizeinteger

Maximum candidates to return (1–40). Defaults to 5.

boundary_countrystring

Scope results to this ISO country code — wins over country for boundary filtering.

focus_latnumber

Latitude of the proximity bias point.

focus_lonnumber

Longitude of the proximity bias point.

Example request

{
  "address": "1600 Pennsylvania Ave NW",
  "locality": "Washington",
  "region": "DC",
  "postalcode": "20500",
  "country": "US",
  "size": 5,
  "boundary_country": "US",
  "focus_lat": 38.8977,
  "focus_lon": -77.0365
}

Response

Geocoder result envelope (same contract as GET /v1/geocode).

warningsstring[]

Geocoder warnings (geocoding.warnings) — present only when the suppress middleware emitted signals on this response. Treat as opaque strings.

upstream_errorstring nullable

Example response

{
  "features": [
    {
      "id": "ta_place_8f3a2c9e61c04d58"
    }
  ],
  "warnings": [
    "intersection_unresolved"
  ],
  "precision": {
    "class": "intersection",
    "risk_flags": [
      "ambiguous_without_context"
    ],
    "required_context": [
      "borough"
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.