V1 API Documentation

BusGenius API Documentation, V1

This public api provides data for live bus-tracking.

All endpoints are prefixed with: https://www.busgenius.com/api/v1/map

GET   /routes/{transit_system_id} Get information on all routes    

Parameters:

Parameter Value Remark Parameter type Data type
transit_system_id Required Unique identifier of Transit System. Path Integer

Response Content Type: json

Response sample:

[
    {
        "id": 21,
        "name": "Downtown",
        "abbrev": "Downtown",
        "color": "#e73224",
        "path": [
            [
                [
                    39.779962,
                    -86.1813
                ],
                [
                    39.781029,
                    -86.163022
                ]
            ],
            [
                [
                    39.7883882041562,
                    -86.1613863790714
                ],
                [
                    39.7875707564902,
                    -86.1612716066284
                ],
                [
                    39.7821930767466,
                    -86.1612415047645
                ],
                [
                    39.7822333841668,
                    -86.1629101213779
                ]
            ],
            [
                [
                    39.7884106191994,
                    -86.1593883893671
                ],
                [
                    39.7880910579554,
                    -86.159449815193
                ],
                [
                    39.7810657238653,
                    -86.159435182761
                ],
                [
                    39.7810360201913,
                    -86.1629967017911
                ]
            ],
            [
                [
                    39.774566,
                    -86.175567
                ],
                [
                    39.77459,
                    -86.178625
                ],
                [
                    39.774702,
                    -86.181397
                ],
                [
                    39.778016,
                    -86.181408
                ],
                [
                    39.778519,
                    -86.181322
                ],
                [
                    39.778923,
                    -86.1813
                ],
                [
                    39.779962,
                    -86.1813
                ]
            ],
            [
                [
                    39.778681,
                    -86.175072
                ],
                [
                    39.778655,
                    -86.175453
                ],
                [
                    39.778626,
                    -86.175754
                ],
                [
                    39.778379,
                    -86.176483
                ],
                [
                    39.778247,
                    -86.176843
                ],
                [
                    39.778119,
                    -86.177551
                ],
                [
                    39.778139,
                    -86.178608
                ],
                [
                    39.777974,
                    -86.178656
                ],
                [
                    39.777311,
                    -86.178629
                ],
                [
                    39.777294,
                    -86.17504
                ]
            ]
        ],
        "stops": [
            237,
            238,
            239,
            240,
            241,
            242
        ]
    },
    {
        "id": 22,
        "name": "Express",
        "abbrev": "Express",
        "color": "#0f2af4",
        "path": [
            [
                [
                    39.7886946252694,
                    -86.1789882704473
                ],
                [
                    39.788731888247,
                    -86.1761776710228
                ],
                [
                    39.788682168617,
                    -86.175609999471
                ],
                [
                    39.7882975835599,
                    -86.1731284617903
                ],
                [
                    39.7882504768796,
                    -86.1726534304589
                ],
                [
                    39.7883107920696,
                    -86.1684466605823
                ]
            ],
            [
                [
                    39.7883025031143,
                    -86.1684505708905
                ],
                [
                    39.7883601695118,
                    -86.1676544885351
                ],
                [
                    39.7883755973791,
                    -86.1656979118849
                ]
            ],
            [
                [
                    39.7886944040903,
                    -86.1789965834184
                ],
                [
                    39.7886742156693,
                    -86.1826696999345
                ],
                [
                    39.7869931079676,
                    -86.1827120829953
                ],
                [
                    39.7836834639697,
                    -86.1789476796852
                ]
            ],
            [
                [
                    39.783725528618,
                    -86.1789742300231
                ],
                [
                    39.782699,
                    -86.177888
                ],
                [
                    39.780167,
                    -86.174294
                ]
            ]
        ],
        "stops": [
            243,
            244
        ]
    }
]

Response description:

Field Type Description
id Integer Unique identifier of route.
name String Full name of route.
abbrev String Short name of route.
color String Color Hex code of route (e.g. "#000000").
stops Integer Array List of stop IDs for route.
path Nested Arrays [   [ [float,float],[float,float], ...], [ [float,float],[float,float], ...], ...  ] Array of polylines. Each polyline is an array of points forming a "pen down" to "pen up" path. Each point is a floating point Array [latitude, longitude].
GET   /stops/{transit_system_id} Get information for all stops    

Parameters:

Parameter Value Remark Parameter type Data type
transit_system_id Required Unique identifier of Transit System. Path Integer

Response Content Type: json

Response sample:

