API Documentation


The following outlines the resources available via the 511WI API.

Api Calls
ResourceDescription
GET GetEvents

Returns all event types.

GET GetRoadways

Returns all roadway names.

GET GetCameras

Returns all cameras.

GET GetMessageSigns

Returns all VMS.

GET GetAlerts

Returns all traffic alerts.

GET GetWinterRoadConditions

Returns all winter road conditions.

Legacy API Documentation

Resource Description
GetWinterRoadConditions Returns all active winter road condition events.
GetMainlineRoutes Returns the route configuration and status in the 511WI system. This includes travel time and average speed for interchange to interchange freeway segments updated every 60 seconds.
GetMainlineLinks Returns the configuration and status of Vehicle Detector Station links within the 511WI system. This is defined as the portion of roadway between two vehicle detectors on a roadway.
GetAlerts Returns a list of Alerts. These are also known as Floodgates and are the high priority messages scrolling across the header of the 511WI website.
GetIncidents Returns all active incidents. This data is updated every minute.
GetRoadways Returns a list of roadways that are configured within the 511WI system.
GetRoadwork Returns all active or planned roadwork. This data is updated every minute.
GetMessageSigns Returns the configuration and status of all message signs within the 511WI system.
GetCameras Returns the configuration of all cameras in the 511WI system.

GetWinterRoadConditions

Resource URL - https://511wi.gov/web/api/winterroadconditions?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/winterroadconditions?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"Condition":"Good Winter Driving","EndCounty":"MONROE","LocationDescription":"Between WIS 82 and I-90","Region":"Southwest Region","SegmentCoordinates":[{"Latitude":43.79664,"Longitude":-90.05632},{"Latitude":43.79903,"Longitude":-90.05857},{"Latitude":43.80253,"Longitude":-90.06212},{"Latitude":43.8037,"Longitude":-90.06332},{"Latitude":43.81061,"Longitude":-90.07064},{"Latitude":43.81183,"Longitude":-90.07171}
Xml Sample

<ArrayOfWinterRoadCondition xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<WinterRoadCondition>

<Condition>Good Winter Driving</Condition>

<EndCounty>MONROE</EndCounty>

<LocationDescription>Between WIS 82 and I-90</LocationDescription>

<Region>Southwest Region</Region>

<SegmentCoordinates xmlns:a="http://schemas.datacontract.org/2004/07/IBI.ATIS.Common.Data">...</SegmentCoordinates>

<StartCounty>JUNEAU</StartCounty>

</WinterRoadCondition>

</ArrayOfWinterRoadCondition>

GetMainlineRoutes

Resource URL - https://511wi.gov/web/api/MainlineRoutes?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/mainlineroutes?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"DirectionOfTravel":"Northbound","EndLatitude":0,"EndLongitude":0,"ID":"STOC-Milwaukee::803","LengthMeters":7249,"Links":null,"Name":"Wausau I-39 NB: Maple Ridge Rd to WIS 29 E","RoadwayName":"I-39","SpeedMetersPerHour":null,"StartLatitude":0,"StartLongitude":0,"TravelTimeMinutes":5}
Xml Sample

<ArrayOfRoute xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Route>

<DirectionOfTravel>Northbound</DirectionOfTravel>

<EndLatitude>0</EndLatitude>

<EndLongitude>0</EndLongitude>

<ID>STOC-Milwaukee::803</ID>

<LengthMeters>7249</LengthMeters>

<Links i:nil="true"/>

<Name>Wausau I-39 NB: Maple Ridge Rd to WIS 29 E</Name>

<RoadwayName>I-39</RoadwayName>

<SpeedMetersPerHour i:nil="true"/>

<StartLatitude>0</StartLatitude>

<StartLongitude>0</StartLongitude>

<TravelTimeMinutes>5</TravelTimeMinutes>

</Route>

</ArrayOfRoute>

Resource URL - https://511wi.gov/web/api/MainlineLinks?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/mainlinelinks?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"DirectionOfTravel":"Westbound","EndLatitude":43.05339,"EndLongitude":-89.49765,"ID":"STOC-Milwaukee::117","RoadwayName":"WB Beltline","SpeedMetersPerHour":156000,"StartLatitude":43.0525,"StartLongitude":-89.48749}
Xml Sample

