Transportation — entry 069 of 69
Velib metropolis, Paris, France
Real-time station status and bike-availability feed for Paris's Velib' Metropolis bike-share network (1,400+ stations across Greater Paris), published by operator Smovengo as a standard GBFS 1.0 feed. Every endpoint is keyless JSON updated roughly every minute, with no CORS headers on the data host so browser-side fetches need a proxy.
Vélib' Métropole is the bike-share system of Paris and its suburbs. Its open-data feed follows the GBFS standard (General Bikeshare Feed Specification). The station_status.json file gives the live count of bikes and free docks at each station.
GreatAPIs Score
Auth quickstart
- No API key is needed. The GBFS files are public and keyless.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Read live bike and dock counts
GEThttps://velib-metropole-opendata.smovengo.cloud/opendata/Velib_Metropole/station_status.json
{"lastUpdatedOther":1790640195,"ttl":3600,"data":{"stations":[{"station_id":213688169,"num_bikes_available":4,"numBikesAvailable":4,"num_bikes_available_types":[{"mechanical":2},{"ebike":2}],"num_docks_available":31,"numDocksAvailable":31,"is_installed":1,"is_returning":1,"is_renting":1,"last_reported":1790636735,"stationCode":"16107","station_opening_hours":null}]}}The stations array is truncated to its first station. The live call returned 1519 stations. The station object is unchanged.
Developer reference
Gotchas & limits
- Each station repeats its counts under two names:
num_bikes_available(GBFS snake_case) andnumBikesAvailable(camelCase). Both hold the same value. Read one of them. num_bikes_available_typesis an array of one-key objects, for example[{"mechanical":2},{"ebike":2}]. It is not a single object. Merge the entries to get counts by type.- The feed says
ttlis3600seconds. In the probe, the first station'slast_reportedwas about an hour behindlastUpdatedOther. Checklast_reportedfor each station before you trust a count. - This file has station IDs and counts only. It has no names or coordinates. Get those from
station_information.jsonin the same folder, and join onstation_id. is_installed,is_renting, andis_returningare integers (1or0), not booleans.station_opening_hoursisnullin the probe.