Realtime/SL

Get trip update

One trip with every stop time update, untruncated.

GET /api/trips/:tripId

The list endpoint pages over trips, not over the stops within them — so this is how you get a trip's full call sequence.

scheduleRelationship on each stop time update defaults to SCHEDULED when the feed omits it. SKIPPED is the interesting one: a skipped stop carries no arrival or departure at all, because there is no prediction to make.

Try it

Runs from your browser against the API in .

Path

GET
curl equivalent
 

Parameters

Path

ParameterTypeDefaultDescription
tripIdrequiredpathstring

GTFS trip id, or the feed entity id when the trip carried no id.

Response

A single object under data, with no meta.

GET /api/trips/14010000701096422
curl "$API_BASE/api/trips/14010000701096422"
200 · application/json
{
  "data": {
    "id": "14010000701096422",
    "trip": {
      "tripId": "14010000701096422",
      "routeId": "9011001083800000",
      "directionId": 0,
      "startDate": "20260427",
      "scheduleRelationship": "SCHEDULED",
      "routeIdSource": "static",
      "route": {
        "routeId": "9011001083800000",
        "agencyId": "505000000000000001",
        "shortName": "838",
        "type": 700
      }
    },
    "vehicle": {
      "id": "9031001003003069"
    },
    "timestamp": {
      "epoch": 1777288947,
      "iso": "2026-04-27T11:22:27.000Z"
    },
    "stopTimeUpdates": [
      {
        "stopSequence": 15,
        "stopId": "9022050001171005",
        "stop": {
          "stopId": "9022050001171005",
          "name": "Brandbergens centrum",
          "latitude": 59.173014,
          "longitude": 18.169056,
          "locationType": 0,
          "parentStation": "1171",
          "platformCode": "E"
        },
        "arrival": {
          "delay": -40,
          "time": {
            "epoch": 1777288280,
            "iso": "2026-04-27T11:11:20.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 45,
          "time": {
            "epoch": 1777288365,
            "iso": "2026-04-27T11:12:45.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 16,
        "stopId": "9022050006719002",
        "stop": {
          "stopId": "9022050006719002",
          "name": "Kulfångsgatan",
          "latitude": 59.175628,
          "longitude": 18.168519,
          "locationType": 0,
          "parentStation": "6719",
          "platformCode": "2"
        },
        "arrival": {
          "delay": 33,
          "time": {
            "epoch": 1777288421,
            "iso": "2026-04-27T11:13:41.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 33,
          "time": {
            "epoch": 1777288421,
            "iso": "2026-04-27T11:13:41.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 17,
        "stopId": "9022050006758002",
        "stop": {
          "stopId": "9022050006758002",
          "name": "Söderbytorp",
          "latitude": 59.177066,
          "longitude": 18.159066,
          "locationType": 0,
          "parentStation": "6758",
          "platformCode": "2"
        },
        "arrival": {
          "delay": 17,
          "time": {
            "epoch": 1777288541,
            "iso": "2026-04-27T11:15:41.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 28,
          "time": {
            "epoch": 1777288552,
            "iso": "2026-04-27T11:15:52.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 18,
        "stopId": "9022050011876002",
        "stop": {
          "stopId": "9022050011876002",
          "name": "Port 73",
          "latitude": 59.178166,
          "longitude": 18.147545,
          "locationType": 0,
          "parentStation": "11876",
          "platformCode": "2"
        },
        "arrival": {
          "delay": -87,
          "time": {
            "epoch": 1777288713,
            "iso": "2026-04-27T11:18:33.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 27,
          "time": {
            "epoch": 1777288827,
            "iso": "2026-04-27T11:20:27.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 19,
        "stopId": "9022050009260002",
        "stop": {
          "stopId": "9022050009260002",
          "name": "Sjukhusentrén",
          "latitude": 59.173692,
          "longitude": 18.142724,
          "locationType": 0,
          "parentStation": "9260",
          "platformCode": "2"
        },
        "arrival": {
          "delay": -65,
          "time": {
            "epoch": 1777288975,
            "iso": "2026-04-27T11:22:55.000Z"
          }
        },
        "departure": {
          "delay": -65,
          "time": {
            "epoch": 1777288975,
            "iso": "2026-04-27T11:22:55.000Z"
          }
        },
        "scheduleRelationship": "SCHEDULED"
      }
    ]
  }
}

A trip with skipped stops

Stop sequence 28 is SKIPPED and has no arrival or departure key at all — the shape a stop takes when there is nothing to predict.

GET /api/trips/14010000698634451
curl "$API_BASE/api/trips/14010000698634451"
200 · application/json
{
  "data": {
    "id": "14010000698634451",
    "trip": {
      "tripId": "14010000698634451",
      "routeId": "9011001011900000",
      "directionId": 0,
      "startDate": "20260427",
      "scheduleRelationship": "SCHEDULED",
      "routeIdSource": "static",
      "route": {
        "routeId": "9011001011900000",
        "agencyId": "505000000000000001",
        "shortName": "119",
        "type": 700
      }
    },
    "vehicle": {
      "id": "9031001001004555"
    },
    "timestamp": {
      "epoch": 1777288941,
      "iso": "2026-04-27T11:22:21.000Z"
    },
    "stopTimeUpdates": [
      {
        "stopSequence": 4,
        "stopId": "9022050010867001",
        "stop": {
          "stopId": "9022050010867001",
          "name": "Mellangårdsvägen",
          "latitude": 59.381567,
          "longitude": 17.879785,
          "locationType": 0,
          "parentStation": "10867",
          "platformCode": "1"
        },
        "arrival": {
          "delay": 30,
          "time": {
            "epoch": 1777288423,
            "iso": "2026-04-27T11:13:43.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 30,
          "time": {
            "epoch": 1777288423,
            "iso": "2026-04-27T11:13:43.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 5,
        "stopId": "9022050010864001",
        "stop": {
          "stopId": "9022050010864001",
          "name": "Utgårdsvägen",
          "latitude": 59.382849,
          "longitude": 17.877071,
          "locationType": 0,
          "parentStation": "10864",
          "platformCode": "1"
        },
        "arrival": {
          "delay": 25,
          "time": {
            "epoch": 1777288451,
            "iso": "2026-04-27T11:14:11.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 35,
          "time": {
            "epoch": 1777288461,
            "iso": "2026-04-27T11:14:21.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 6,
        "stopId": "9022050008044001",
        "stop": {
          "stopId": "9022050008044001",
          "name": "Älvkvarnsvägen",
          "latitude": 59.383327,
          "longitude": 17.873752,
          "locationType": 0,
          "parentStation": "8044",
          "platformCode": "1"
        },
        "arrival": {
          "delay": 31,
          "time": {
            "epoch": 1777288487,
            "iso": "2026-04-27T11:14:47.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 31,
          "time": {
            "epoch": 1777288487,
            "iso": "2026-04-27T11:14:47.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      },
      {
        "stopSequence": 7,
        "stopId": "9022050008045001",
        "stop": {
          "stopId": "9022050008045001",
          "name": "Uppgårdsvägen",
          "latitude": 59.383286,
          "longitude": 17.870684,
          "locationType": 0,
          "parentStation": "8045",
          "platformCode": "1"
        },
        "arrival": {
          "delay": 31,
          "time": {
            "epoch": 1777288513,
            "iso": "2026-04-27T11:15:13.000Z"
          },
          "uncertainty": 0
        },
        "departure": {
          "delay": 45,
          "time": {
            "epoch": 1777288527,
            "iso": "2026-04-27T11:15:27.000Z"
          },
          "uncertainty": 0
        },
        "scheduleRelationship": "SCHEDULED"
      }
    ]
  }
}
Arrays trimmed for readability — $.data.stopTimeUpdates: showing 4 of 34.

Errors

404
{ "error": "request_failed", … }

No trip update carries that id.