---
title: "Resolve travel locations"
method: GET
path: "/v1/places"
tags: ["Places"]
---

# Resolve travel locations

`GET /v1/places`

Resolves a free-text location query to canonical Wego places (cities, airports, states, districts, hotels) with codes and coordinates, for use in later flight and hotel searches. When metadata.hasAmbiguity is true, clarify with the user before proceeding.

## Query parameters

- `query` string, required
- `types` string[]
- `locale` string
- `page` integer
- `pageSize` integer

## Response `200`

Matching places plus pagination/ambiguity metadata.

- object
  - `results` object[], required — The matched places for this page.
    - `id` union — Stable place identifier; use it to reference this place later.
      - number
      - string
    - `code` string — IATA-style code (airport/city), when the place has one.
    - `name` string, required — Display name of the place.
    - `type` string, required — Place kind: city, airport, state, district or hotel.
    - `cityCode` string — Code of the city this place belongs to.
    - `latitude` number — Latitude in decimal degrees, when known.
    - `longitude` number — Longitude in decimal degrees, when known.
  - `metadata` object, required — Pagination and ambiguity signals for this place search.
    - `resultCount` integer, required — Number of results on the current page (always <= pageSize).
    - `totalCandidates` integer, required — Total matches held for this query (post-dedup, pre-pagination) – the ceiling pagination can reach. 0 means no matches; an empty deep page with totalCandidates > 0 just means the offset is past the end.
    - `hasMore` boolean, required — True when a further page exists.
    - `hasAmbiguity` boolean, required — True when several distinct real-world locations share the query; ask the user to disambiguate before searching.
    - `disambiguationHint` string — Short clarification sample, present only when hasAmbiguity.

## Other responses

- `400` — Invalid query parameters.
- `401` — Missing or invalid bearer token.
- `429` — Rate limit exceeded; retry after the `Retry-After` seconds.
- `502` — The upstream places service returned an invalid response.
- `503` — The places service is temporarily unavailable; retry after the `Retry-After` seconds.

---

[API](https://skmtc.net/wego/apis/wego-api.md) · [All operations](https://skmtc.net/wego/apis/wego-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wego/wego-api/revisions/e5d7af502419/schema)