<ArrayOfLink xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Link>

<DirectionOfTravel>Westbound</DirectionOfTravel>

<EndLatitude>43.05339</EndLatitude>

<EndLongitude>-89.49765</EndLongitude>

<ID>STOC-Milwaukee::117</ID>

<RoadwayName>WB Beltline</RoadwayName>

<SpeedMetersPerHour>156000</SpeedMetersPerHour>

<StartLatitude>43.0525</StartLatitude>

<StartLongitude>-89.48749</StartLongitude>

</Link>

</ArrayOfLink>

GetAlerts

Resource URL - https://511wi.gov/web/api/alerts?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/alerts?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"CountyNames":["all"],"ID":"2005","Message":"Alert 1","Notes":"test"}
Xml Sample

<ArrayOfAlert xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Alert>

<CountyNames xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">

<a:string>all</a:string>

</CountyNames>

<ID>2005</ID>

<Message>Alert 1</Message>

<Notes>test</Notes>

</Alert>

<Alert>

</ArrayOfAlert>

GetIncidents

Resource URL - https://511wi.gov/web/api/Incidents?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/incidents?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"CountyName":"Milwaukee","Description":"Disabled semi trailer","DirectionOfTravel":"Southbound","ID":"WisDOT IMS::255120","LanesAffected":"No Data","LastUpdated":"11:22am, 12\/30\/14","Latitude":43.081539,"LcsEntries":[],"Location":"At W KEEFE AVE","Longitude":-87.920671,"PlannedEndDate":"","Reported":"12:00am, 1\/1\/01","RoadwayName":"I-43","Severity":"Unknown","StartDate":"12:00am, 12\/30\/14"}
Xml Sample

<ArrayOfEvent xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Event>

<CountyName>Milwaukee</CountyName>

<Description>Disabled semi trailer</Description>

<DirectionOfTravel>Southbound</DirectionOfTravel>

<ID>WisDOT IMS::255120</ID>

<LanesAffected>No Data</LanesAffected>

<LastUpdated>11:22am, 12/30/14</LastUpdated>

<Latitude>43.081539</Latitude>

<LcsEntries/>

<Location>At W KEEFE AVE</Location>

<Longitude>-87.920671</Longitude>

<PlannedEndDate/>

<Reported>12:00am, 1/1/01</Reported>

<RoadwayName>I-43</RoadwayName>

<Severity>Unknown</Severity>

<StartDate>12:00am, 12/30/14</StartDate>

</Event> </ArrayOfEvent>

GetRoadways

Resource URL - https://511wi.gov/web/api/roadways?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/roadways?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"RoadwayName":"US 2","SortOrder":2}
Xml Sample

<ArrayOfRoadway xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Roadway>

<RoadwayName>US 2</RoadwayName>

<SortOrder>2</SortOrder>

</Roadway>

</ArrayOfRoadway>

GetRoadwork

Resource URL - https://511wi.gov/web/api/Roadwork?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/roadwork?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"CountyName":"Milwaukee","Description":"Ramp Full Closure","DirectionOfTravel":"Westbound","ID":"WisDOT LCS::LCS-63912-1","LanesAffected":"No Data","LastUpdated":"10:20am, 11\/26\/14","Latitude":43.030688,"LcsEntries":[],"Location":"At ON RAMP FROM MITCHELL","Longitude":-87.980729,"PlannedEndDate":"11:45pm, 12\/16\/15","Reported":"12:00am, 12\/6\/14","RoadwayName":"I-94","Severity":"Unknown","StartDate":"12:00am, 12\/6\/14"}
Xml Sample

<ArrayOfEvent xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Event>

<CountyName>Milwaukee</CountyName>

<Description>Ramp Full Closure</Description>

<DirectionOfTravel>Westbound</DirectionOfTravel>

<ID>WisDOT LCS::LCS-63912-1</ID>

<LanesAffected>No Data</LanesAffected>

<LastUpdated>10:20am, 11/26/14</LastUpdated>

<Latitude>43.030688</Latitude>

<LcsEntries/>

<Location>At ON RAMP FROM MITCHELL</Location>

<Longitude>-87.980729</Longitude>

