transit

Access Montréal transit data from STM, BIXI, Exo, and STL feeds.

1|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/alistaircroll/montreal-open-data --skill transit-alistaircroll
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: transit
Source: https://github.com/alistaircroll/montreal-open-data/tree/main/skills/domains/transit
Command: npx skills add https://github.com/alistaircroll/montreal-open-data --skill transit-alistaircroll

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires gtfs-realtime-bindings, requests.

What problem does it solve? Montréal's transit data is scattered across multiple agencies on separate platforms with different formats and authentication requirements, making it hard to know where to find schedules, real-time positions, or bike-share availability. ## Core Features & Use Cases - STM Bus & Metro Access: Download static GTFS schedules without authentication, or consume GTFS-Realtime Protocol Buffer feeds (vehicle positions, trip updates, service alerts) with a free developer API key. - BIXI Bike Sharing: Query fully public GBFS endpoints for station information and real-time bike/dock availability across 610+ stations, plus historical trip data on CKAN. - Regional Transit Coverage: Access Exo commuter train GTFS feeds and STL Laval bus schedules, with guidance on coordinate systems, seasonal availability, and agency-specific stop IDs. - Use Case: A user asks "When is the next bus at my stop?" — the skill guides the agent to find the stop_id from stops.txt, query the GTFS-RT Trip Updates feed, and fall back to the static schedule if no API key is available. ## Quick Start Ask the agent how many BIXI bikes are available at the station nearest to a given address in Montréal.

Frequently Asked Questions about transit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get real-time STM bus positions in Montréal?

Register for a free API key at the STM developer portal (portail.developpeurs.stm.info), then query the GTFS-Realtime vehiclePositions endpoint. The feed uses Protocol Buffers, so you need the gtfs-realtime-bindings Python library to parse it.

How do I check BIXI bike availability near a location?

Query the public GBFS endpoints at gbfs.velobixi.com — no authentication required. Combine station_information.json for locations and capacity with station_status.json for live bike and dock counts, then sort by distance to the user's coordinates.

Does STM transit data require an API key?

Static GTFS schedule data requires no authentication and can be downloaded directly as a ZIP file. Real-time feeds (vehicle positions, trip updates, service alerts) require free registration on the STM developer portal, which may take a business day.

Why can't I parse GTFS-Realtime feeds with curl or JSON tools?

GTFS-Realtime feeds use Protocol Buffers binary format, not JSON. You must use a library like gtfs-realtime-bindings for Python to deserialize the FeedMessage before accessing vehicle or trip data.

Can I build a trip planner from Montréal GTFS data?

Building a trip planner requires graph routing algorithms across multiple agency feeds, which is complex. This skill covers data access only; for routing, use existing tools like the Transit app, Google Maps, or the ARTM Chrono app.

Why does BIXI data show zero bikes in winter?

BIXI operates seasonally, typically April through November. Queries during winter months will return stations with zero availability, which reflects actual service suspension rather than a data error.