Metro Transit Schedule API
The Schedule API from Metro Transit — 5 operation(s) for schedule.
The Schedule API from Metro Transit — 5 operation(s) for schedule.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/metro-transit-schedule-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Service Alerts Schedule API
description: API for retrieving Transit Service Alerts
version: '1'
servers:
- url: https://svc.metrotransit.org/nextripv2
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Schedule
paths:
/schedule/routedetails/{route_url_param}:
get:
tags:
- Schedule
parameters:
- name: route_url_param
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RouteDetails'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
/schedule/routes:
get:
tags:
- Schedule
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RouteListItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
/schedule/stoplist/{route_id}/{schedule_number}:
get:
tags:
- Schedule
parameters:
- name: route_id
in: path
required: true
schema:
type: string
- name: schedule_number
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StopListItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
/schedule/stops/{route_id}/{schedule_number}/{board_stop}/{exit_stop}:
get:
tags:
- Schedule
parameters:
- name: route_id
in: path
required: true
schema:
type: string
- name: schedule_number
in: path
required: true
schema:
type: integer
format: int32
- name: board_stop
in: path
required: true
schema:
type: integer
format: int32
- name: exit_stop
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StopSchedule'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
/schedule/timetable/{route_id}/{schedule_number}:
get:
tags:
- Schedule
parameters:
- name: route_id
in: path
required: true
schema:
type: string
- name: schedule_number
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Timetable'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
components:
schemas:
StopBoardExit:
type: object
properties:
route_label:
type:
- string
- 'null'
trip_comment:
type:
- string
- 'null'
readOnly: true
board_time:
type:
- string
- 'null'
board_comment:
type:
- string
- 'null'
readOnly: true
exit_time:
type:
- string
- 'null'
exit_comment:
type:
- string
- 'null'
readOnly: true
additionalProperties: false
StopSchedule:
type: object
properties:
departures:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/StopBoardExit'
footnotes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Footnote'
additionalProperties: false
Footnote:
type: object
properties:
comment_tag:
type:
- string
- 'null'
comment_text:
type:
- string
- 'null'
additionalProperties: false
Trip:
type: object
properties:
route_label:
type:
- string
- 'null'
comment_tag:
type:
- string
- 'null'
stop_times:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/StopTime'
additionalProperties: false
Timetable:
type: object
properties:
description:
type:
- string
- 'null'
timepoints:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Timepoint'
trips:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Trip'
footnotes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Footnote'
additionalProperties: false
StopListItem:
type: object
properties:
stop_id:
type: integer
format: int32
stop_name:
type:
- string
- 'null'
timepoint:
type: boolean
additionalProperties: false
ScheduleType:
type: object
properties:
schedule_type_name:
type:
- string
- 'null'
view_order:
type: integer
format: int32
booking:
type:
- string
- 'null'
timetables:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/TimetableDetail'
additionalProperties: false
StopTime:
type: object
properties:
departure_time:
type:
- string
- 'null'
place_sequence:
type: integer
format: int32
comment_tag:
type:
- string
- 'null'
additionalProperties: false
Timepoint:
type: object
properties:
timepoint_label:
type:
- string
- 'null'
place_sequence:
type: integer
format: int32
map_reference:
type: integer
format: int32
downtown_zone:
type:
- string
- 'null'
additionalProperties: false
ProblemDetails:
type: object
properties:
type:
type:
- string
- 'null'
title:
type:
- string
- 'null'
status:
type:
- integer
- 'null'
format: int32
detail:
type:
- string
- 'null'
instance:
type:
- string
- 'null'
additionalProperties: {}
TimetableDetail:
type: object
properties:
schedule_number:
type: integer
format: int32
direction:
type:
- string
- 'null'
direction_id:
type: integer
format: int32
additionalProperties: false
RouteDetails:
type: object
properties:
route_id:
type:
- string
- 'null'
agency_id:
type: integer
format: int32
agency_name:
type:
- string
- 'null'
pick_change:
type:
- string
- 'null'
route_short_name:
type:
- string
- 'null'
route_long_name:
type:
- string
- 'null'
route_desc:
type:
- string
- 'null'
route_type:
type: integer
format: int32
route_type_name:
type:
- string
- 'null'
readOnly: true
route_url:
type:
- string
- 'null'
route_color:
type:
- string
- 'null'
route_text_color:
type:
- string
- 'null'
provider_contact:
type:
- string
- 'null'
route_comment:
type:
- string
- 'null'
schedules:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ScheduleType'
additionalProperties: false
RouteListItem:
type: object
properties:
route_id:
type:
- string
- 'null'
route_short_name:
type:
- string
- 'null'
agency_id:
type: integer
format: int32
route_label:
type:
- string
- 'null'
description:
type:
- string
- 'null'
route_url_param:
type:
- string
- 'null'
readOnly: true
additionalProperties: false