List Transit Vehicle Positions
transit_list_vehiclesGet live positions of transit vehicles currently in service. Filter by agency and line to locate trains or buses in real time and monitor active routes.
Instructions
Live positions of an agency's vehicles currently in service.
Answers "where are the trains right now" and "how many buses are running on this line". For "when does one get to me", use transit_next_departures instead.
Args:
operator_id (string): agency code from transit_list_operators
line (string): only vehicles on this line, matched on name or id
limit (number): maximum vehicles to return (default: 25)
response_format ('markdown' | 'json'): output format (default: 'markdown')
Returns: { "count": number, "total": number, "truncated": boolean, "vehicles": [ { "line": string, "vehicle": string, "destination": string, "latitude": number | null, "longitude": number | null, "bearing": number | null, "recorded_at": string } ] }
Examples:
"How many Muni trains are running on the N?" -> operator_id='SF', line='N'
"Where are the BART trains?" -> operator_id='BA'
Don't use when: you want arrival times at a stop (use transit_next_departures)
Error Handling:
Coordinates arrive as strings and may be empty; those vehicles report "position unavailable" rather than a false 0,0
An agency with no real-time feed returns nothing — check Monitored in transit_list_operators
511 allows 60 requests per hour across ALL endpoints
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| line | No | Only vehicles on this line | |
| limit | No | Maximum results to return (max 200) | |
| operator_id | Yes | Operator code from transit_list_operators, e.g. 'BA' for BART, 'SF' for Muni | |
| response_format | No | Output format: 'markdown' for human-readable, 'json' for machine-readable | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | ||
| total | Yes | ||
| vehicles | Yes | ||
| truncated | Yes |