GEOAMCAN API / DATASET

NOAA Storm Events History API

Historical hail, tornado, flood and other reported weather events, with nominal damage estimates, injuries/deaths, narratives and reported begin/end/supplemental points. Reporting coverage changes by period; event reports/segments are not unique disasters. County, forecast-zone and marine codes remain distinct. Reported points are not storm footprints, flood extents, hail swaths or surveyed tornado paths. Missing locations or reports do not establish no hazard, and damage estimates are not insurance claims or parcel-loss proof. Explore coverage, source context and a verified API example.

Geography1950–2026 published event reports; latest year partial; source county/forecast-zone/marine geography and reported points
Release1950–2026 NOAA Storm Events; source
Available records3,907,998

What you can build

Historical hail, tornado, flood and other reported weather events, with nominal damage estimates, injuries/deaths, narratives and reported begin/end/supplemental points. Reporting coverage changes by period; event reports/segments are not unique disasters. County, forecast-zone and marine codes remain distinct. Reported points are not storm footprints, flood extents, hail swaths or surveyed tornado paths. Missing locations or reports do not establish no hazard, and damage estimates are not insurance claims or parcel-loss proof. Use this dataset as a sourced input to an application, analytical model or retrieval tool. Retain its native dimensions when joining it with your own records.

Query NOAA Storm Events History

The example below is a real bounded request against the available release. Replace the environment variable with your server-side API credential. Review endpoint parameters and response schemas before changing selectors.

Verified API request
curl --fail --get "https://api.geoamcan.com/v1/environment/storm-events?state=48&hazard=tornado&year_start=2025&year_end=2025&limit=1" \
  -H "Authorization: Bearer $GEOAMCAN_API_KEY"

Saved response excerpt

{
  "requested_area": {
    "hazard": "tornado",
    "event_type": null,
    "event_id": null,
    "episode_id": null,
    "state": "48",
    "county": null,
    "year_start": 2025,
    "year_end": 2025,
    "lat": null,
    "lon": null,
    "radius_m": 10000,
    "bbox": null
  },
  "data": [
    {
      "year": 2025,
      "event_id": 1243209,
      "episode_id": 200583,
      "state_fips": "48",
      "state_name": "TEXAS",
      "cz_type": "C",
      "cz_code": "153",
      "cz_name": "FLOYD",
      "event_type": "Tornado",
      "county_fips": "48153",
      "begin_local": "2025-04-24T18:10:00",
      "end_local": "2025-04-24T18:12:00"
    }
  ],
  "availability": {
    "status": "available",
    "coverage": [
      {
        "year": 1950,
        "events": 223,
        "last_event": "1950-12-02 17:30:00",
        "first_event": "1950-01-03 11:00:00",
        "deaths_direct": 70,
        "located_events": 223,
        "crop_damage_usd": "0",
        "deaths_indirect": 0,
        "invalid_geometries": 0,
        "property_damage_usd": "34481650.00",
        "supplemental_locations": 0,
        "orphan_source_locations": 0
      }
    ],
    "latest_year_partial": true,
    "spatial_method": "any reported begin/end or supplemental point, not an event footprint",
    "ordering": "source year descending, event ID ascending; not distance-ranked",
    "hazard_group_event_types": [
      "Tornado"
    ]
  },
  "snapshot": {
    "noaa-storm-events": {
      "release_id": 119,
      "release": "1950–2026 NOAA Storm Events; source revision 94baf6f942cb",
      "fingerprint": "c979dbd21ebe611b799d5deceea3ca5c"
    }
  },
  "returned_count": 1,
  "complete": false,
  "next_offset": 1,
  "limitations": [
    "NOAA NCEI/NWS reported Storm Events history, not an exhaustive hazard record, insurance claim history, parcel-loss proof or modeled risk score. Reporting practices and event coverage change: tornado records begin in 1950, hail/thunderstorm-wind records in 1955, and standardized all-event reporting in 1996; latest-year data is partial and older files can be revised. Event IDs denote reports/segments; episodes can contain several events and repeated locations are not additional disasters. Native county, forecast-zone and marine identifiers remain distinct; only CZ_TYPE=C is a county code. Spatial searches use reported begin/end and supplemental location points, not a storm footprint, hail swath, flood extent or surveyed tornado path. Unlocated reports remain available through source geography/ID searches; absence of a nearby point does not establish absence of an event. Local source timestamps/time-zone labels are not UTC. Damage values are nominal reported estimates, not insured payouts or inflation-adjusted losses; zero/missing/ambiguous values stay distinct and should not be assumed complete. Tornado F/EF scale and segments remain source-native."
  ],
  "source_attribution": {
    "noaa-storm-events": "NOAA National Centers for Environmental Information / National Weather Service Storm Events Database; https://www.ncei.noaa.gov/access/storm-events-database/"
  },
  "metric_definitions": {
    "property_damage_usd": {
      "unit": "nominal U.S. dollars",
      "meaning": "Reported estimate; not an insurance payout. Source K/M/B suffixes expanded; unknown markers flagged, no inflation adjustment."
    },
    "crop_damage_usd": {
      "unit": "nominal U.S. dollars"
    },
    "magnitude": {
      "unit": "magnitude_unit field; hail inches or wind knots where applicable",
      "meaning": "Preserve source magnitude_type and event type; not comparable between hazards"
    },
    "tornado_scale": {
      "unit": "source F/EF category, not a continuous measurement"
    },
    "local_timestamps": {
      "meaning": "Source calendar components with native timezone label; no UTC conversion or DST inference"
    },
    "distance_m": {
      "unit": "meters to nearest reported point, not a hazard edge"
    }
  }
}

Captured 2026-11-05. Excerpt omits pagination credentials and may shorten nested records. Download verified source responses.

Coverage and interpretation

NOAA NCEI/NWS reported Storm Events history, not an exhaustive hazard record, insurance claim history, parcel-loss proof or modeled risk score. Reporting practices and event coverage change: tornado records begin in 1950, hail/thunderstorm-wind records in 1955, and standardized all-event reporting in 1996; latest-year data is partial and older files can be revised. Event IDs denote reports/segments; episodes can contain several events and repeated locations are not additional disasters. Native county, forecast-zone and marine identifiers remain distinct; only CZ_TYPE=C is a county code. Spatial searches use reported begin/end and supplemental location points, not a storm footprint, hail swath, flood extent or surveyed tornado path. Unlocated reports remain available through source geography/ID searches; absence of a nearby point does not establish absence of an event. Local source timestamps/time-zone labels are not UTC. Damage values are nominal reported estimates, not insured payouts or inflation-adjusted losses; zero/missing/ambiguous values stay distinct and should not be assumed complete. Tornado F/EF scale and segments remain source-native.

The active release shown here is a catalog snapshot. Check the live catalog and response provenance for current readiness. The underlying public source and Geoamcan access terms are separate; consult the source’s licensing and attribution requirements.

Source and methodology

Source: NOAA NCEI / National Weather Service. Geoamcan is an independent API provider, with no agency affiliation or endorsement. Read our data methodology for source handling, geographic joins and update practices.

Related data

Put this data to work.

Tell us about your application, coverage needs and expected API usage.

Get API access ↗Read integration guides