Hurricanes API
DataMAINTAINED1 token / call

Hurricanes API

Every Atlantic and Pacific tropical cyclone NOAA has tracked since 1851: 3,266 storms with six-hourly tracks

Every tropical cyclone NOAA has ever tracked: the official HURDAT2 best-track record — 3,266 storms with 87,631 six-hourly track points covering the Atlantic since 1851 and the NE/Central Pacific since 1949, through the 2025 season. Each storm carries its peak Saffir-Simpson category, maximum winds, minimum pressure, landfall flag and full track (position, winds, pressure and status every six hours, with landfall points marked). Katrina returns category 5, 150 kt and 902 mb with its three landfalls; the strongest storm ever recorded is Patricia 2015 at 185 kt; the record 2005 Atlantic season shows its famous 31 storms, 15 hurricanes and 7 majors. The nearby endpoint answers the underwriting question directly — every category 4+ storm that passed within 100 km of Miami includes Andrew at 28.9 km and Katrina at 19.1 km, each with its closest approach and winds at that moment. Season stats trend storms, hurricanes and majors by year and basin. Built for insurance and catastrophe modeling, real estate risk, weather products, journalism and education. Public-domain NOAA data, self-hosted — no third-party calls at request time.

Every call needs an X-Api-Key header. A free key includes 500 tokens a month, no card required. 1 token per call, so the free plan covers about 500 calls a month.

No credit card requiredAccess to 125+ APIsCancel anytime
response.json
{
  "ok": true,
  "total": 1,
  "page": 1,
  "limit": 20,
  "count": 1,
  "results": [
    {
      "id": "AL122005",
      "name": "Katrina",
      "basin": "atlantic",
      "year": 2005,
      "start_date": "2005-08-23",
      "end_date": "2005-08-31",
      "category": "5",
      "max_wind_kt": 150,
      "max_wind_mph": 173,
      "min_pressure_mb": 902,
      "made_landfall": true,
      "track_points": 34
    }
  ]
}
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 125+ APIs
Your DataAndAPIs subscription unlocks every API on the platform — anime, finance, sports, and more.

Use cases for Hurricanes API

  • Draw a storm's full track with winds and pressure at each six-hour point on a map.

  • Find every hurricane that passed within a radius of a coastline, port or property for risk assessment.

  • Rank seasons or basins by storm count and intensity for climate and insurance analysis.

  • Show a storm's peak category, maximum winds and landfalls on a news or education page.

Hurricanes API endpoints

Every endpoint with its parameters and a real example response.

GETData Sources

https://api-hurricanes.dataandapis.com/v1/sources

This endpoint takes no parameters.

Example request

curl "https://api-hurricanes.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "coverage": "NOAA HURDAT2: Atlantic 1851-present, NE/Central Pacific 1949-present",
  "count": 2,
  "sources": [
    {
      "slug": "hurdat2-atlantic",
      "name": "HURDAT2 Atlantic best tracks (1851-present)",
      "publisher": "NOAA National Hurricane Center",
      "licence": "US Government work - public domain",
      "source_url": "https://www.nhc.noaa.gov/data/",
      "file_url": "https://www.nhc.noaa.gov/data/hurdat/hurdat2-1851-2025-02272026.txt",
      "cadence": "annual (post-season reanalysis each spring)",
      "record_count": 2004,
      "retrieved_at": "2026-09-06"
    },
    {
      "slug": "hurdat2-pacific",
      "name": "HURDAT2 NE/Central Pacific best tracks (1949-present)",
      "publisher": "NOAA National Hurricane Center",
      "licence": "US Government work - public domain",
      "source_url": "https://www.nhc.noaa.gov/data/",
      "file_url": "https://www.nhc.noaa.gov/data/hurdat/hurdat2-nepac-1949-2025-02272026.txt",
      "cadence": "annual (post-season reanalysis each spring)",
      "record_count": 1262,
      "retrieved_at": "2026-09-06"
    }
  ]
