---
title: "Get a list of train stations"
method: GET
path: "/stations"
tags: ["Stations"]
---

# Get a list of train stations

`GET /stations`

Returns a paginated and searchable list of all train stations.

## Query parameters

- `page` integer
- `limit` integer
- `coordinates` string
- `search` string
- `country` string, iso-country-code

## Response `200`

OK

- object — This is a generic request/response wrapper which contains both data and links which serve as hypermedia controls (HATEOAS).
  - `data` object[] — The wrapper for a collection is an array of objects.
    - `id` string, uuid, required — Unique identifier for the station.
    - `name` string, required — The name of the station
    - `address` string, required — The address of the station.
    - `country_code` string, iso-country-code, required — The country code of the station.
    - `timezone` string — The timezone of the station in the [IANA Time Zone Database format](https://www.iana.org/time-zones).
  - `links` object — Links to the next and previous pages of a paginated response.
    - `self` string, uri
    - `next` string, uri
    - `prev` string, uri

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests
- `500` — Internal Server Error

## Changes

- **2025-03-12** `f98baa492089` — 4 info
  - added `subschema #2, subschema #3` to the response body `allOf` list for the response status `200` (media type: application/json)
  - added `subschema #2, subschema #3` to the response body `allOf` list for the response status `200` (media type: application/xml)
  - removed `subschema #2, subschema #3` from the response body `allOf` list for the response status `200` (media type: application/json)
  - removed `subschema #2, subschema #3` from the response body `allOf` list for the response status `200` (media type: application/xml)
- **2024-11-21** `51a2c5933325` — 1 breaking, 1 warning, 1 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the optional property `data` from the response with the `200` status
  - added `#/components/schemas/Wrapper-Collection, subschema #2, subschema #3` to the response body `allOf` list for the response status `200`
- **2024-11-05** `954726dfc1b1` — 2 info
  - added the new optional `query` request parameter `country`
  - added the new optional `query` request parameter `limit`
- …earlier changes not shown

[Full history](https://skmtc.dev/bump-sh-examples/apis/train-travel-api/changes/stations/get.md)

---

[API](https://skmtc.dev/bump-sh-examples/apis/train-travel-api.md) · [All operations](https://skmtc.dev/bump-sh-examples/apis/train-travel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bump-sh-examples/train-travel-api/revisions/f98baa492089/schema)
