Get real-time vehicle positions in bounding box

GET /rawVehiclePositions

Retrieve raw real-time vehicle positions within specified geographic bounds. Returns vehicle positions data with route id and timestamp.

Parameters

Parameter Type Required Description Example
boundingBox string Bounding box coordinates in 'minLat,minLon,maxLat,maxLon' format 51.45,-0.25,51.55,-0.05
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

Try It Out

Base URL: https://capi.busmaps.com:8443
Example Requests:
Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" \
     -H "capi-host: busmaps.com" \
     "https://capi.busmaps.com:8443/rawVehiclePositions?boundingBox=51.45,-0.25,51.55,-0.05"
Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
     -H "capi-host: busmaps.com" \
     "https://capi.busmaps.com:8443/rawVehiclePositions?boundingBox=51.45,-0.25,51.55,-0.05&lang=en"

Response Example

HTTP 200 - Success
{
  "requestTime": 1780654978,
  "vehicles": [
    {
      "vehicleId": "SCOX-50454",
      "lat": 51.492806,
      "lon": -0.147268,
      "bearing": 216,
      "timestamp": "2026-06-05T11:09:13+01:00",
      "ageSeconds": 825,
      "routeId": "433497037-1200978529",
      "countryIso": "GBR",
      "countryUrl": "uk",
      "routeShortName": "TUBE",
      "routeLongName": "Oxford - London",
      "tripHeadsign": "London",
      "urlRouteShortName": "TUBE"
    },
    {
      "vehicleId": "SCOX-50435",
      "lat": 51.509117,
      "lon": -0.196169,
      "bearing": 294,
      "timestamp": "2026-06-05T11:21:40+01:00",
      "ageSeconds": 78,
      "routeId": "433497037-1200978529",
      "countryIso": "GBR",
      "countryUrl": "uk",
      "routeShortName": "TUBE",
      "routeLongName": "Oxford - London",
      "tripHeadsign": "Oxford",
      "urlRouteShortName": "TUBE"
    }
  ],
  "regionName": "uk_ireland",
  "processingTimeMs": 85.29
}
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": {
    "regionName": {
      "type": "string",
      "description": "Transit data region that served the request"
    },
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
          },
          "timestamp": {
            "type": "string",
            "description": "Position timestamp in ISO8601 format with timezone"
          },
          "bearing": {
            "type": [
              "integer",
              "null",
              "string"
            ],
            "description": "Vehicle bearing in degrees (0-360)"
          },
          "routeShortName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Short route name shown to passengers (e.g. '18', 'Bakerloo')"
          },
          "routeColor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Route color as a hex string"
          },
          "tripHeadsign": {
            "type": "string",
            "description": "Trip destination shown on the vehicle"
          },
          "routeTextColor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Route text color as a hex string"
          },
          "vehicleId": {
            "type": "string",
            "description": "Vehicle identifier"
          },
          "urlRouteShortName": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL-safe slug of the route short name"
          },
          "countryUrl": {
            "type": "string",
            "description": "Country URL slug (e.g. 'uk')"
          },
          "lon": {
            "type": "number",
            "description": "Longitude in decimal degrees"
          },
          "routeId": {
            "type": "string",
            "description": "Internal route identifier"
          },
          "lat": {
            "type": "number",
            "description": "Latitude in decimal degrees"
          },
          "ageSeconds": {
            "type": "integer",
            "description": "Age of position data in seconds"
          },
          "routeLongName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Full route name/description"
          },
          "urlRouteLongName": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL-safe slug of the route long name"
          }
        },
        "required": [
          "tripHeadsign",
          "countryIso",
          "timestamp",
          "vehicleId",
          "urlRouteShortName",
          "countryUrl",
          "lon",
          "routeId",
          "lat",
          "routeShortName",
          "ageSeconds",
          "routeLongName"
        ]
      },
      "description": "Array of vehicle positions"
    },
    "requestTime": {
      "type": "integer",
      "description": "Request time as unix timestamp"
    },
    "processingTimeMs": {
      "type": "number",
      "description": "Server processing time in milliseconds"
    }
  },
  "required": [
    "regionName",
    "processingTimeMs",
    "vehicles",
    "requestTime"
  ]
}
Response Codes
HTTP 200

Vehicle positions retrieved successfully (or noCoverage notice if region not supported)

HTTP 400

Invalid bounding box format or coordinates

HTTP 500

Internal server error