Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/sound-transit-routes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: Sound Transit OneBusAway Agencies Routes API
description: The Sound Transit OneBusAway API provides access to real-time and scheduled transit data for the Puget Sound region including routes, stops, arrivals, departures, and vehicle positions. Supports real-time data for the 1 Line, 2 Line, T Line, and ST Express bus routes.
version: '2.0'
contact:
name: Sound Transit Open Transit Data
email: open_transit_data@soundtransit.org
url: https://www.soundtransit.org/help-contacts/business-information/open-transit-data-otd
license:
name: Open Data
url: https://www.soundtransit.org/help-contacts/business-information/open-transit-data-otd/transit-data-terms-use
servers:
- url: https://api.pugetsound.onebusaway.org/api/where
description: Puget Sound OneBusAway API
tags:
- name: Routes
description: Route definitions and schedules
paths:
/route/{id}.json:
get:
operationId: getRoute
summary: Get Route
description: Retrieve details for a specific transit route.
tags:
- Routes
parameters:
- name: id
in: path
required: true
description: Unique route identifier
schema:
type: string
- $ref: '#/components/parameters/ApiKey'
responses:
'200':
description: Route details
content:
application/json:
schema:
$ref: '#/components/schemas/RouteResponse'
'404':
description: Route not found
/routes-for-agency/{id}.json:
get:
operationId: listRoutesForAgency
summary: List Routes For Agency
description: List all transit routes for a specific agency.
tags:
- Routes
parameters:
- name: id
in: path
required: true
description: Agency identifier
schema:
type: string
- $ref: '#/components/parameters/ApiKey'
responses:
'200':
description: List of routes for the agency
content:
application/json:
schema:
$ref: '#/components/schemas/RoutesResponse'
/routes-for-location.json:
get:
operationId: listRoutesForLocation
summary: List Routes For Location
description: Search for transit routes near a geographic location.
tags:
- Routes
parameters:
- name: lat
in: query
required: true
description: Latitude of the search location
schema:
type: number
format: float
- name: lon
in: query
required: true
description: Longitude of the search location
schema:
type: number
format: float
- name: radius
in: query
required: false
description: Search radius in meters
schema:
type: integer
- name: query
in: query
required: false
description: Route name search query
schema:
type: string
- $ref: '#/components/parameters/ApiKey'
responses:
'200':
description: List of routes near the location
content:
application/json:
schema:
$ref: '#/components/schemas/RoutesResponse'
/shape/{id}.json:
get:
operationId: getShape
summary: Get Shape
description: Get polyline shape details for a route or trip.
tags:
- Routes
parameters:
- name: id
in: path
required: true
description: Shape identifier
schema:
type: string
- $ref: '#/components/parameters/ApiKey'
responses:
'200':
description: Shape polyline data
content:
application/json:
schema:
$ref: '#/components/schemas/ShapeResponse'
components:
schemas:
BaseResponse:
type: object
properties:
code:
type: integer
description: HTTP status code
currentTime:
type: integer
format: int64
description: Current server time in milliseconds
text:
type: string
description: Human-readable status message
version:
type: integer
description: API version
RouteResponse:
allOf:
- $ref: '#/components/schemas/BaseResponse'
- type: object
properties:
data:
type: object
properties:
entry:
$ref: '#/components/schemas/Route'
RoutesResponse:
allOf:
- $ref: '#/components/schemas/BaseResponse'
- type: object
properties:
data:
type: object
properties:
list:
type: array
items:
$ref: '#/components/schemas/Route'
Route:
type: object
properties:
id:
type: string
agencyId:
type: string
shortName:
type: string
longName:
type: string
description:
type: string
type:
type: integer
description: GTFS route type
url:
type: string
format: uri
color:
type: string
textColor:
type: string
ShapeResponse:
allOf:
- $ref: '#/components/schemas/BaseResponse'
- type: object
properties:
data:
type: object
properties:
entry:
type: object
properties:
points:
type: string
description: Encoded polyline string
length:
type: integer
parameters:
ApiKey:
name: key
in: query
required: true
description: API key obtained from Sound Transit (contact oba_api_key@soundtransit.org)
schema:
type: string