Airlabs Cities API

City reference data

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/airlabs-cities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

airlabs-cities-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AirLabs Aviation Data Airlines Cities API
  description: Real-time global flight tracking, airport schedules, flight delays, airline and airport databases, aircraft fleets, routes, nearby airports, and autocomplete suggestions. All responses are JSON wrapped in a `{request, response}` envelope. Authentication via `api_key` query parameter.
  version: v9
  termsOfService: https://airlabs.co/terms
  contact:
    name: AirLabs
    url: https://airlabs.co
    email: info@airlabs.co
  license:
    name: Proprietary
    url: https://airlabs.co/terms
servers:
- url: https://airlabs.co/api/v9
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Cities
  description: City reference data
paths:
  /cities:
    get:
      summary: Cities database
      description: Returns cities from the database.
      tags:
      - Cities
      operationId: cities_cities
      parameters:
      - name: city_code
        in: query
        required: false
        description: City IATA code
        schema:
          type: string
      - name: country_code
        in: query
        required: false
        description: Country ISO 2 code
        schema:
          type: string
      - $ref: '#/components/parameters/FieldsParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CitiesResponse'
        '400':
          description: Bad request — missing or invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized — missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — plan limit reached or feature not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests — rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    RequestMeta:
      type: object
      description: Echo of the request and processing metadata
      properties:
        lang:
          type: string
        currency:
          type: string
        time:
          type: number
        id:
          type: string
        server:
          type: string
        host:
          type: string
        pid:
          type: integer
        version:
          type: integer
        method:
          type: string
        params:
          type: object
          additionalProperties: true
    City:
      type: object
      properties:
        name:
          type: string
          description: City name
        city_code:
          type: string
          description: City IATA code
        lat:
          type: number
          format: float
          description: Latitude in decimal degrees
        lng:
          type: number
          format: float
          description: Longitude in decimal degrees
        country_code:
          type: string
          description: Country ISO 2 code
        timezone:
          type: string
          description: Timezone (tz database name)
        un_locode:
          type: string
          description: UN/LOCODE
        popularity:
          type: integer
          description: Popularity rank
    CitiesResponse:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/RequestMeta'
        response:
          type: array
          items:
            $ref: '#/components/schemas/City'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
              description: Error description
            code:
              type: string
              description: Error code
  parameters:
    LimitParam:
      name: _limit
      in: query
      required: false
      description: Maximum number of results to return
      schema:
        type: integer
        minimum: 1
        maximum: 1000
    FieldsParam:
      name: _fields
      in: query
      required: false
      description: Comma-separated list of response fields to return
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: API key. Sign up at https://airlabs.co/signup
externalDocs:
  description: Full documentation
  url: https://airlabs.co/docs/