Guia do BikeKit

Open data

Por enquanto, este guia está só em inglês.

BikeKit publishes the scheme's live state in the two open standards cities and mobility apps use. Journey planners, map apps and the city's mobility platform can read them with no work on your side.

The addresses below are on the server (the API), not the backoffice. Replace https://api.example.org with your server's address. Admin → Integrations shows yours under Open data.

GBFS: for apps and journey planners

GBFS (General Bikeshare Feed Specification) version 3.0 is the standard every journey planner reads to show bikes and docks. It is public: no sign-in, open to browsers.

Start at the discovery file, which lists the others:

https://api.example.org/gbfs/gbfs.json
File What it says
system_information.json The scheme's name, operator, contact, licence and languages (Portuguese and English)
vehicle_types.json Classic and electric bikes, with the electric range
station_information.json Each station on the street: name, position, capacity; a virtual station's area
station_status.json Each station now: bikes available by type, bikes disabled, docks free and disabled, whether it rents and takes returns
vehicle_status.json Bikes parked at virtual stations, the only ones out on the street between rides
system_pricing_plans.json Each pass on sale and its per-minute tariff
system_alerts.json Service messages to everyone or to stations, and closures in force

A few rules keep it accurate and private:

  • The counts are the riders' own: a bike counts as available exactly when a rider could take it.
  • A closed station shows as not renting; a company's station shows as not renting but taking returns, without naming the company.
  • Bikes on a ride, in a dock, with a technician or missing never appear in vehicle_status. A parked bike's ID changes with every ride, so it can't be followed from ride to ride.
  • The files are rebuilt at most every two seconds however many clients ask, so a crowd of apps costs the server almost nothing.

MDS: for the city

MDS (Mobility Data Specification) 2.0 is the standard cities use to oversee shared mobility: every bike, every trip, every change of state. It is for the city's platform only, so it needs an API client with Read MDS (see Integrations).

https://api.example.org/mds/vehicles
https://api.example.org/mds/vehicles/status
https://api.example.org/mds/trips?end_time=2026-03-03T08
https://api.example.org/mds/events/historical?event_time=2026-03-03T08
https://api.example.org/mds/events/recent?start_time=…&end_time=…
https://api.example.org/mds/stops

The client sends its token as Authorization: Bearer … and Accept: application/vnd.mds+json;version=2.0.

  • Vehicles and their status: every bike, retired ones included, with its last event and position.
  • Trips for one hour (UTC): bike, times, start and end station, duration, distance and charge. No rider, nor anything that leads to one, and no route.
  • Events: every change of a bike's state in an hour, or in a range within the last two weeks: trips starting and ending, bikes taken for rebalancing or repair, missing and found, retired.
  • Stops: the stations, as in GBFS.

An hour that hasn't ended answers 404, and one that ended less than ten minutes ago answers 202, since a late report from a station can still date a ride into it.

For riders: GPX

Riders can download any of their own rides as a GPX track from the app, to upload to Strava or any other fitness app. BikeKit holds no Strava account or credentials.