> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prexsell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List cities

> Returns a paginated list of cities. Optionally filtered by name search string and/or country code.



## OpenAPI

````yaml /docs/openapi/openapi.json get /v2/cities
openapi: 3.1.0
info:
  title: PREXSELL REST v2
  version: 5.97.1
  description: REST API for the PREXSELL bus booking management platform.
servers:
  - url: https://staging.api.prexsell.com
    description: Staging
  - url: https://api.prexsell.com
    description: Production
security: []
paths:
  /v2/cities:
    get:
      tags:
        - Cities
      summary: List cities
      description: >-
        Returns a paginated list of cities. Optionally filtered by name search
        string and/or country code.
      operationId: listCities
      parameters:
        - schema:
            type: string
            minLength: 2
            description: Filter cities by name or translation (minimum 2 characters).
            example: Київ
          required: false
          description: Filter cities by name or translation (minimum 2 characters).
          name: search
          in: query
        - schema:
            type: string
            enum:
              - UA
              - TR
              - PL
              - CZ
              - IT
              - DE
              - SK
              - HU
              - BE
              - NL
              - RO
              - BG
              - FR
              - AT
              - LT
              - LV
              - EE
              - ES
              - LU
              - CH
              - GR
              - MD
              - SI
            description: ISO 3166-1 alpha-2 country code to filter cities.
            example: UA
          required: false
          description: ISO 3166-1 alpha-2 country code to filter cities.
          name: country
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: Maximum number of items to return (1–100).
            example: 50
          required: false
          description: Maximum number of items to return (1–100).
          name: take
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            default: 0
            description: Number of items to skip for offset pagination.
            example: 0
          required: false
          description: Number of items to skip for offset pagination.
          name: skip
          in: query
      responses:
        '200':
          description: Paginated list of cities with name, slug, country, and timezone.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      cities:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            slug:
                              type: string
                            country:
                              type: string
                              enum:
                                - UA
                                - TR
                                - PL
                                - CZ
                                - IT
                                - DE
                                - SK
                                - HU
                                - BE
                                - NL
                                - RO
                                - BG
                                - FR
                                - AT
                                - LT
                                - LV
                                - EE
                                - ES
                                - LU
                                - CH
                                - GR
                                - MD
                                - SI
                            timeZone:
                              type:
                                - string
                                - 'null'
                          required:
                            - id
                            - name
                            - slug
                            - country
                            - timeZone
                          additionalProperties: false
                      total:
                        type: integer
                        minimum: 0
                        description: >-
                          Total number of cities matching the filter
                          (unpaginated count).
                        example: 42
                    required:
                      - cities
                      - total
                required:
                  - data
                example:
                  data:
                    cities:
                      - id: cld1a2b3c4d5e6f7g8h9i0j1
                        name: Київ
                        slug: kyiv
                        country: UA
                        timeZone: Europe/Kyiv
                    total: 1

````