Hurricane Forecasts

Comprehensive hurricane/cyclone/typhoon data from multiple global meteorological agencies including NOAA (US), JMA (Japan), Australian Bureau of Meteorology, Joint Typhoon Warning Center, RSMC La Réunion (Météo-France), MetService New Zealand, and Fiji Meteorological Service. Data includes complete storm tracks, forecast points, uncertainty cones, wind speed and intensity classifications and detailed meteorological properties, in GeoJSON format. Real-time updates as bulletins are issued (typically every 3-6 hours during active storms). Storm classifications and intensity scales vary between regions. See the "Storm Classifications" section for a complete list of possible values for stormType and shortLabel.

Get an API key OpenAPI spec for AI assistantsJSON · 105 KB

Full API reference — quickstart, authentication, request limits and attribution.

Comprehensive hurricane/cyclone/typhoon data from multiple global meteorological agencies including NOAA (US), JMA (Japan), Australian Bureau of Meteorology, Joint Typhoon Warning Center, RSMC La Réunion (Météo-France), MetService New Zealand, and Fiji Meteorological Service.

Data includes complete storm tracks, forecast points, uncertainty cones, wind speed and intensity classifications and detailed meteorological properties, in GeoJSON format. Real-time updates as bulletins are issued (typically every 3-6 hours during active storms).

Storm classifications and intensity scales vary between regions. See the "Storm Classifications" section for a complete list of possible values for stormType and shortLabel.

Endpoints

Current

Currently active storms. Returns tracking data with latest positions, intensities, and forecasts.

Query Parameters

limit_areaType: string

Limit results to specific geographic areas. Comma-separated list of area codes: "us" (Atlantic/Eastern and Central Pacific), "jp" (Western Pacific), "au" (South Pacific), "in" (North Indian Ocean), "re" (Southwest Indian Ocean/Reunion), "nz" (New Zealand), "fj" (Fiji)

limitType: string

Maximum number of storms to return (maximum 50)

