Weather API - Road Weather Alerts
Road Weather AlertsThe /roadweather/alerts endpoint displays alert polygons that warn drivers about hazardous road conditions. Built on nowcast data, each alert covers one type of hazard, such as heavy rain, low visibility, high wind, blizzard, or slippery roads. It also provides a description of the reasoning for the alert type and supports three levels of severity ranging from yellow to red.
Alerts are updated every 15 minutes and focus on the next 15 minutes, so you can show drivers where conditions are dangerous right now.
Requests
Every request to the endpoint must include one of the supported actions in the url.
https://data.api.xweather.com/roadweather/alerts/{action}?client_id={client_id}&client_secret={client_secret}&{params}Supported Actions
The following actions are supported with the /roadweather/alerts endpoint:
| Action | Description |
|---|---|
| :id | Type: stringTypically used for passing a geographical location name or identifier such as city name, lat/long, or even US and Canadian postal codes. Learn more. |
| contains | Type: stringUsed with polygon based products (convective outlook, drought monitor, etc.) to determine if the queried location is inside of an impacted area. Learn more. |
| route | Type: stringAllows you to pass several coordinates along a custom route to return data points at each location. Learn more. |
| affects | Type: stringReturns a list of locations that are currently affected by a weather event. Criteria for the location(s) can be determined in your query parameters. Learn more. |
Response
The following is an example of what each object in the response will consist of. Depending on your requested action, the response may contain multiple instances of this object within an array.
Properties
id (string)
Unique identifier for the alert. Pass this value as p to the affects action to find covered places; it is not a location for the :id action.
region (string)
Data region associated with the alert, such as us.
alertType (string)
Hazard type: heavy-rain, low-visibility, high-wind, blizzard, or slippery-road.
severity (string)
Alert severity, from lowest to highest: yellow, orange, red.
detail (string)
Description explaining the hazardous conditions that triggered the alert.
issuedTimestamp (number)
UNIX timestamp in seconds when the alert was issued.
range (object)
Validity period of the alert.
range.minTimestamp (number)
UNIX timestamp in seconds for the start of the alert validity period.
range.minTimestampISO (string)
ISO 8601 date/time for the start of the alert validity period, in the requested location’s time zone.
range.maxTimestamp (number)
UNIX timestamp in seconds for the end of the alert validity period.
range.maxTimestampISO (string)
ISO 8601 date/time for the end of the alert validity period, in the requested location’s time zone.
place (object)
Information about the requested location. Included for JSON location requests; omitted from GeoJSON alert features.
place.name (string)
Name of the requested place, when available.
place.state (string)
State or province abbreviation for the requested place, when available.
place.country (string)
Country abbreviation for the requested place, when available.
profile (object)
Elevation and time zone of the requested location. Included for JSON location requests; omitted from GeoJSON alert features.
profile.elevM (number)
Elevation of the requested location in meters. Null when unavailable.
profile.elevFT (number)
Elevation of the requested location in feet. Null when unavailable.
profile.tz (string)
Time zone of the requested location, such as America/Chicago.
geoPoly (object)
GeoJSON geometry describing the alert coverage area. Null unless filter=geo is supplied. With format=geojson, returned as the feature geometry instead.
geoPoly.type (string)
GeoJSON geometry type, such as Polygon or MultiPolygon.
geoPoly.coordinates (array)
GeoJSON coordinate arrays defining the alert polygon, in longitude, latitude order.
{
"success": true,
"error": null,
"response": [
{
"id": "75735f313738363437333030305f31",
"region": "us",
"alertType": "low-visibility",
"severity": "orange",
"detail": "visibility less than 400 meters",
"issuedTimestamp": 1786473000,
"range": {
"minTimestamp": 1786473000,
"minTimestampISO": "2026-08-11T13:30:00-05:00",
"maxTimestamp": 1786473900,
"maxTimestampISO": "2026-08-11T13:45:00-05:00"
},
"place": {
"name": "minneapolis",
"state": "mn",
"country": "us"
},
"profile": {
"elevM": 253,
"elevFT": 830,
"tz": "America/Chicago"
},
"geoPoly": {
"type": "Polygon",
"coordinates": [
[
[
-93.5,
44.8
],
[
-93,
44.8
],
[
-93,
45.2
],
[
-93.5,
45.2
],
[
-93.5,
44.8
]
]
]
}
}
]
}