Weather - Get Tropical Storm Forecast
Use to get a list of tropical storms forecasted by national weather forecasting
agencies.
The Get Tropical Storm Forecasts API is an HTTP GET request that returns
individual government-issued tropical storm forecasts. Information about the
forecasted tropical storms includes, location, status, date the forecast was
created, window, wind speed and wind radii.
GET {endpoint}/weather/tropical/storms/forecasts/json?api-version=1.1&year={year}&basinId={basinId}&govId={govId}
GET {endpoint}/weather/tropical/storms/forecasts/json?api-version=1.1&year={year}&basinId={basinId}&govId={govId}&unit={unit}&details={details}&radiiGeometry={radiiGeometry}&windowGeometry={windowGeometry}
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
The Azure Maps service hostname. Use |
|
format
|
path | True |
Desired format of the response. Only |
|
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
|
basin
|
query | True |
The |
|
|
gov
|
query | True |
integer (int32) |
Government storm Id |
|
year
|
query | True |
integer (int32) |
Year of the cyclone(s) |
|
details
|
query |
boolean |
When true, wind radii summary data is included in the response |
|
|
radii
|
query |
boolean |
When true, wind radii summary data and geoJSON details are included in the response |
|
|
unit
|
query |
Specifies to return the data in either metric units or imperial units. Default value is metric. |
||
|
window
|
query |
boolean |
When true, window geometry data (geoJSON) is included in the response |
Request Header
| Name | Required | Type | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Indicates the account intended for use with the Microsoft Entra ID security model. This unique ID for the Azure Maps account can be obtained from the Azure Maps management plane Account API. For more information on using Microsoft Entra ID security in Azure Maps, see Manage authentication in Azure Maps. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
The request has succeeded. |
|
| Other Status Codes |
An unexpected error response. |
Security
AadToken
These are the Microsoft Entra OAuth 2.0 Flows. When paired with Azure role-based access control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.
To implement scenarios, we recommend viewing authentication concepts. In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.
Note
- This security definition requires the use of the
x-ms-client-idheader to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the Maps management API. - The
Authorization URLis specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. - The Azure role-based access control is configured from the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.
- Usage of the Azure Maps Web SDK allows for configuration based setup of an application for multiple use cases.
- For more information on Microsoft identity platform, see Microsoft identity platform overview.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
| Name | Description |
|---|---|
| https://atlas.microsoft.com/.default |
subscription-key
This is a shared key that is provisioned when you Create an Azure Maps account in the Azure portal or using PowerShell, CLI, Azure SDKs, or REST API.
With this key, any application can access all REST API. In other words, this key can be used as a master key in the account that they are issued in.
For publicly exposed applications, our recommendation is to use the confidential client applications approach to access Azure Maps REST APIs so your key can be securely stored.
Type:
apiKey
In:
header
SAS Token
This is a shared access signature token is created from the List SAS operation on the Azure Maps resource through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.
With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.
For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the Map account resource to limit rendering abuse and regularly renew the SAS Token.
Type:
apiKey
In:
header
Examples
Get Tropical Storm Forecasts
Sample request
GET https://atlas.microsoft.com/weather/tropical/storms/forecasts/json?api-version=1.1&year=2021&basinId=NP&govId=2
Sample response
{
"results": [
{
"dateTime": "2021-04-25T06:00:00+00:00",
"initializedDateTime": "2021-04-24T18:00:00+00:00",
"location": {
"latitude": 22,
"longitude": 137.8
},
"maxWindGust": {
"unit": "km/h",
"unitType": 7,
"value": 92.6
},
"status": "Tropical Storm",
"sustainedWind": {
"unit": "km/h",
"unitType": 7,
"value": 74.1
},
"window": {
"left": {
"latitude": 22.56387,
"longitude": 137.739517
},
"right": {
"latitude": 21.4361,
"longitude": 137.860489
}
}
},
{
"dateTime": "2021-04-25T18:00:00+00:00",
"initializedDateTime": "2021-04-24T18:00:00+00:00",
"location": {
"latitude": 23.7,
"longitude": 142.4
},
"maxWindGust": {
"unit": "km/h",
"unitType": 7,
"value": 92.6
},
"status": "Tropical Storm",
"sustainedWind": {
"unit": "km/h",
"unitType": 7,
"value": 74.1
},
"window": {
"left": {
"latitude": 24.45283,
"longitude": 142.055313
},
"right": {
"latitude": 22.94641,
"longitude": 142.744675
}
}
}
]
}
Definitions
| Name | Description |
|---|---|
|
Basin |
The |
|
Error |
The resource management error additional info. |
|
Error |
The error detail. |
|
Error |
Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). |
|
Geo |
A valid |
|
Geo |
A valid |
|
Geo |
A valid |
|
Geo |
A valid |
|
Geo |
A valid |
|
Geo |
Specifies the |
|
Geo |
A valid |
|
Geo |
A valid |
|
Json |
Desired format of the response. Only |
|
Lat |
A location represented as a latitude and longitude. |
|
Radius |
One quadrant of a tropical storm's wind radii, returned as one entry in
|
|
Storm |
A single forecast point along a tropical storm's predicted track,
returned as one entry in |
|
Storm |
The response returned by the Get Tropical Storm Forecast operation,
giving the official government-issued forecast track for a single
tropical storm identified by |
|
Storm |
A wind radii summary describing the wind distribution around a tropical
storm's center for a single wind-speed threshold (typically the 34-,
50-, or 64-knot radii). Returned as one entry per threshold in
|
|
Unit |
An integer value associated with the type of unit being displayed. For example, 17 for Celsius, 18 for Fahrenheit. Can be used for unit translation. For more information, see Weather services in Azure Maps. |
|
Weather |
Specifies whether to return data in metric or imperial units, with metric as the default. For example:
|
|
Weather |
Values for weather-related metrics such as temperature, dew point, and wind speed, presented in either metric or imperial units, as specified in the unit URI parameter. For more information, see Unit types in the article Weather services in Azure Maps. |
|
Weather |
The forecast window covering one segment of a tropical storm's predicted
track, returned as |
BasinId
The basinId enum categorizes the different ocean basins where tropical
storms can originate. Each basin is assigned a unique identifier to help
specify the location of the storm's origin.
| Value | Description |
|---|---|
| AL |
The Atlantic Ocean. Crucial for tracking hurricanes that affect the Americas and the Caribbean. It is one of the most active regions for tropical storms. |
| CP |
The Central Pacific Ocean. This basin is used for storms affecting Hawaii and surrounding areas. |
| EP |
The Eastern Pacific Ocean. This basin tracks storms impacting the western coast of the Americas, including Mexico and Central America. It is adjacent to the Central Pacific basin. |
| NI |
The North Indian Ocean. This basin covers storms impacting South Asia, including countries like India and Bangladesh, which are frequently affected by cyclones. |
| NP |
The Northwest Pacific Ocean. This basin is important for tracking typhoons that affect East Asia, including countries like China, Japan, and the Philippines. It is the most active tropical storm regions globally. |
| SI |
The South Indian Ocean. This basin, positioned south of the equator, covers cyclones impacting Madagascar, Africa, and surrounding regions. |
| SP |
The South Pacific Ocean. This basin, positioned south of the equator, is relevant for cyclones affecting Australia and the South Pacific islands. |
ErrorAdditionalInfo
The resource management error additional info.
| Name | Type | Description |
|---|---|---|
| info |
maps.weather.gettropicalstormforecast |
The additional info. |
| type |
string |
The additional info type. |
ErrorDetail
The error detail.
| Name | Type | Description |
|---|---|---|
| additionalInfo |
The error additional info. |
|
| code |
string |
The error code. |
| details |
The error details. |
|
| message |
string |
The error message. |
| target |
string |
The error target. |
ErrorResponse
Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
| Name | Type | Description |
|---|---|---|
| error |
The error object. |
GeoJsonGeometryCollection
A valid GeoJSON GeometryCollection object type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| geometries | GeoJsonGeometry[]: |
Contains a list of valid |
| type |
string:
Geometry |
Specifies the |
GeoJsonLineString
A valid GeoJSON LineString geometry type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Coordinates for the |
| type |
string:
Line |
Specifies the |
GeoJsonMultiLineString
A valid GeoJSON MultiLineString geometry type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Coordinates for the |
| type |
string:
Multi |
Specifies the |
GeoJsonMultiPoint
A valid GeoJSON MultiPoint geometry type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Coordinates for the |
| type |
string:
Multi |
Specifies the |
GeoJsonMultiPolygon
A valid GeoJSON MultiPolygon object type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Contains a list of valid |
| type |
string:
Multi |
Specifies the |
GeoJsonObjectType
Specifies the GeoJSON type. Must be one of the nine valid GeoJSON object
types - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon,
GeometryCollection, Feature and FeatureCollection.
| Value | Description |
|---|---|
| Point |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| FeatureCollection |
|
GeoJsonPoint
A valid GeoJSON Point geometry type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
A |
| type |
string:
Point |
Specifies the |
GeoJsonPolygon
A valid GeoJSON Polygon geometry type. Please refer to RFC
7946 for details.
| Name | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Coordinates for the |
| type |
string:
Polygon |
Specifies the |
JsonFormat
Desired format of the response. Only json format is supported.
| Value | Description |
|---|---|
| json |
LatLongPair
A location represented as a latitude and longitude.
| Name | Type | Description |
|---|---|---|
| latitude |
number (double) |
Latitude property |
| longitude |
number (double) |
Longitude property |
RadiusSector
One quadrant of a tropical storm's wind radii, returned as one entry in
StormWindRadiiSummary.radiusSectorData. Each sector is bracketed in
direction by beginBearing and endBearing (azimuth degrees clockwise
from true North) and in distance by range (nautical miles), recording
how far winds at or above the parent summary's windSpeed threshold
extend in that quadrant. The four sectors on a StormWindRadiiSummary
typically span 0°-90° (NE), 90°-180° (SE), 180°-270° (SW),
and 270°-360° (NW).
| Name | Type | Description |
|---|---|---|
| beginBearing |
number (double) |
The starting angle of the sector, in azimuth degrees clockwise from true North (0° = N, 90° = E, 180° = S, 270° = W). For example, 0 for the NE quadrant. |
| endBearing |
number (double) |
The ending angle of the sector, using the same azimuth convention as
|
| range |
number (double) |
The maximum distance from the storm's center, in nautical miles (NM),
at which winds at or above the parent
|
StormForecast
A single forecast point along a tropical storm's predicted track,
returned as one entry in StormForecastResult.results. Each entry
reports the storm's forecasted position, sustained wind and wind-gust
speeds, the storm's classification at the forecast time (for example,
Tropical Storm), and the forecast window for that valid time. When
the request asks for wind-radii detail, the entry also carries a
windRadiiSummary array describing the wind distribution around the
storm's center.
| Name | Type | Description |
|---|---|---|
| dateTime |
string |
The valid time of this forecast point - the future moment the forecasted position and conditions apply to - in ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm). For example, 2021-04-25T06:00:00+00:00. |
| initializedDateTime |
string |
The time at which the forecast was issued, in ISO
8601 format
(yyyy-mm-ddThh:mm:ss-hh:mm). For example,
2021-04-24T18:00:00+00:00. Typically earlier than |
| location |
The storm's forecasted position at this point on the track, given as latitude and longitude - for example, latitude 22, longitude 137.8. |
|
| maxWindGust |
The expected maximum short-burst wind-gust speed and direction at this forecast point, measured in kilometers per hour (km/h) or miles per hour (mph) depending on the unit specified in the request - for example, 92.6 km/h. Wind direction is in azimuth degrees, measured clockwise from true North (0° = N, 90° = E, 180° = S, 270° = W). May be NULL. |
|
| status |
string |
The storm's classification at this forecast point, in English - for example, Tropical Storm. Possible values:
|
| sustainedWind |
The maximum sustained wind speed expected at this forecast point, measured in kilometers per hour (km/h) or miles per hour (mph) depending on the unit specified in the request - for example, 74.1 km/h. |
|
| windRadiiSummary |
Wind radii summaries describing the wind distribution around the storm's center at this forecast point - one entry per wind-speed threshold (such as the 34-, 50-, and 64-knot radii), each enumerating how far winds at or above that speed extend in the NE, SE, SW, and NW quadrants. Returned only when the request asks for wind-radii detail. |
|
| window |
The forecast window covering this point on the track - the time range
the forecast applies to, the storm's classification at the start and
end of that range, and the left and right edges of the storm's
projected path. When the request asks for the window geometry,
|
StormForecastResult
The response returned by the Get Tropical Storm Forecast operation,
giving the official government-issued forecast track for a single
tropical storm identified by basinId, govId, and year. Each entry
in the results array is a StormForecast reporting the storm's
forecasted position, status, sustained wind and wind-gust speeds, and
forecast window for one point in time along the predicted track. When
the result set is too large to fit in a single response, nextLink
carries the URL for the next page.
| Name | Type | Description |
|---|---|---|
| nextLink |
string |
The URL to retrieve the next page of results when the response is paginated, suitable for navigating through result sets too large to return in a single call. Empty when there are no further pages. |
| results |
The forecast points along the storm's predicted track, in chronological
order. Each |
StormWindRadiiSummary
A wind radii summary describing the wind distribution around a tropical
storm's center for a single wind-speed threshold (typically the 34-,
50-, or 64-knot radii). Returned as one entry per threshold in
StormForecast.windRadiiSummary (forecast track) or
StormLocation.windRadiiSummary (observed track) when the request asks
for wind-radii detail. Combines the threshold itself (windSpeed) with
a radiusSectorData array carrying one sector per quadrant (NE, SE,
SW, NW) that records how far winds at or above that speed extend from
the storm's center. When the request also asks for the radii geometry,
radiiGeometry carries a GeoJSON representation of the affected area.
| Name | Type | Description |
|---|---|---|
| dateTime |
string |
The valid time the wind-radii data applies to, in ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm). For example, 2025-04-29T07:00:00-07:00. |
| radiiGeometry | GeoJsonGeometry: |
A GeoJSON representation of the area around the storm's center where
winds at or above |
| radiusSectorData |
One |
|
| windSpeed |
The wind-speed threshold this entry describes (typically 34, 50,
or 64 knots). All four sectors in |
UnitType
An integer value associated with the type of unit being displayed. For example, 17 for Celsius, 18 for Fahrenheit. Can be used for unit translation. For more information, see Weather services in Azure Maps.
| Value | Description |
|---|---|
| 0 |
feet |
| 1 |
inches |
| 2 |
miles |
| 3 |
millimeter |
| 4 |
centimeter |
| 5 |
meter |
| 6 |
kilometer |
| 7 |
kilometersPerHour |
| 8 |
knots |
| 9 |
milesPerHour |
| 10 |
metersPerSecond |
| 11 |
hectoPascals |
| 12 |
inchesOfMercury |
| 13 |
kiloPascals |
| 14 |
millibars |
| 15 |
millimetersOfMercury |
| 16 |
poundsPerSquareInch |
| 17 |
Celsius |
| 18 |
Fahrenheit |
| 19 |
kelvin |
| 20 |
percent |
| 21 |
float |
| 22 |
integer |
| 31 |
MicrogramsPerCubicMeterOfAir |
WeatherDataUnit
Specifies whether to return data in metric or imperial units, with metric as the default. For example:
- Metric: millimeter (mm), meter (m), kilometer (km), Celsius (C)
- Imperial: inch (in), foot (ft), mile (mi), Fahrenheit (F)
| Value | Description |
|---|---|
| imperial |
Return data using imperial units such as Fahrenheit (F) for temperature and miles (mi) for distance. |
| metric |
Return data using metric units such as Celsius (C) for temperature and kilometer (km) for distance. |
WeatherValue
Values for weather-related metrics such as temperature, dew point, and wind speed, presented in either metric or imperial units, as specified in the unit URI parameter. For more information, see Unit types in the article Weather services in Azure Maps.
| Name | Type | Description |
|---|---|---|
| unit |
string |
The unit of measurement used in the return value, such as "C" for Celsius, "F" for Fahrenheit. |
| unitType |
An integer representing the type of unit. For example, 0 for feet, 1 for inches, 2 for miles. For a complete list, see Unit types in the article Weather services in Azure Maps. |
|
| value |
number (float) |
The measured value expressed in the specified unit. |
WeatherWindow
The forecast window covering one segment of a tropical storm's predicted
track, returned as StormForecast.window. Each window represents the
area of uncertainty around the storm's projected path - bounded in time
by beginDateTime and endDateTime and laterally by the left and
right points marking the left and right edges of the path relative to
the storm's direction of travel - and reports the storm's classification
at the start and end of the segment (beginStatus, endStatus). When
the request asks for the window geometry, geometry carries a GeoJSON
representation of the affected area.
| Name | Type | Description |
|---|---|---|
| beginDateTime |
string (date-time) |
The date and time at which this segment of the forecast window begins, in ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm). For example, 2025-04-29T07:00:00-07:00. |
| beginStatus |
string |
The storm's classification at the start of this window segment - for
example, Tropical Storm. Uses the same set of values as
|
| endDateTime |
string (date-time) |
The date and time at which this segment of the forecast window ends, in ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm). For example, 2025-04-29T07:00:00-07:00. |
| endStatus |
string |
The storm's classification at the end of this window segment - for
example, Tropical Storm. Uses the same set of values as
|
| geometry | GeoJsonGeometry: |
A GeoJSON representation of the area affected by the storm across this window segment, suitable for rendering the projected path on a map. Returned only when the request asks for the window geometry. |
| left |
The point at the left edge of the storm's projected path for this segment - left relative to the storm's direction of travel - given as latitude and longitude. For example, latitude 22.56387, longitude 137.739517. |
|
| right |
The point at the right edge of the storm's projected path for this
segment - opposite |