GET/api/v1/hurricane/currentShell Curl
curl 'https://weatherapi.foreca.net/api/v1/hurricane/current' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
200
{
  "metadata": {
    "count": 1,
    "areas_available": [
      "us"
    ],
    "type": "current"
  },
  "data": [
    {
      "type": "FeatureCollection",
      "features": [
        {
          "properties": {
            "name": "ERIN",
            "nameLocal": "ERIN",
            "id": "al52025",
            "shortLabel": "Category",
            "attr": "NOAA",
            "label": "3",
            "date": "Aug 16, 2025",
            "timeLabel": "Sat 1pm +04",
            "timeISO8601": "2025-08-16T13:00:00+04:00",
            "issued": "2025-08-16 09:00:00",
            "dataType": "OBSERVATION",
            "advisory": 20,
            "stormType": "Hurricane",
            "title": "Hurricane ERIN",
            "category": 3,
            "direction": "West-northwest",
            "directionDEG": 285,
            "pressure": 955,
            "pressureIN": 28.2,
            "maxWind": 120.8,
            "maxWindKTS": 105,
            "maxWindKPH": 194.4,
            "maxWindMS": 54,
            "maxGust": 149.7,
            "maxGustKTS": 130.1,
            "maxGustKPH": 240.9,
            "maxGustMS": 66.9,
            "propagationSpeed": 20.1,
            "propagationSpeedKTS": 17.5,
            "propagationSpeedKPH": 32.3,
            "propagationSpeedMS": 9,
            "probabilityRadius": null,
            "source": "NOAA",
            "lastCategory": 3,
            "maxCategory": 5,
            "numberLocal": 5
          },
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [
              -61.1
            ]
          }
        }
      ]
    }
  ]
}
{
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "example": 1,
          "description": "Number of storm feature collections returned"
        },
        "areas_available": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "us"
          },
          "description": "Area codes that currently have data"
        },
        "type": {
          "type": "string",
          "example": "current",
          "description": "Always \"FeatureCollection\""
        }
      },
      "description": "Response metadata and available areas"
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "FeatureCollection",
            "description": "Always \"FeatureCollection\""
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "properties": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "ERIN",
                      "description": "Storm name (e.g., \"PODUL\", \"BERYL\")"
                    },
                    "nameLocal": {
                      "type": "string",
                      "example": "ERIN",
                      "description": "Local language storm name if available"
                    },
                    "id": {
                      "type": "string",
                      "example": "al52025",
                      "description": "Unique storm identifier (e.g., \"wp152025\")"
                    },
                    "shortLabel": {
                      "type": "string",
                      "example": "Category",
                      "description": "Abbreviated storm label. Note: US hurricanes return \"Category\" and other US storm types return an empty string. Other regions return \"D\", \"S\", \"T\", \"1\", etc."
                    },
                    "attr": {
                      "type": "string",
                      "example": "NOAA",
                      "description": "Data attribution/source agency"
                    },
                    "label": {
                      "type": "string",
                      "example": "3",
                      "description": "Storm category label. Examples: \"3\" (US Cat 3), \"TD\" (Tropical Depression), \"T\" (Typhoon), \"Cat 3\" (Australia)."
                    },
                    "date": {
                      "type": "string",
                      "example": "Aug 16, 2025",
                      "description": "Date in human-readable format"
                    },
                    "timeLabel": {
                      "type": "string",
                      "example": "Sat 1pm +04",
                      "description": "Human-readable time label"
                    },
                    "timeISO8601": {
                      "type": "string",
                      "example": "2025-08-16T13:00:00+04:00",
                      "description": "Time of observation/forecast in ISO 8601 format"
                    },
                    "issued": {
                      "type": "string",
                      "example": "2025-08-16 09:00:00",
                      "description": "Time when bulletin was issued"
                    },
                    "dataType": {
                      "type": "string",
                      "example": "OBSERVATION",
                      "description": "Data type (\"OBSERVATION\", \"FORECAST\", \"CONE\")"
                    },
                    "advisory": {
                      "type": "number",
                      "example": 20,
                      "description": "Advisory number"
                    },
                    "stormType": {
                      "type": "string",
                      "example": "Hurricane",
                      "description": "Storm classification. Values vary by agency: \"Hurricane\", \"Typhoon\", \"Tropical storm\", \"Severe Tropical Storm\", \"Cyclonic Storm\", etc."
                    },
                    "title": {
                      "type": "string",
                      "example": "Hurricane ERIN",
                      "description": "Full storm title"
                    },
                    "category": {
                      "type": "string",
                      "example": 3,
                      "description": "Current storm category/intensity"
                    },
                    "direction": {
                      "type": "string",
                      "example": "West-northwest",
                      "description": "Storm movement direction"
                    },
                    "directionDEG": {
                      "type": "number",
                      "example": 285,
                      "description": "Storm movement direction (degrees)"
                    },
                    "pressure": {
                      "type": "number",
                      "example": 955,
                      "description": "Central pressure (hPa/mb)"
                    },
                    "pressureIN": {
                      "type": "number",
                      "example": 28.2,
                      "description": "Central pressure (inches of mercury)"
                    },
                    "maxWind": {
                      "type": "number",
                      "example": 120.8,
                      "description": "Maximum sustained winds (mph)"
                    },
                    "maxWindKTS": {
                      "type": "number",
                      "example": 105,
                      "description": "Maximum sustained winds (knots)"
                    },
                    "maxWindKPH": {
                      "type": "number",
                      "example": 194.4,
                      "description": "Maximum sustained winds (km/h)"
                    },
                    "maxWindMS": {
                      "type": "number",
                      "example": 54,
                      "description": "Maximum sustained winds (m/s)"
                    },
                    "maxGust": {
                      "type": "number",
                      "example": 149.7,
                      "description": "Maximum wind gusts (mph)"
                    },
                    "maxGustKTS": {
                      "type": "number",
                      "example": 130.1,
                      "description": "Maximum wind gusts (knots)"
                    },
                    "maxGustKPH": {
                      "type": "number",
                      "example": 240.9,
                      "description": "Maximum wind gusts (km/h)"
                    },
                    "maxGustMS": {
                      "type": "number",
                      "example": 66.9,
                      "description": "Maximum wind gusts (m/s)"
                    },
                    "propagationSpeed": {
                      "type": "number",
                      "example": 20.1,
                      "description": "Storm movement speed"
                    },
                    "propagationSpeedKTS": {
                      "type": "number",
                      "example": 17.5,
                      "description": "Storm movement speed (knots)"
                    },
                    "propagationSpeedKPH": {
                      "type": "number",
                      "example": 32.3,
                      "description": "Storm movement speed (km/h)"
                    },
                    "propagationSpeedMS": {
                      "type": "number",
                      "example": 9,
                      "description": "Storm movement speed (m/s)"
                    },
                    "probabilityRadius": {
                      "type": "string",
                      "nullable": true,
                      "description": "Probability radius information for uncertainty (km)"
                    },
                    "source": {
                      "type": "string",
                      "example": "NOAA",
                      "description": "Source/agency identifier (e.g. \"NOAA\", \"JMA\")"
                    },
                    "lastCategory": {
                      "type": "string",
                      "example": 3,
                      "description": "Most recent observed category"
                    },
                    "maxCategory": {
                      "type": "string",
                      "example": 5,
                      "description": "Maximum category reached during storm lifecycle"
                    },
                    "numberLocal": {
                      "type": "number",
                      "example": 5,
                      "description": "Local numbering system storm number"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "example": "Feature",
                  "description": "Always \"FeatureCollection\""
                },
                "geometry": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "Point",
                      "description": "Always \"FeatureCollection\""
                    },
                    "coordinates": {
                      "type": "array",
                      "items": {
                        "type": "number",
                        "example": -61.1
                      },
                      "description": "GeoJSON coordinates array"
                    }
                  },
                  "description": "GeoJSON geometry (Point for positions, LineString for tracks, Polygon for cones)"
                }
              }
            },
            "description": "Array of GeoJSON features representing storm track, points, and cones"
          }
        }
      },
      "description": "Array of storm feature collections"
    }
  }
}
Success

