---
title: "Place lookup — resolve a stable ThinAir place id"
method: GET
path: "/v1/place"
tags: ["Geocoding"]
---

# Place lookup — resolve a stable ThinAir place id

`GET /v1/place`

## Request

- Base URL: `https://geo.thinair.co`
- URL: `https://geo.thinair.co/v1/place`
- Auth: HTTP bearer

Re-fetch a place previously returned by geocode, reverse, autocomplete, places, or intersections using its stable public id (`ta_place_…` / `ta_intersection_…`). Ids are deterministic and survive re-serves — safe to store as favorites or foreign keys. Unknown or expired ids return 404 with re-search guidance; ids are refreshed (90-day sliding window) every time the place is served or looked up.

## Query parameters

- `id` string, required: Stable public ThinAir id exactly as returned in a previous response's `id` field — `ta_place_<key>` for venues/addresses/localities, `ta_intersection_<key>` for street corners. Ids are opaque and deterministic: the same place re-served mints the same id.

## Response `200`

The identified place.

- PlaceResponse: The identified place. Confidence is intentionally absent — an id lookup is an identity resolution, not a match.
  - `id` string, required
  - `type` 'place' | 'intersection', required
  - `name` string
  - `label` string
  - `layer` string
  - `lat` number, required
  - `lon` number, required
  - `components` PlaceComponents
    - `country_code` string
    - `country` string
    - `region` string
    - `locality` string
  - `meta` object, required
    - `upstream_ms` number, required
    - `cacheHit` boolean, required
    - `id_scheme_version` number, required

## Other responses

- `400`: Malformed id.
- `404`: Id unknown or expired — re-search to obtain a fresh id.
- `429`: Quota exceeded.

---

[API](https://skmtc.dev/thinair/apis/thinair-geo-api.md) · [All operations](https://skmtc.dev/thinair/apis/thinair-geo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thinair/apis/thinair-geo-api/revisions/8fac2d5e4b34?raw)
