The stops endpoint provides the latest information on all bus and tram stops served by Transport for Edinburgh.

Update frequency

Once a day


GET /v1/stops


API Authentication Token


Status-Code: 200 OK
    "last_updated": 1419853198,
    "stops": [
            "stop_id": 36235736,
            "atco_code": "6200242500",
            "name": "Fishmarket Square",
            "identifier": null,
            "locality": "Newhaven",
            "orientation": 271,
            "direction": "W",
            "latitude": 55.98071,
            "longitude": -3.19447,
            "service_type": "bus",
            "destinations": [
                "Hyvots Bank", 
            "services": [
            "atco_latitude": 55.98073,
            "atco_longitude": -3.19446
last_updatedintThe time since this endpoint was last updated
stop_idintThe stop's unique SMS code - this is used by the Open Data API as the canonical ID for each stop
atco_codestringThe stop's NaPTAN code - used with many journey planning systems
namestringThe name shown on the stop flag
identifierstringA two-letter code used by some stops in high-density areas (such as 'PQ', 'PR' etc) where stops may be close to each other
localitystringThe town, village or locality the stop is situated in
orientationintThe direction of the stop in degrees (0-360)
directionstringThe direction of the stop in compass points (NE, SE etc)
latitudefloatThe latitude of the stop
longitudefloatThe longitude of the stop
service_typestringThe type of stop (will be either tram or bus)
destinationsArray(string)A list of destinations that this stop serves
servicesArray(string)A list of services that this stop serves
atco_latitudefloatLatitude of the stop within the NaPTAN database (see note below)
atco_longitudefloatLongitude of the stop within the NaPTAN database (see note below)

Note on stop co-ordinates
NaPTAN is the UK-wide database that provides stop locations. All of the journey planning systems such as Google Maps use this system. Unfortunately, you might find that NaPTAN's co-ordinates are several meters out from the actual stop location. We provide two extra fields - atco_latitude and atco_longitude - that you can use to match a stop given by Google Maps to our own database.