Bongo Developer API

All of the data for Bongo is copyrighted by the University of Iowa, the City of Iowa City and/or the City of Coralville and is not permitted to be used in a commercial application.

One of the primary reasons that Bongo is useful for the residents of the Iowa City metro area is that all three transit agencies participated in the system. Following that key covenant of Bongo, the Bongo API includes information for all three transit agencies together.

Formats

Bongo API data can be retrieved in JSON or JSONP. The default format is JSON, so if you do not pass a format parameter, you will receive JSON back. To get JSONP, pass the format parameter in the URL. For example, if you wanted to get the route list in JSONP, you would enter

http://api.ebongo.org/routelist?format=jsonp

Data

Route Listing

This will display a list of all routes in the Bongo system.

URI - https://api.ebongo.org/routelist


					{
					  "routes": [
					    "route": {
					      "id": number,
					      "name": string,
					      "tag": string,   // used for building URLs
					      "agency": string,
					      "agencyname": string
					    }  
					  ]
					}
					

Route Info

This will display information for a specific route. This takes two parameters, agency for the transit agency for the route and route for the route tag.

URI - https://api.ebongo.org/route?agency=XXXX&route=XXXX


				{
				  "route": {
				    "name": string,
				    "color": string,	// "127AE3",
				    "agencytag": string,
				    "agencyname": string,
				    "max_lat": number,
			  	    "min_lat": number,
				    "max_lng": number,
				    "min_lng": number,
				    "paths": [
				      "points": [
					{
					  "lat": number,
				          "lng": number
					}
				      ]
				    ],
				    "directions": [
				      {
  					"direction": string,
					"directionName": string,
				        "pattern_id": number,
					"stops": [
					  {
					    "stopnumber": string,
					    "stoptitle": string,
					    "stoplat": number,
					    "stoplng": number
					  }
					]
      				      }
				    ],
				    "messages": [
				      {
				        "message": {
					  "id": number,
				          "name": string,
					  "text": string,
				          "start": string,	// "YYYY-MM-DDT##:##:##+##:##",
					  "end": string,	// "YYYY-MM-DDT##:##:##+##:##",
					  "signMessages": [
					    {
					      "id": number,
					      "overrideText": string,
					      "schedules": [
					        {
						  "daysOfWeek": string,
						  "start": string,
						  "duration": string,
						}
  					      ]
						
					    }
					  ],
					  "appMessage": [
					    {
 					      "id": number,
					      "overrideTitle": string,
					      "overrideText": string,
					      "sendViaNativePush: bool,
					      "sendTime": string 
 					    }
					  ],
					  "assignments": {
					    "global": bool,
					    "routeTypes": [number],
					    "stops": [number],
					    "routes": [number],
					    "tags": [number]
					  }
					}
 				      }
   				    ]
				  }
				}	
				

Stop Listing

This will display all stops in Bongo. Note, this may take some time to load due to the amount of information retrieved.

URI - https://api.ebongo.org/stoplist


   				{
				  "stops": [
				    {
				      "stop": {
					"stopnumber": string,
					"stoptitle": string,
					"stoplat": number,
					"stoplng": number
				      }
				    }
				  ]
 				}  
				

Stop Info

This will display information for a specific stop. This takes one parameter, stopid for stop number

URI - https://api.ebongo.org/stop?stopid=XXXX


				{
				  "stopinfo": {
				    "stopid": string,
				    "stoptitle": string,
				    "latitude": number,
				    "longitude": number,
				    "messages": [string]
				  }
				}
				

Predictions

This will display arrival predictions for a specific stop. This takes one parameter, stopid for stop number

URI - https://api.ebongo.org/prediction?stopid=XXXX


				{
				  "stopinfo": {
				    "stopid": string,
				  },
				  "predictions": [
				    {
				      "title": string,  //the route title
				      "minutes": number,
				      "direction": string,
			     	      "directionType": string,
				      "schedulePrediction": bool,
				      "vehicleID": number,
				      "vehicleName": string,
				      "tag": string,
				      "agency": string,	
				      "agencyName": string
				    }
				  ]
				}
				

Bus Locations

This will display location information for buses on a specific route. This takes two parameters, agency for the transit agency for the route and route for the route tag.

URI - https://api.ebongo.org/buslocation?agency=XXXX&route=XXXX


				{
				  "buses": [
				    {
				      "id": number,
				      "lat": number,
				      "lng": number
				    }
				  ]
				}