…
Show full response
{
  "ok": true,
  "coverage": "NOAA HURDAT2: Atlantic 1851-present, NE/Central Pacific 1949-present",
  "count": 2,
  "sources": [
    {
      "slug": "hurdat2-atlantic",
      "name": "HURDAT2 Atlantic best tracks (1851-present)",
      "publisher": "NOAA National Hurricane Center",
      "licence": "US Government work - public domain",
      "source_url": "https://www.nhc.noaa.gov/data/",
      "file_url": "https://www.nhc.noaa.gov/data/hurdat/hurdat2-1851-2025-02272026.txt",
      "cadence": "annual (post-season reanalysis each spring)",
      "record_count": 2004,
      "retrieved_at": "2026-09-06"
    },
    {
      "slug": "hurdat2-pacific",
      "name": "HURDAT2 NE/Central Pacific best tracks (1949-present)",
      "publisher": "NOAA National Hurricane Center",
      "licence": "US Government work - public domain",
      "source_url": "https://www.nhc.noaa.gov/data/",
      "file_url": "https://www.nhc.noaa.gov/data/hurdat/hurdat2-nepac-1949-2025-02272026.txt",
      "cadence": "annual (post-season reanalysis each spring)",
      "record_count": 1262,
      "retrieved_at": "2026-09-06"
    }
  ]
}

GETGet Storm Track

https://api-hurricanes.dataandapis.com/v1/storms/{id}

Path parameters

ParameterExample
idAL122005Required

Example request

