Get real-time vehicle positions in bounding box
Retrieve raw real-time vehicle positions within specified geographic bounds. positionType: 'gps' - real position, 'estimated' - derived from trip updates. Can be filtered by route (routeId + countryIso) or trip (tripId). Real-time vehicle positions are a busmaps.com feature only - wikiroutes.info has none, so there is no reason to call this endpoint there.
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
boundingBox | string | ✓ | Bounding box coordinates in 'minLat,minLon,maxLat,maxLon' format | 51.500,-0.140,51.515,-0.120 |
lang | string | Language code for translated route names (IETF BCP 47 format, e.g. en, ru, es, zh-CN). If no translation is available, the original name is returned | en | |
routeId | string | Show only vehicles of one route: route id as returned in routeId by this endpoint (stripped, no ISO3 prefix). Requires countryIso. | 4196227115-3951086873 | |
countryIso | string | ISO 3166-1 alpha-3 country code taken next to routeId; required together with routeId | GBR | |
tripId | string | Show only the vehicle of one trip: trip id as returned in tripId by this endpoint | 1-c40a037c6890b788a038 |
Try It Out
https://capi.busmaps.com:8443Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/rawVehiclePositions?boundingBox=51.500,-0.140,51.515,-0.120"Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/rawVehiclePositions?boundingBox=51.500,-0.140,51.515,-0.120&lang=en&routeId=4196227115-3951086873&countryIso=GBR&tripId=1-c40a037c6890b788a038"Response Example
HTTP 200 - Success
{
"requestTime": 1781087378,
"vehicles": [
{
"positionType": "gps",
"vehicleId": "SCOX-50424",
"lat": 51.510246,
"lon": -0.188234,
"bearing": 84,
"timestamp": "2026-06-10T11:28:41+01:00",
"ageSeconds": 57,
"tripId": "1-f5c33085913c8471e495",
"routeId": "433497037-1200978529",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "TUBE",
"routeLongName": "Oxford - London",
"tripHeadsign": "London",
"urlRouteShortName": "TUBE"
},
{
"positionType": "gps",
"vehicleId": "SCOX-50432",
"lat": 51.515163,
"lon": -0.224674,
"bearing": 264,
"timestamp": "2026-06-10T11:28:29+01:00",
"ageSeconds": 69,
"tripId": "1-c5927d26e4cc652f547d",
"routeId": "433497037-1200978529",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "TUBE",
"routeLongName": "Oxford - London",
"tripHeadsign": "Oxford",
"urlRouteShortName": "TUBE"
}
],
"regionName": "uk_ireland",
"processingTimeMs": 395.63
}Response Schema
Title: Raw Vehicle Positions Response View Full JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Raw Vehicle Positions Response",
"type": "object",
"properties": {
"requestTime": {
"type": "integer",
"description": "Request time as unix timestamp"
},
"processingTimeMs": {
"type": "number",
"description": "Processing time in milliseconds"
},
"vehicles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vehicleId": {
"type": [
"string",
"null"
],
"description": "Vehicle identifier"
},
"lon": {
"type": "number",
"description": "Longitude of vehicle position"
},
"tripId": {
"type": "string",
"description": "Internal trip identifier"
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g., 'uk', 'usa')"
},
"routeColor": {
"type": [
"null",
"string"
],
"description": "Route color in hex format (optional)"
},
"tripHeadsign": {
"type": "string",
"description": "Trip destination/headsign"
},
"timestamp": {
"type": [
"null",
"string"
],
"description": "Position timestamp in ISO8601 format with timezone"
},
"routeId": {
"type": "string",
"description": "Route identifier"
},
"ageSeconds": {
"type": "integer",
"description": "Age of position data in seconds"
},
"routeTextColor": {
"type": [
"null",
"string"
],
"description": "Route text color in hex format (optional)"
},
"routeShortName": {
"type": [
"null",
"string"
],
"description": "Route short name (e.g., '18', 'TUBE')"
},
"positionType": {
"type": "string",
"enum": [
"gps",
"estimated"
],
"description": "'gps' - real vehicle position; 'estimated' - derived from trip updates"
},
"countryIso": {
"type": "string",
"description": "ISO country code (e.g., 'GBR', 'USA')"
},
"routeLongName": {
"type": [
"null",
"string"
],
"description": "Route long name/description"
},
"bearing": {
"type": [
"integer",
"null",
"string"
],
"description": "Vehicle bearing in degrees (0-360)"
},
"urlRouteShortName": {
"type": [
"null",
"string"
],
"description": "URL-safe slug of the route short name"
},
"lat": {
"type": "number",
"description": "Latitude of vehicle position"
},
"urlRouteLongName": {
"type": [
"string",
"null"
],
"description": "URL-safe slug of the route long name"
}
},
"required": [
"ageSeconds",
"routeShortName",
"positionType",
"lon",
"tripId",
"countryIso",
"timestamp",
"routeLongName",
"countryUrl",
"urlRouteShortName",
"tripHeadsign",
"routeId",
"lat"
]
},
"description": "Array of vehicle positions"
},
"regionName": {
"type": "string",
"description": "Region name for the queried area"
}
},
"required": [
"regionName",
"processingTimeMs",
"vehicles",
"requestTime"
]
}
Response Codes
Vehicle positions retrieved successfully (or noCoverage notice if region not supported)
Invalid bounding box format or coordinates, or routeId without countryIso
Internal server error