Discover and parse a GBFS bikeshare/scooter-share feed for real-time station and vehicle availability
domain: gbfs.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Fetch the system's gbfs.json auto-discovery file to enumerate available feed URLs and languages
Request system_information.json for operator metadata and system_id
For docked systems, poll station_information.json (static) and station_status.json (real-time) and join on station_id
For free-floating/dockless systems, poll free_bike_status.json (GBFS 2.x) or vehicle_status.json (GBFS 3.x) for vehicle locations
Respect the ttl field in each feed to set an appropriate polling frequency
Known gotchas
File and field names changed between GBFS v2.x and v3.0 (e.g., free_bike_status.json became vehicle_status.json) - check the version field in gbfs.json before parsing
Not every system publishes every optional file; read gbfs.json's feeds array rather than assuming a fixed file set
Third-party aggregators can cache feeds and lag behind the operator's true ttl
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?