Bird Vehicles API

Vehicle inventory and real-time availability

OpenAPI Specification

bird-rides-vehicles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bird GBFS Feed Discovery Vehicles API
  version: 2.3.0
  summary: Bird's Public General Bikeshare Feed Specification Feed
  description: OpenAPI description of Bird's public General Bikeshare Feed Specification (GBFS) v2.3 surface hosted at https://mds.bird.co/gbfs/v2/public/{city}. Each Bird city exposes the same nine GBFS sub-feeds — gbfs (auto-discovery), gbfs_versions, system_information, vehicle_types, free_bike_status, station_information, station_status, geofencing_zones, system_pricing_plans, and system_regions — with a 60-second TTL. Bird operates 88+ city feeds across Austria, Belgium, Canada, Switzerland, Germany, Spain, Finland, France, Israel, Italy, Portugal, and the United States. Data is licensed under Bird's GBFS Data License Agreement.
  contact:
    name: Bird Government Partnerships
    email: city@bird.co
    url: https://www.bird.co/cities
  license:
    name: Bird GBFS Data License Agreement
    url: https://www.bird.co/wp-content/uploads/2019/03/GBFS-Data-License-Agreement-2018-09-25.pdf
servers:
- url: https://mds.bird.co/gbfs/v2/public/{city}
  description: Bird GBFS public feed for a given city
  variables:
    city:
      default: los-angeles
      description: City slug for the desired Bird market. Examples include los-angeles, madrid, barcelona, helsinki, munich, ulm, calgary, edmonton, ottawa, halifax, antwerp, zurich, basel, biel, ulm, wienerneustadt. The canonical list lives in the MobilityData systems.csv at https://github.com/MobilityData/gbfs/blob/master/systems.csv.
tags:
- name: Vehicles
  description: Vehicle inventory and real-time availability
paths:
  /vehicle_types.json:
    get:
      operationId: getVehicleTypes
      summary: List Vehicle Types
      description: Returns every vehicle type operating in this Bird city. Typical responses include an `electric` scooter (form_factor=scooter) and an `electric_assist` bicycle (form_factor=bicycle), each with a max_range_meters value.
      tags:
      - Vehicles
      responses:
        '200':
          description: Vehicle types payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleTypes'
  /free_bike_status.json:
    get:
      operationId: getFreeBikeStatus
      summary: List Free-Floating Vehicles
      description: Returns the real-time list of available free-floating Bird vehicles in this city. Each entry includes bike_id, lat, lon, is_reserved, is_disabled, vehicle_type_id, and current_range_meters / battery information. Updated every 60 seconds.
      tags:
      - Vehicles
      responses:
        '200':
          description: Free bike status payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FreeBikeStatus'
components:
  schemas:
    FreeBikeStatus:
      allOf:
      - $ref: '#/components/schemas/GbfsEnvelope'
      - type: object
        properties:
          data:
            type: object
            properties:
              bikes:
                type: array
                items:
                  $ref: '#/components/schemas/Vehicle'
    Vehicle:
      type: object
      required:
      - bike_id
      - lat
      - lon
      - is_reserved
      - is_disabled
      properties:
        bike_id:
          type: string
          description: Anonymized rotating identifier for this vehicle
        lat:
          type: number
        lon:
          type: number
        is_reserved:
          type: boolean
        is_disabled:
          type: boolean
        vehicle_type_id:
          type: string
        current_range_meters:
          type: number
        last_reported:
          type: integer
          format: int64
    VehicleTypes:
      allOf:
      - $ref: '#/components/schemas/GbfsEnvelope'
      - type: object
        properties:
          data:
            type: object
            properties:
              vehicle_types:
                type: array
                items:
                  $ref: '#/components/schemas/VehicleType'
    GbfsEnvelope:
      type: object
      required:
      - version
      - data
      - last_updated
      - ttl
      properties:
        version:
          type: string
          description: GBFS spec version (e.g. "2.3")
        last_updated:
          type: integer
          format: int64
          description: POSIX timestamp at which the data was last updated
        ttl:
          type: integer
          description: Seconds before the consumer should re-fetch this feed
        data:
          type: object
    VehicleType:
      type: object
      required:
      - vehicle_type_id
      - form_factor
      - propulsion_type
      properties:
        vehicle_type_id:
          type: string
        form_factor:
          type: string
          enum:
          - scooter
          - bicycle
          - car
          - moped
          - other
        propulsion_type:
          type: string
          enum:
          - human
          - electric_assist
          - electric
          - combustion
          - other
        max_range_meters:
          type: number