Get a single trip (one vehicle run) with stop times
Return a single trip (one scheduled vehicle run) as an ordered list of stops with arrival/departure times and GTFS boarding rules (pickupType/dropOffType). Addressed by tripId + regionName from a /v1/nextDepartures or /v1/rawVehiclePositions response.
Response fields and units
| Field | Format / unit | Meaning |
|---|---|---|
stops[].transit_icon | optional string | Opaque stop icon identifier passed through unchanged, for example tube, ubahn, sbahn or nyc-subway. Other values are allowed; absent when the source has no icon. |
stops[].arrivalTime, stops[].departureTime | ISO 8601 with UTC offset | Scheduled time in the route's local timezone |
stops[].stopLat, stops[].stopLon | WGS 84 decimal degrees | Stop coordinates |
processingTimeMs | milliseconds | Server processing time |
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
tripId | string | Yes | Trip identifier as returned by /v1/nextDepartures (in a departure entry) or /v1/rawVehiclePositions; forwarded to the backend verbatim | 1-425ab9a0499138347f39 |
regionName | string | Yes | Region name that selects the backend, taken from the same /v1/nextDepartures or /v1/rawVehiclePositions response | uk_ireland |
lang | string | No | Language code for translated stop/route names (IETF BCP 47 format) | en |
Boarding rules
A stop can restrict whether passengers may board or alight (GTFS pickup_type / drop_off_type). Two optional fields carry this; each appears on a stop ONLY when that action is forbidden - if a field is absent the action is allowed:
| Field | Meaning when present (=1) |
|---|---|
pickupType | Boarding (pickup) is not allowed at this stop - drop-off only. |
dropOffType | Alighting (drop-off) is not allowed at this stop - boarding only. |
Wheelchair accessibility
wheelchairBoarding: wheelchairBoarding describes a stop.
wheelchairAccessible: wheelchairAccessible describes a trip.
| 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/trip?tripId=1-425ab9a0499138347f39®ionName=uk_ireland" Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/v1/trip?tripId=1-425ab9a0499138347f39®ionName=uk_ireland&lang=en"Response Example
{
"tripId": "1-425ab9a0499138347f39",
"routeId": "3259533612-4027049275",
"countryIso": "GBR",
"countryUrl": "uk",
"routeShortName": "43",
"urlRouteShortName": "43",
"routeLongName": "Friern Barnet - Highgate - Holloway Road - Moorgate - London Bridge",
"routeType": "bus",
"routeColor": "CD2F30",
"routeTextColor": "FFFFFF",
"wheelchairAccessible": 1,
"tripHeadsign": "Halliwick Park",
"agencyId": "912608471-1585141307",
"agencyName": "Metroline Travel",
"urlAgencyName": "Metroline-Travel",
"agencyUrl": "https://www.metroline.co.uk/",
"agencyPhone": "03432221234",
"stops": [
{
"stopId": "2875101505148372728",
"countryIso": "GBR",
"countryUrl": "uk",
"stopName": "London Bridge Bus Station",
"urlStopName": "London-Bridge-Bus-Station",
"stopDesc": "Stop C",
"stopLat": 51.505134,
"stopLon": -0.086635,
"stopCode": "91261",
"arrivalTime": "2026-10-06T13:48:00+01:00",
"departureTime": "2026-10-06T13:48:00+01:00"
},
{
"stopId": "4457579008510115473",
"countryIso": "GBR",
"countryUrl": "uk",
"stopName": "London Bridge Borough High St",
"urlStopName": "London-Bridge-Borough-High-St",
"stopDesc": "Stop M",
"stopLat": 51.506699,
"stopLon": -0.088327,
"stopCode": "77771",
"arrivalTime": "2026-10-06T13:49:00+01:00",
"departureTime": "2026-10-06T13:49:00+01:00"
}
],
"polyline": "arjyHn|OyHpI@SyPkEAR}OrCyK~HeGi@wQ}FwG}CAFKCED_C_@EIoEk@m@BkFv@kBRcD\\w@D_@AKIW?aA}@a@QQFGXKTWz@MDQRw@Rm@TEDCN]VGGSLYT[^OXWr@w@|DUvAw@`F}AbJwH~d@u@xE_AjF?VCPxDtBDPALkB~CyArCk@`A{A`DWb@Wr@MIV}AFBiOb@Jc@_EyDm@c@aAg@SWsC_AiAi@}FeDSGg@Km@A{AP@PAQuQ~B_Ed@uEVm@@aBO??AZwJzFqJ|O}OnUeHpJeN`SgEhHeNxUIQo@fAY\\I?]d@cBxCAPSXI?uAzB}BhCiC~Ce@z@Sd@_AjDSp@g@lA{@jB_AfBk@pAc@|Ao@xC[tA_@zBa@tC[|AUlA{@~Cm@rBKNEVWn@Ud@MFEAw@mA_@][DO\\s@xCO`@GHCNUZkCxBgFhDgBvAiI~HODuA~AKV}@jAg@b@o@X_AVuClCg@j@gBdBaAz@oB`BgAfAkAbA{AfBk@x@wBbHqDzK[EQ@wAXs@B??m@CqAYiBu@_AQyCAOCwBy@mCeA]CuAVuFjBUHg@DgBCg@Bq@L}ADqAAm@I_COcDGYIWOk@m@wCwDy@iACBICAO@GHCEc@Ok@kAqBgAsBqAoCS_@a@]]C{@^mAr@w@XkClAi@\\{AfBSPWN{Ah@kGtBcCl@{AXm@DgBVk@Vg@V_CbBcCrBi@n@iAr@iDjAqHZq@???eCZsAXiCdAWLEHmE|BSNq@v@y@fBcAxCgAzBGZe@r@gBvBq@p@gAv@Q@gAb@yDl@QPEBe@EUKSV[BIIE?g@LKDi@b@cA~A?Ds@vBWpAa@rCKv@]dAiAfCuArCUZWl@SHM_@[kAWcBk@uDOeB?}@??@o@XiG@aBE{AEi@Ic@JC",
"regionName": "uk_ireland",
"processingTimeMs": 2.04
}Response Schema
View JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Trip Response",
"type": "object",
"properties": {
"urlRouteShortName": {
"type": "string",
"description": "URL-safe slug of the route short name"
},
"agencyUrl": {
"type": "string",
"description": "Agency website URL"
},
"routeColor": {
"type": "string",
"description": "Route color as a hex string"
},
"routeShortName": {
"type": "string",
"description": "Short route name shown to passengers"
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stopLon": {
"type": "number",
"description": "Stop longitude in decimal degrees"
},
"stopDesc": {
"type": "string",
"description": "Additional stop description (platform/track hint)"
},
"wheelchairBoarding": {
"type": "integer",
"description": "Wheelchair accessibility of the stop",
"enum": [
1,
2
]
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"urlStopName": {
"type": "string",
"description": "URL-safe slug of the stop name"
},
"dropOffType": {
"type": "integer",
"description": "GTFS drop-off rule at this stop: 0 alighting allowed, 1 no alighting. Present only when restricted; absent means allowed"
},
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"departureTime": {
"type": "string",
"description": "Scheduled departure time (ISO 8601, route-local with offset)"
},
"stopId": {
"type": "string",
"description": "Internal stop identifier (use with /nextDepartures stopId mode)"
},
"stopLat": {
"type": "number",
"description": "Stop latitude in decimal degrees"
},
"arrivalTime": {
"type": "string",
"description": "Scheduled arrival time (ISO 8601, route-local with offset)"
},
"stopName": {
"type": "string",
"description": "Human-readable stop name"
},
"transit_icon": {
"type": "string",
"description": "Opaque stop icon identifier passed through unchanged, for example tube, ubahn, sbahn or nyc-subway. Other values are allowed; absent when the source has no icon."
}
},
"required": [
"stopLon",
"departureTime",
"stopId",
"stopLat",
"stopName",
"countryUrl",
"arrivalTime",
"urlStopName",
"countryIso"
]
},
"description": "Ordered stops served by this trip"
},
"processingTimeMs": {
"type": "number",
"description": "Server processing time in milliseconds"
},
"tripId": {
"type": "string",
"description": "Trip identifier (pass it back to re-query this run)"
},
"routeId": {
"type": "string",
"description": "Internal route identifier of the trip"
},
"countryIso": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code (e.g. 'GBR')"
},
"routeLongName": {
"type": "string",
"description": "Full route name/description"
},
"agencyName": {
"type": "string",
"description": "Operating agency name"
},
"agencyPhone": {
"type": "string",
"description": "Agency contact phone"
},
"regionName": {
"type": "string",
"description": "Transit data region that served the request"
},
"agencyId": {
"type": "string",
"description": "Internal agency identifier"
},
"tripHeadsign": {
"type": "string",
"description": "Destination shown on the vehicle"
},
"wheelchairAccessible": {
"type": "integer",
"description": "Wheelchair accessibility of the trip",
"enum": [
1,
2
]
},
"countryUrl": {
"type": "string",
"description": "Country URL slug (e.g. 'uk')"
},
"polyline": {
"type": "string",
"description": "Google-encoded geometry of the whole trip"
},
"routeDesc": {
"type": "string",
"description": "Additional route description"
},
"routeType": {
"type": "string",
"description": "Transport type (bus, subway, train, tram, ...)"
},
"urlAgencyName": {
"type": "string",
"description": "URL-safe slug of the agency name"
},
"routeTextColor": {
"type": "string",
"description": "Route text color as a hex string"
}
},
"required": [
"polyline",
"urlRouteShortName",
"agencyUrl",
"routeType",
"countryIso",
"agencyId",
"regionName",
"tripHeadsign",
"urlAgencyName",
"routeShortName",
"stops",
"countryUrl",
"agencyName",
"processingTimeMs",
"tripId",
"routeId"
]
}Response Codes
200
Trip with ordered stops and stop times400
Invalid or missing parameters / unknown regionName404
Trip not found500
Internal server error