History

Historical storm data. Returns past storms from 2020 onwards with complete lifecycle information including tracks, intensities, and forecasts. Excludes currently active storms. Each storm uses the same FeatureCollection / properties structure as the Current endpoint; the exact set of properties present varies by storm, issuing agency, and feature type (observation, forecast, cone).

Query Parameters

limitType: string

Maximum number of storms to return (default 100, maximum 1000)

yearType: string

Filter by specific year (2020 to current year)

limit_areaType: string

Limit results to specific geographic areas. Comma-separated list of area codes: "us" (Atlantic/Eastern and Central Pacific), "jp" (Western Pacific), "au" (South Pacific), "in" (North Indian Ocean), "re" (Southwest Indian Ocean/Reunion), "nz" (New Zealand), "fj" (Fiji)

GET/api/v1/hurricane/historyShell Curl
curl 'https://weatherapi.foreca.net/api/v1/hurricane/history' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
200
{
  "metadata": {
    "count": 1,
    "areas_available": [
      "us"
    ],
    "type": "historical",
    "limit_applied": 100
  },
  "data": [
    {
      "type": "FeatureCollection",
      "features": [
        {
          "geometry": {
            "coordinates": [
              131.6
            ],
            "type": "Point"
          },
          "type": "Feature",
          "properties": {
            "pressure": 910,
            "stormType": "Hurricane",
            "dataType": "OBSERVATION",
            "date": "Sep 18, 2022",
            "shortLabel": "T",
            "propagationSpeed": 11.2,
            "maxGustMS": 77.2,
            "direction": "North-northwest",
            "numberLocal": 14,
            "category": 6,
            "id": "wp182022",
            "name": "NANMADOL",
            "probabilityRadius": null,
            "timeISO8601": "2022-09-18T01:00:00+09:00",
            "maxWindMS": 54,
            "issued": "2022-09-17 16:40:00",
            "propagationSpeedMS": 5,
            "maxWind": 120.8,
            "timeLabel": "Sun 1am JST",
            "label": "VT",
            "title": "Violent typhoon NANMADOL",
            "maxGust": 172.6,
            "nameLocal": "ナンマドル",
            "advisory": 59
          }
        }
      ]
    }
  ]
}
{
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "example": 1
        },
        "areas_available": {
          "type": "array",
          "items": {
            "type": "string",
            "example": "us"
          }
        },
        "type": {
          "type": "string",
          "example": "historical"
        },
        "limit_applied": {
          "type": "number",
          "example": 100
        }
      }
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "geometry": {
                  "type": "object",
                  "properties": {
                    "coordinates": {
                      "type": "array",
                      "items": {
                        "type": "number",
                        "example": 131.6
                      }
                    },
                    "type": {
                      "type": "string",
                      "example": "Point"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "example": "Feature"
                },
                "properties": {
                  "type": "object",
                  "properties": {
                    "pressure": {
                      "type": "number",
                      "example": 910
                    },
                    "stormType": {
                      "type": "string",
                      "example": "Hurricane"
                    },
                    "dataType": {
                      "type": "string",
                      "example": "OBSERVATION"
                    },
                    "date": {
                      "type": "string",
                      "example": "Sep 18, 2022"
                    },
                    "shortLabel": {
                      "type": "string",
                      "example": "T"
                    },
                    "propagationSpeed": {
                      "type": "number",
                      "example": 11.2
                    },
                    "maxGustMS": {
                      "type": "number",
                      "example": 77.2
                    },
                    "direction": {
                      "type": "string",
                      "example": "North-northwest"
                    },
                    "numberLocal": {
                      "type": "number",
                      "example": 14
                    },
                    "category": {
                      "type": "number",
                      "example": 6
                    },
                    "id": {
                      "type": "string",
                      "example": "wp182022"
                    },
                    "name": {
                      "type": "string",
                      "example": "NANMADOL"
                    },
                    "probabilityRadius": {
                      "type": "string",
                      "nullable": true
                    },
                    "timeISO8601": {
                      "type": "string",
                      "example": "2022-09-18T01:00:00+09:00"
                    },
                    "maxWindMS": {
                      "type": "number",
                      "example": 54
                    },
                    "issued": {
                      "type": "string",
                      "example": "2022-09-17 16:40:00"
                    },
                    "propagationSpeedMS": {
                      "type": "number",
                      "example": 5
                    },
                    "maxWind": {
                      "type": "number",
                      "example": 120.8
                    },
                    "timeLabel": {
                      "type": "string",
                      "example": "Sun 1am JST"
                    },
                    "label": {
                      "type": "string",
                      "example": "VT"
                    },
                    "title": {
                      "type": "string",
                      "example": "Violent typhoon NANMADOL"
                    },
                    "maxGust": {
                      "type": "number",
                      "example": 172.6
                    },
                    "nameLocal": {
                      "type": "string",
                      "example": "ナンマドル"
                    },
                    "advisory": {
                      "type": "number",
                      "example": 59
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
Success