Skip to main content
Service Change Ongoing
MBTA service levels have been increased in the interest of the health and safety of our riders and employees. All riders must use face coverings when on the MBTA. More:


More from Developers

Select from the list below to learn more about the information and tools available for developers interested in MBTA data.

This page logs the non-backwards compatible changes to the V3 API. See the documentation on Versioning for how to use the different versions.


The version removes several fields on the Shapes API.

  • `name`, `direction_id`, and `priority` have been removed from attributes
  • `route` and `stops` have been removed from relationships

The use cases fulfilled by these fields should be accommodated by the Route Patterns API.


This version introduces cleanups to make the API more consistent.

  • The Schedules API no longer returns an departure time if it’s not possible to board, or an arrival time if it’s not possible to alight at a stop
    • This brings it into line with the Predictions API
  • The use of underscores (_) has been made consistent throughout the API
    • /route-patterns/ was renamed to /route_patterns/
    • /live-facilities/ was renamed to /live_facilities/ and the type of those results is now `live_facility`
  • Facilities now have a `short_name` and `long_name` field: the `name` field was removed
    • This brings it into line with the Routes API

For security purposes, we have also disabled TLS 1.0/1.1 access to the API. From this date, TLS 1.2 is the minimum supported version.


This version introduces strict validation of parameters passed as a `filter` and/or `include`. The API will return HTTP 400 should the caller pass an unsupported value. List of supported values for filters and includes could be found in the Swagger documentation.


The `stop_id` field for `Prediction` can now change in some additional cases:

  • Red Line: Alewife, Braintree
  • Orange Line: Forest Hills, Oak Grove
  • Green Line: Kenmore, Park Street


The `stop_id` field for `Prediction` can now change in some cases where we know that the vehicle will be stopping at a different stop. In particular, we use this for the Commuter Rail: Back Bay, South Station, and North Station for track assignments.

Since track assignments are now reflected in the `stop_id` field, the `track` field is removed.


The `last_updated` field on `Vehicle` was replaced by `updated_at` to more closely match the names used by `Alert`.


Initial public release.