Find transit stops within specified radius
Search for all public transport stops within a given radius of coordinates
Using this data in a voice model?
The Voice Model-Ready endpoint preserves answer-critical transit facts while reducing response tokens and map-only data.
View the Voice Model-Ready endpoint →Response fields and units
| Field | Format / unit | Meaning |
|---|---|---|
stops[].stopLat, stops[].stopLon | WGS 84 decimal degrees | Stop coordinates |
imperial | boolean | Optional flag, present as true for US/UK; numeric distance fields remain in meters |
processingTimeMs | milliseconds | Server processing time |
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
location | string | Yes | Coordinates for search in 'lat,lon' format | 59.9352,30.3258 |
radius | integer | Yes | Search radius in meters | 1000 |
limit | integer | No | Maximum number of stops to return | 100 |
lang | string | No | Language code for translated stop/route names (IETF BCP 47 format) | en |
Wheelchair accessibility
wheelchairBoarding: wheelchairBoarding describes a stop.
| Value | Meaning |
|---|---|
field absent | Unknown (GTFS value 0). |
1 | Accessible. |
2 | Not accessible. |
Try It Out
Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/v1/stopsInRadius?location=59.9352,30.3258&radius=1000" Common usage with optional parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/v1/stopsInRadius?location=59.9352,30.3258&radius=1000&limit=100" Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/v1/stopsInRadius?location=59.9352,30.3258&radius=1000&limit=100&lang=en"Response Example
{
"stops": [
{
"stopId": "2096119542657293652",
"countryIso": "GBR",
"countryUrl": "uk",
"stopName": "Charing Cross Underground Station",
"urlStopName": "Charing-Cross-Underground-Station",
"stopTypeGroup": "subway",
"stopLat": 51.507449,
"stopLon": -0.128097,
"stopDesc": "",
"routes": [
{
"routeId": "2521614975-583762869",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "Bakerloo",
"urlRouteShortName": "Bakerloo",
"routeLongName": "Elephant & Castle - Queen's Park - Harrow & Wealdstone",
"routeColor": "A45A2A",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Queen's Park Underground Station",
"routeType": "subway"
},
{
"routeId": "2521614975-583762869",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "Bakerloo",
"urlRouteShortName": "Bakerloo",
"routeLongName": "Elephant & Castle - Queen's Park - Harrow & Wealdstone",
"routeColor": "A45A2A",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Stonebridge Park Underground Station",
"routeType": "subway"
},
{
"routeId": "2521614975-583762869",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "Bakerloo",
"urlRouteShortName": "Bakerloo",
"routeLongName": "Elephant & Castle - Queen's Park - Harrow & Wealdstone",
"routeColor": "A45A2A",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Harrow & Wealdstone Underground Station",
"routeType": "subway"
}
]
},
{
"stopId": "13812084511034792425",
"countryIso": "GBR",
"countryUrl": "uk",
"stopName": "Trafalgar Square",
"urlStopName": "Trafalgar-Square",
"stopTypeGroup": "bus",
"stopLat": 51.507157,
"stopLon": -0.126726,
"stopDesc": "Stop X",
"stopCode": "74476",
"routes": [
{
"routeId": "1495557683-3923602913",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "91",
"urlRouteShortName": "91",
"routeLongName": "Crouch End - Nags Head - King's Cross - Russell Square - Trafalgar Square",
"routeColor": "CD2F30",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Trafalgar Square",
"routeType": "bus"
},
{
"routeId": "3439225775-1753208283",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "N91",
"urlRouteShortName": "N91",
"routeLongName": "Cockfosters - Southgate - Arnos Grove - Wood Green - Crouch End - Holloway - Kings Cross - Euston - Holborn - Trafalgar Square",
"routeColor": "CD2F30",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Trafalgar Square",
"routeType": "bus"
},
{
"routeId": "526748303-1969481474",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "N97",
"urlRouteShortName": "N97",
"routeLongName": "Hammersmith - Fulham Cross - Earls Court - Green Park - Trafalgar Square",
"routeColor": "CD2F30",
"routeTextColor": "FFFFFF",
"tripHeadsign": "Trafalgar Square",
"routeType": "bus"
}
]
}
],
"regionName": "uk_ireland",
"imperial": true,
"processingTimeMs": 195.85
}Response Schema
View JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Stops in Radius Response",
"type": "object",
"properties": {
"imperial": {
"type": "boolean",
"description": "Optional flag, present as true for US/UK; numeric distance fields remain in meters"
},
"regionName": {
"type": "string",
"description": "Transit data region that served the request"
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"stopId": {
"type": "string",
"description": "Unique stop identifier"
},
"stopLon": {
"type": "number",
"description": "Stop longitude in decimal degrees"
},
"stopName": {
"type": "string",
"description": "Human-readable stop name"
},
"stopLat": {
"type": "number",
"description": "Stop latitude in decimal degrees"
},
"stopTypeGroup": {
"type": "string",
"description": "Type of stop (bus, subway, train, etc.)"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"wheelchairBoarding": {
"type": "integer",
"description": "Wheelchair accessibility of the stop",
"enum": [
1,
2
]
},
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"routeShortName": {
"type": [
"null",
"string"
],
"description": "Route short name"
},
"routeColor": {
"type": [
"null",
"string"
],
"description": "Route color as a hex string"
},
"urlRouteLongName": {
"type": "string",
"description": "URL-safe slug of the route long name"
},
"tripHeadsign": {
"type": "string",
"description": "Trip destination shown on the vehicle"
},
"routeTextColor": {
"type": [
"null",
"string"
],
"description": "Route text color as a hex string"
},
"urlRouteShortName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the route short name"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"routeId": {
"type": "string",
"description": "Internal route identifier"
},
"routeType": {
"type": "string",
"description": "Type of transport"
},
"routeLongName": {
"type": [
"null",
"string"
],
"description": "Full route description"
}
},
"required": [
"tripHeadsign",
"countryIso",
"countryUrl",
"routeId",
"routeType"
]
},
"description": "Routes serving this stop"
},
"stopCode": {
"type": "string",
"description": "Public stop code shown to passengers"
},
"stopDesc": {
"type": "string",
"description": "Additional stop description (direction, platform hint)"
},
"urlStopName": {
"type": "string",
"description": "URL-safe slug of the stop name"
}
},
"required": [
"countryIso",
"stopId",
"countryUrl",
"stopLon",
"stopName",
"routes",
"stopLat",
"stopTypeGroup",
"urlStopName"
]
},
"description": "Array of transit stops within radius"
},
"processingTimeMs": {
"type": "number",
"description": "Processing time in milliseconds"
}
},
"required": [
"stops",
"regionName",
"processingTimeMs"
]
}Response Codes
200
Stops retrieved successfully400
Invalid location or radius500
Internal server error