Skip to main content
GET
https://www.mtaapi.dev
/
api
/
v1
/
stops
Get stops by ID
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://www.mtaapi.dev/api/v1/stops', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
[
  {
    "requestedId": "<string>",
    "found": true,
    "stop": {
      "id": "<string>",
      "name": "<string>",
      "displayName": "<string>",
      "lat": 123,
      "lon": 123,
      "parentId": "<string>"
    },
    "servedRoutes": [
      {
        "id": "<string>",
        "shortName": "<string>",
        "longName": "<string>",
        "type": 123,
        "color": "<string>",
        "textColor": "<string>",
        "headsigns": [
          "<string>"
        ],
        "directionHeadsigns": {},
        "directions": [
          123
        ]
      }
    ]
  }
]

Documentation Index

Fetch the complete documentation index at: https://mtaapi.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

Resolves many stops at once. Pass a comma-separated ids list (for example A27,L06,308214) to hydrate a saved-stops list or a map viewport without one request per ID. The response preserves one result per requested ID, in order: { requestedId, found, stop?, servedRoutes? }. When found is false, the ID didn’t resolve. Set includeRoutes=true to attach servedRoutes for each resolved stop. For nearby/geo search, use the Stops reference.

SDK

const results = await mta.stops.byIds({
  ids: ['A27', 'L06', '308214'],
  includeRoutes: true,
})

for (const result of results) {
  if (result.found) console.log(result.stop.name)
  else console.log(`${result.requestedId} not found`)
}
See the Routes & Stations guide.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

ids
string
required

Comma-separated stop IDs, such as A27,L06,308214.

Minimum string length: 1
includeRoutes
boolean

Include route metadata for each found stop.

Response

200 - application/json

Response for status 200

requestedId
string
required
found
boolean
required
stop
object
servedRoutes
object[]