---
title: "List available locations"
method: GET
path: "/v1/location.getLocations"
tags: ["location"]
---

# List available locations

`GET /v1/location.getLocations`

Without `country`, returns every region and country (states and cities empty) — ~250 rows, cheap to cache. Pass `country` to get one country's full subtree with states and cities. The previous behavior of returning all ~45k cities in one response is gone; enumerate per country instead.

## Query parameters

- `country` string — Country name or ISO code. When set, the response is that country's region with its states and cities populated. Without it, all regions and countries are returned, states and cities empty

## Response `200`

OK

- Region[], nullable
  - `countries` Country[], nullable, required — The countries of the region
    - `code` string, required — The code of the country
    - `name` string, required — The name of the country
    - `states` State[], nullable, required — The states of the country
      - `cities` City[], nullable, required — The cities of the state
        - `name` string, required — The name of the city
      - `code` string, required — The code of the state
      - `name` string, required — The name of the state
  - `name` string, required — The name of the region

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

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