Skip to content
All data sources

FEMA National Risk Index API and MCP server

No authfema-nri

Official county and census-tract screening across 18 natural hazards, expected annual loss, vulnerability, and resilience.

FEMA National Risk Index is published by FEMA National Risk Index v1.20 and covers United States counties and census tracts represented by FEMA NRI.

It is a fixed release and changes only when the publisher issues a new one.

Last verified . That is when these facts were last rebuilt from the ParcelOps source registry, not when FEMA National Risk Index v1.20 last refreshed the data itself.

API access

Your AI client reaches FEMA National Risk Index through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.

Where it came from

Freshness and coverage

FreshnessStatic · Registry entry pins the December 2025 v1.20 county and tract layers until the next verified release.
Places coveredUnited States counties and census tracts represented by FEMA NRI
Time coveredNot declared
CredentialsNo credentials required

What this source cannot tell you

  • Anything outside United States counties and census tracts represented by FEMA NRI. A request past that edge comes back empty rather than approximated.
  • Which years it spans, because the covered period is not declared.
  • Anything FEMA National Risk Index v1.20 does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
  • NRI is a comparative screening index and does not predict whether a hazard will affect a specific parcel.
  • Expected annual loss, social vulnerability, and community resilience reflect model definitions and vintages that require local validation.

Methods (3)

A method is one call your agent can make against this source.

  • searchCountyRisk

    read

    Search county NRI; pass point and hazards:["wildfire"] for peril summaries.

    FreshnessStatic (source-level)
    Input schema
    {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "pattern": "^(?:[A-Za-z]{2}|\\d{2})$"
        },
        "stateFips": {
          "type": "string",
          "pattern": "^\\d{2}$"
        },
        "countyFips": {
          "type": "string",
          "pattern": "^(?:\\d{1,3}|\\d{5})$"
        },
        "county": {
          "type": "string",
          "maxLength": 80
        },
        "bbox": {
          "type": "object",
          "description": "WGS84 box no wider or taller than five degrees.",
          "properties": {
            "minLongitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "minLatitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            },
            "maxLongitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "maxLatitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            }
          },
          "required": [
            "minLongitude",
            "minLatitude",
            "maxLongitude",
            "maxLatitude"
          ],
          "additionalProperties": false
        },
        "point": {
          "type": "object",
          "properties": {
            "longitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "latitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            }
          },
          "required": [
            "longitude",
            "latitude"
          ],
          "additionalProperties": false
        },
        "hazards": {
          "type": "array",
          "description": "Optional peril summaries; for example [\"wildfire\"]. Omit for composite-only results.",
          "maxItems": 18,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "enum": [
              "avalanche",
              "coastalFlooding",
              "coldWave",
              "drought",
              "earthquake",
              "hail",
              "heatWave",
              "hurricane",
              "iceStorm",
              "landslide",
              "lightning",
              "inlandFlooding",
              "strongWind",
              "tornado",
              "tsunami",
              "volcanicActivity",
              "wildfire",
              "winterWeather"
            ]
          }
        },
        "includeGeometry": {
          "type": "boolean"
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [],
      "additionalProperties": false
    }
  • searchTractRisk

    read

    Search tract NRI; pass point and hazards:["wildfire"] for peril summaries.

    FreshnessStatic (source-level)
    Input schema
    {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "pattern": "^(?:[A-Za-z]{2}|\\d{2})$"
        },
        "stateFips": {
          "type": "string",
          "pattern": "^\\d{2}$"
        },
        "countyFips": {
          "type": "string",
          "pattern": "^(?:\\d{1,3}|\\d{5})$"
        },
        "county": {
          "type": "string",
          "maxLength": 80
        },
        "tractGeoid": {
          "type": "string",
          "pattern": "^\\d{11}$",
          "description": "Canonical exact eleven-digit Census tract GEOID."
        },
        "tractFips": {
          "type": "string",
          "pattern": "^\\d{11}$",
          "deprecated": true,
          "description": "Backward-compatible alias for tractGeoid. Do not send both unless they are identical."
        },
        "bbox": {
          "type": "object",
          "description": "WGS84 box no wider or taller than five degrees.",
          "properties": {
            "minLongitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "minLatitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            },
            "maxLongitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "maxLatitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            }
          },
          "required": [
            "minLongitude",
            "minLatitude",
            "maxLongitude",
            "maxLatitude"
          ],
          "additionalProperties": false
        },
        "point": {
          "type": "object",
          "properties": {
            "longitude": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            },
            "latitude": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            }
          },
          "required": [
            "longitude",
            "latitude"
          ],
          "additionalProperties": false
        },
        "hazards": {
          "type": "array",
          "description": "Optional peril summaries; for example [\"wildfire\"]. Omit for composite-only results.",
          "maxItems": 18,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "enum": [
              "avalanche",
              "coastalFlooding",
              "coldWave",
              "drought",
              "earthquake",
              "hail",
              "heatWave",
              "hurricane",
              "iceStorm",
              "landslide",
              "lightning",
              "inlandFlooding",
              "strongWind",
              "tornado",
              "tsunami",
              "volcanicActivity",
              "wildfire",
              "winterWeather"
            ]
          }
        },
        "includeGeometry": {
          "type": "boolean"
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [],
      "additionalProperties": false
    }
  • getServiceInfo

    read

    Return NRI release, layer, hazard, scoring, vintage, and screening limitations.

    FreshnessStatic (source-level)
    Input schema
    {
      "type": "object",
      "properties": {},
      "required": [],
      "additionalProperties": false
    }

Where this source is used