GET /vehicles

mbta.com:boston-mbta-transit

Summary:
Operation ID: ApiWeb.VehicleController.index
Auth: unknown

Parameters (12)

fields[vehicle] (string, query, optional)

Fields to include with the response. Multiple fields **MUST** be a comma-separated (U+002C COMMA, ",") list. Note that fields can also be selected for included data types: see the [V3 API Best Practices](https://www.mbta.com/developers/v3-api/best-practices) for an example.

filter[direction_id] (string, query, optional)

Filter by direction of travel along the route. Must be used in conjuction with `filter[route]` to apply. The meaning of `direction_id` varies based on the route. You can programmatically get the direction names from `/routes` `/data/{index}/attributes/direction_names` or `/routes/{id}` `/data/attri...

Constraints: {'enum': ['0', '1']}

filter[id] (string, query, optional)

Filter by multiple IDs. Multiple IDs **MUST** be a comma-separated (U+002C COMMA, ",") list. Cannot be combined with any other filter.

filter[label] (string, query, optional)

Filter by label. Multiple `label` **MUST** be a comma-separated (U+002C COMMA, ",") list.

filter[revenue] (string, query, optional)

Filter vehicles by revenue status. Revenue status indicates whether or not the vehicle is accepting passengers. When filter is not included, the default behavior is to filter by `revenue=REVENUE`. Multiple `revenue` types **MUST** be a comma-separated (U+002C COMMA, ",") list.

Constraints: {'enum': ['NON_REVENUE', 'REVENUE', 'NON_REVENUE,REVENUE']}

filter[route] (string, query, optional)

Filter by route. If the vehicle is on a [multi-route trip](https://groups.google.com/forum/#!msg/massdotdevelopers/1egrhNjT9eA/iy6NFymcCgAJ), it will be returned for any of the routes. Multiple `route_id` **MUST** be a comma-separated (U+002C COMMA, ",") list.

filter[route_type] (string, query, optional)

Filter by route_type: https://gtfs.org/documentation/schedule/reference/#routestxt. Multiple `route_type` **MUST** be a comma-separated (U+002C COMMA, ",") list.

Constraints: {'enum': ['0', '1', '2', '3', '4']}

filter[trip] (string, query, optional)

Filter by `/data/{index}/relationships/trip/data/id`. Multiple `/data/{index}/relationships/trip/data/id` **MUST** be a comma-separated (U+002C COMMA, ",") list. Cannot be combined with any other filter.

include (string, query, optional)

Relationships to include. * `trip` * `stop` * `route` The value of the include parameter **MUST** be a comma-separated (U+002C COMMA, ",") list of relationship paths. A relationship path is a dot-separated (U+002E FULL-STOP, ".") list of relationship names. [JSONAPI "include" behavior](http://json...

page[limit] (integer, query, optional)

Max number of elements to return

page[offset] (integer, query, optional)

Offset (0-based) of first element in the page

sort (string, query, optional)

Results can be [sorted](http://jsonapi.org/format/#fetching-sorting) by the id or any `/data/{index}/attributes` key. Assumes ascending; may be prefixed with '-' for descending | JSON pointer | Direction | `sort` | |--------------|-----------|------------| | `/data/{index}/attributes/bearing` |...

Constraints: {'enum': ['bearing', '-bearing', 'carriages', '-carriages', 'current_status', '-current_status', 'current_stop_sequence', '-current_stop_sequence', 'direction_id', '-direction_id', 'label', '-label', 'latitude', '-latitude', 'longitude', '-longitude', 'occupancy_status', '-occupancy_status', 'revenue_status', '-revenue_status', 'speed', '-speed', 'updated_at', '-updated_at']}

Examples (1)

TitleTypeURLAction
GET /vehicles probe-gate https://api-v3.mbta.com/vehicles

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-03-22T12:38:36.627609 200 642ms