curl "https://api-hurricanes.dataandapis.com/v1/storms/AL122005" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "storm": {
    "id": "AL122005",
    "name": "Katrina",
    "basin": "atlantic",
    "year": 2005,
    "start_date": "2005-08-23",
    "end_date": "2005-08-31",
    "category": "5",
    "max_wind_kt": 150,
    "max_wind_mph": 173,
    "min_pressure_mb": 902,
    "made_landfall": true,
    "track_points": 34,
    "track": [
      {
        "time": "2005-08-23T18:00:00Z",
        "latitude": 23.1,
        "longitude": -75.1,
        "wind_kt": 30,
        "pressure_mb": 1008,
        "status": "TD",
        "category": "TD",
        "landfall": false
      },
      {
        "time": "2005-08-24T00:00:00Z",
…
Show full response
{
  "ok": true,
  "storm": {
    "id": "AL122005",
    "name": "Katrina",
    "basin": "atlantic",
    "year": 2005,
    "start_date": "2005-08-23",
    "end_date": "2005-08-31",
    "category": "5",
    "max_wind_kt": 150,
    "max_wind_mph": 173,
    "min_pressure_mb": 902,
    "made_landfall": true,
    "track_points": 34,
    "track": [
      {
        "time": "2005-08-23T18:00:00Z",
        "latitude": 23.1,
        "longitude": -75.1,
        "wind_kt": 30,
        "pressure_mb": 1008,
        "status": "TD",
        "category": "TD",
        "landfall": false
      },
      {
        "time": "2005-08-24T00:00:00Z",
        "latitude": 23.4,
        "longitude": -75.7,
        "wind_kt": 30,
        "pressure_mb": 1007,
        "status": "TD",
        "category": "TD",
        "landfall": false
      },
      {
        "time": "2005-08-24T06:00:00Z",
        "latitude": 23.8,
        "longitude": -76.2,
        "wind_kt": 30,
        "pressure_mb": 1007,
        "status": "TD",
        "category": "TD",
        "landfall": false
      },
      {
        "time": "2005-08-24T12:00:00Z",
        "latitude": 24.5,
        "longitude": -76.5,
        "wind_kt": 35,
        "pressure_mb": 1006,
        "status": "TS",
        "category": "TS",
        "landfall": false
      }
    ]
  }
}

GETSearch Storms

https://api-hurricanes.dataandapis.com/v1/storms

Query parameters

ParameterExample
basinatlanticOptional
landfalltrueOptional
limit20Optional
min_category4Optional
nameKatrinaOptional
page1Optional
year2005Optional

Example request

curl "https://api-hurricanes.dataandapis.com/v1/storms?basin=atlantic&landfall=true&limit=20&min_category=4&name=Katrina&page=1&year=2005" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 1,
  "page": 1,
  "limit": 20,
  "count": 1,
  "results": [
    {
      "id": "AL122005",
      "name": "Katrina",
      "basin": "atlantic",
      "year": 2005,
      "start_date": "2005-08-23",
      "end_date": "2005-08-31",
      "category": "5",
      "max_wind_kt": 150,
      "max_wind_mph": 173,
      "min_pressure_mb": 902,
      "made_landfall": true,
      "track_points": 34
    }
  ]
}

GETSeason Statistics

https://api-hurricanes.dataandapis.com/v1/storms/stats

Query parameters

ParameterExample
basinatlanticOptional

Example request

curl "https://api-hurricanes.dataandapis.com/v1/storms/stats?basin=atlantic" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "basin": "atlantic",
  "count": 5,
  "results": [
    {
      "year": 2025,
      "storms": 13,
      "hurricanes": 6,
      "major_hurricanes": 4
    },
    {
      "year": 2024,
      "storms": 18,
      "hurricanes": 11,
      "major_hurricanes": 5
    },
    {
      "year": 2023,
      "storms": 21,
      "hurricanes": 7,
      "major_hurricanes": 3
    },
    {
      "year": 2022,
      "storms": 16,
      "hurricanes": 9,
      "major_hurricanes": 3
…
Show full response
{
  "ok": true,
  "basin": "atlantic",
  "count": 5,
  "results": [
    {
      "year": 2025,
      "storms": 13,
      "hurricanes": 6,
      "major_hurricanes": 4
    },
    {
      "year": 2024,
      "storms": 18,
      "hurricanes": 11,
      "major_hurricanes": 5
    },
    {
      "year": 2023,
      "storms": 21,
      "hurricanes": 7,
      "major_hurricanes": 3
    },
    {
      "year": 2022,
      "storms": 16,
      "hurricanes": 9,
      "major_hurricanes": 3
    },
    {
      "year": 2021,
      "storms": 21,
      "hurricanes": 7,
      "major_hurricanes": 4
    }
  ]
}

GETStorms Near A Point

https://api-hurricanes.dataandapis.com/v1/storms/nearby

Query parameters

ParameterExample
lat25.76Required
limit25Optional
lon-80.19Required
min_category4Optional
radius100Optional

Example request

curl "https://api-hurricanes.dataandapis.com/v1/storms/nearby?lat=25.76&limit=25&lon=-80.19&min_category=4&radius=100" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "lat": 25.76,
  "lon": -80.19,
  "radius_km": 100,
  "count": 5,
  "results": [
    {
      "id": "AL252005",
      "name": "Wilma",
      "basin": "atlantic",
      "year": 2005,
      "start_date": "2005-10-15",
      "end_date": "2005-10-26",
      "category": "5",
      "max_wind_kt": 160,
      "max_wind_mph": 184,
      "min_pressure_mb": 882,
      "made_landfall": true,
      "track_points": 48,
      "closest_approach_km": 94.6,
      "wind_kt_at_approach": 95,
      "approach_time": "2005-10-24T12:00:00Z"
    },
    {
      "id": "AL041992",
      "name": "Andrew",
      "basin": "atlantic",
…
Show full response
{
  "ok": true,
  "lat": 25.76,
  "lon": -80.19,
  "radius_km": 100,
  "count": 5,
  "results": [
    {
      "id": "AL252005",
      "name": "Wilma",
      "basin": "atlantic",
      "year": 2005,
      "start_date": "2005-10-15",
      "end_date": "2005-10-26",
      "category": "5",
      "max_wind_kt": 160,
      "max_wind_mph": 184,
      "min_pressure_mb": 882,
      "made_landfall": true,
      "track_points": 48,
      "closest_approach_km": 94.6,
      "wind_kt_at_approach": 95,
      "approach_time": "2005-10-24T12:00:00Z"
    },
    {
      "id": "AL041992",
      "name": "Andrew",
      "basin": "atlantic",
      "year": 1992,
      "start_date": "1992-08-16",
      "end_date": "1992-08-28",
      "category": "5",
      "max_wind_kt": 150,
      "max_wind_mph": 173,
      "min_pressure_mb": 922,
      "made_landfall": true,
      "track_points": 52,
      "closest_approach_km": 28.9,
      "wind_kt_at_approach": 145,
      "approach_time": "1992-08-24T08:40:00Z"
    },
    {
      "id": "AL122005",
      "name": "Katrina",
      "basin": "atlantic",
      "year": 2005,
      "start_date": "2005-08-23",
      "end_date": "2005-08-31",
      "category": "5",
      "max_wind_kt": 150,
      "max_wind_mph": 173,
      "min_pressure_mb": 902,
      "made_landfall": true,
      "track_points": 34,
      "closest_approach_km": 19.1,
      "wind_kt_at_approach": 70,
      "approach_time": "2005-08-26T00:00:00Z"
    },
    {
      "id": "AL091979",
      "name": "David",
      "basin": "atlantic",
      "year": 1979,
      "start_date": "1979-08-25",
      "end_date": "1979-09-08",
      "category": "5",
      "max_wind_kt": 150,
      "max_wind_mph": 173,
      "min_pressure_mb": 924,
      "made_landfall": false,
      "track_points": 55,
      "closest_approach_km": 84.1,
      "wind_kt_at_approach": 85,
      "approach_time": "1979-09-03T12:00:00Z"
    },
    {
      "id": "AL092004",
      "name": "Ivan",
      "basin": "atlantic",
      "year": 2004,
      "start_date": "2004-09-02",
      "end_date": "2004-09-24",
      "category": "5",
      "max_wind_kt": 145,
      "max_wind_mph": 167,
      "min_pressure_mb": 910,
      "made_landfall": true,
      "track_points": 94,
      "closest_approach_km": 43.9,
      "wind_kt_at_approach": 25,
      "approach_time": "2004-09-21T06:00:00Z"
    }
  ]
}

Where the data comes from

Source
NOAA HURDAT2 best-track database, Atlantic and northeast/central Pacific (public domain).
Freshness
Updated when NOAA finalises each season.

One install. Every endpoint.

No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.

3languages
5endpoints
RESTarchitecture
1key for all APIs
  • Fully typed responses — auto-completion in your IDE
  • Tracks the API in lockstep — new endpoints land same day
  • One key works across 125+ APIs on the platform
import axios from 'axios';

const { data } = await axios.get(
  'https://api-hurricanes.dataandapis.com/v1/sources',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Hurricanes API · X-Api-Key

Explore the endpoints

Browse request parameters and inspect live example responses.

Available Endpoints

Request Parameters

API URL

Headers

X-Api-Key
import axios from 'axios';

const url = 'https://api-hurricanes.dataandapis.com/v1/sources';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

One subscription. Every API.

Tokens unlock this API and 125+ others on DataAndAPIs. Switch APIs any time — we promote.

FREE

$0/mo

500 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Community support
Start free
Most Popular

STARTER

$6.99/mo

25,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Email support
Subscribe

PRO

$24.99/mo

100,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority email support
Subscribe

ULTRA

$99.99/mo

1,000,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority support
Subscribe

Need higher volume, dedicated infra, or a custom contract? Talk to sales →

Questions about Hurricanes API

Ship Hurricanes API this afternoon.

500 free tokens. No card. Plus 125+ other APIs on the same key.