---
title: "Get a saved city by ID"
method: GET
path: "/cities/{id}"
tags: ["Cities"]
---

# Get a saved city by ID

`GET /cities/{id}`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/cities/{id}`
- Auth: none declared

Retrieve an existing PurpleGrain city using its city ID, not a Google place ID or IP address. Returns its name, subdivision, country and Google place ID. Use include=location to embed its coordinates and accuracy. This lookup reads saved data without resolving or creating a place.

## Path parameters

- `id` string, required

## Query parameters

- `include` string

## Response `200`

Successful. When the `include` query parameter is used, the response may contain an `included` array (JSON:API) or inlined related resources (application/json).

- CitiesShowResponseAttributes
  - `data` CityModelAttributes: City in attributes-adapter shape (Accept application/json); fields at top level.
    - `id` string
    - `type` string
    - `place_id` string, nullable
    - `name` string
    - `subdivision` string
    - `country` string
    - `location` object: Inlined when include=location

## Other responses

- `404`: Not Found

---

[API](https://skmtc.dev/purplegrain/apis/purple-grain-api.md) · [All operations](https://skmtc.dev/purplegrain/apis/purple-grain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/purplegrain/apis/purple-grain-api/revisions/06540345bbbc?raw)