[
    {
        "id": 237,
        "route": 21,
        "name": "Methodist Hospital",
        "abbrev": "Methodist",
        "lat": 39.789699,
        "lng": -86.163853
    },
    {
        "id": 238,
        "route": 21,
        "name": "Pathology Lab",
        "abbrev": "Pathology",
        "lat": 39.782583,
        "lng": -86.165123
    },
    {
        "id": 239,
        "route": 21,
        "name": "Walther Hall",
        "abbrev": "Walther",
        "lat": 39.777286,
        "lng": -86.176998
    },
    {
        "id": 240,
        "route": 21,
        "name": "University Hospital",
        "abbrev": "Univ Hosp",
        "lat": 39.775671,
        "lng": -86.175539
    },
    {
        "id": 241,
        "route": 21,
        "name": "Riley Hospital for Children",
        "abbrev": "Riley",
        "lat": 39.7776,
        "lng": -86.18139
    },
    {
        "id": 242,
        "route": 21,
        "name": "Fairbanks Hall",
        "abbrev": "Fairbanks",
        "lat": 39.781588,
        "lng": -86.164802
    },
    {
        "id": 243,
        "route": 22,
        "name": "Methodist Hospital",
        "abbrev": "Methodist",
        "lat": 39.789699,
        "lng": -86.163853
    },
    {
        "id": 244,
        "route": 22,
        "name": "Walther Hall",
        "abbrev": "Walther",
        "lat": 39.7774328308381,
        "lng": -86.1770579945238
    }
]

Response description:

Field Type Description
id Integer Unique identifier of stop.
route Integer Unique identifier of route.
name String Full name of stop.
abbrev String Short name of stop.
lat Float Latitude of stop.
lng Float Longitude of stop.
GET   /buses/{transit_system_id} Get live information for all active buses    

Parameters:

Parameter Value Remark Parameter type Data type
transit_system_id Required Unique identifier of Transit System. Path Integer

Response Content Type: json

Response sample:

[
    {
        "id": 223,
        "name": "641",
        "abbrev": "641",
        "lat": 39.7774533,
        "lng": -86.177105,
        "route_id": 22,
        "heading": 275.367811615115,
        "passenger_count": 30,
        "capacity": 60
    },
    {
        "id": 151,
        "name": "652",
        "abbrev": "652",
        "lat": 39.7888939,
        "lng": -86.1655977,
        "route_id": 21,
        "heading": 0.0577503889799118,
        "passenger_count": 11,
        "capacity": 60
    },
    {
        "id": 150,
        "name": "143",
        "abbrev": "143",
        "lat": 39.7746467,
        "lng": -86.1783367,
        "route_id": 21,
        "heading": 271.433077434747,
        "passenger_count": 0,
        "capacity": 60
    }
]

Response description:

Field Type Description
id Integer Unique identifier of bus.
name String Full name of bus.
abbrev String Short name of bus.
lat Float Latitude of bus.
lng Float Longitude of bus.
route_id Integer Unique identifier of route.
heading Float 0..360 degree heading of bus.
passenger_count Integer Current number of passengers on bus. Returns null if not available.
capacity Integer Maximum number of passengers on bus. Returns null if not available.
GET   /forecasts/{transit_system_id} Get live forecast information for all stops on active routes   

Parameters:

Parameter Value Remark Parameter type Data type
transit_system_id Required Unique identifier of Transit System. Path Integer

Response Content Type: json

Response sample:

[
    {
        "stop": 237,
        "route": 21,
        "forecasts": [
            [
                "652",
                0.0
            ],
            [
                "143",
                1179.0274836572753
            ]
        ]
    },
    {
        "stop": 238,
        "route": 21,
        "forecasts": [
            [
                "652",
                469.62549443492
            ],
            [
                "143",
                1654.6029823289914
            ]
        ]
    },
    {
        "stop": 239,
        "route": 21,
        "forecasts": [
            [
                "652",
                840.9410259012915
            ],
            [
                "143",
                2025.918513795363
            ]
        ]
    },
    {
        "stop": 240,
        "route": 21,
        "forecasts": [
            [
                "652",
                1026.995109471622
            ],
            [
                "143",
                2211.9725973656937
            ]
        ]
    },
    {
        "stop": 241,
        "route": 21,
        "forecasts": [
            [
                "143",
                100.80678330408809
            ],
            [
                "652",
                1231.8729127025201
            ]
        ]
    },
    {
        "stop": 242,
        "route": 21,
        "forecasts": [
            [
                "143",
                568.5804695870871
            ],
            [
                "652",
                1699.6465989855192
            ]
        ]
    },
    {
        "stop": 243,
        "route": 22,
        "forecasts": [
            [
                "641",
                572.140036056061
            ]
        ]
    },
    {
        "stop": 244,
        "route": 22,
        "forecasts": [
            [
                "641",
                0.0
            ]
        ]
    }
]

Response description:

Field Type Description
stop Integer Unique identifier of stop.
route Integer Unique identifier of route.
forecasts Nested Arrays [   [Integer,float],[Integer,float], ...  ] Array of forecasts sorted from smallest to largest. Each forecast is an Array [Bus ID, forecast in seconds]. Maximum number of forecasts available is a system parameter.