<PlannedEndDate>11:45pm, 12/16/15</PlannedEndDate>

<Reported>12:00am, 12/6/14</Reported>

<RoadwayName>I-94</RoadwayName>

<Severity>Unknown</Severity>

<StartDate>12:00am, 12/6/14</StartDate>

</Event>

</ArrayOfEvent>

GetMessageSigns

Resource URL - https://511wi.gov/web/api/MessageSigns?key={key}&format={format}

Resource Information
Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/messagesigns?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"DirectionOfTravel":"Northbound","ID":"MILWAUKEE::1264","Latitude":43.001651,"Longitude":-89.491083,"
Messages":["BUCKLE UP\u000a489 TRAFFIC RELATED\u000aDEATHS THIS YEAR"],"Name":"US 18\/151 NB (Verona Rd) at Fitchrona Rd","Roadway":"US 18\/151"}
Xml Sample

<ArrayOfMessageSign xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<MessageSign>

<DirectionOfTravel>Northbound</DirectionOfTravel>

<ID>MILWAUKEE::1264</ID>

<Latitude>43.001651</Latitude>

<Longitude>-89.491083</Longitude>

<Messages xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">

<a:string>BUCKLE UP 489 TRAFFIC RELATED DEATHS THIS YEAR</a:string>

</Messages>

<Name>US 18/151 NB (Verona Rd) at Fitchrona Rd</Name>

<Roadway>US 18/151</Roadway>

</MessageSign>

</ArrayOfMessageSign>

GetCameras

Resource URL - https://511wi.gov/web/api/cameras?key={key}&format={format}

Rate Limited? Yes
Requires Authentication Yes
Response Formats json or xml
Http Methods GET
Parameters
  • Key - required
  • Format - Optional
Example Request

https://511wi.gov/web/api/cameras?key=4114551d2d4a403a921eab1c4c22ec8b&format=xml

Json Sample

{"DirectionOfTravel":"Northbound","ID":"MILWAUKEE::CCTV-05-0071","ImageUrl":"http:\/\/www.dot.wi.gov\/travel\/greenbay\/cameras\/cam336.jpg","Latitude":44.520269,"
Longitude":-87.967748,"Name":"I-43 at Danz Ave","RoadwayName":"I-43"}
Xml Sample

<ArrayOfCamera xmlns="http://schemas.datacontract.org/2004/07/IBI.ATIS.Web.ApiServiceModels" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<Camera>

<DirectionOfTravel>Northbound</DirectionOfTravel>

<ID>MILWAUKEE::CCTV-05-0071</ID>

<ImageUrl> http://www.dot.wi.gov/travel/greenbay/cameras/cam336.jpg </ImageUrl>

<Latitude>44.520269</Latitude>

<Longitude>-87.967748</Longitude>

<Name>I-43 at Danz Ave</Name>

<RoadwayName>I-43</RoadwayName>

</Camera>

</ArrayOfCamera>

Things to know about the REST API

Entirely HTTP-Based Methods to retrieve data from the 511WI API require a GET request. API Methods that require a particular HTTP method will return an error if you do not make your request with the correct one.

The API is a RESTful resource

The 511WI API attempts to conform to the design principles of Representational State Transfer (REST). Simply change the format extension a request to get results in the format of your choice. The API presently supports the following data formats: XML and JSON.

Rate Limiting

API usage is rate limited to protect 511WI from abuse. Authenticated calls are limited to 1 requests per minute for each method.

Knowing if you are rate limited

If you are being rate-limited by the REST API it will receive HTTP 400 response codes.

Error Codes & Responses

HTTP Status Codes

The 511WI API attempts to return appropriate HTTP status codes for every request. The following are the codes that may be returned:

Code Status Description
200 OK Success!
400 Bad Request The request was invalid. An accompanying error message will explain why. This is the status code that will be returned during rate limiting and if an invalid key is used.
403 Forbidden The request is understood, but it has been refused.
404 Not Found The URI requested is invalid or the resource requested does not exist.
500 Internal Server Error Something is broke. Please contact the customer feedback to report this issue so the 511WI team can investigate
503 Service Unavailable The 511WI servers are up, but overloaded with requests. Try again later.
Error Messages

When the 511WI API returns error messages, it does so in XML format.