> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hazard Risk

> Look up natural hazard risk for a US county, census tract or point.

Returns FEMA's National Risk Index for a US county or census tract, from the US Federal Emergency Management Agency: composite risk, expected annual loss, social vulnerability, community resilience and risk, loss and frequency for 18 natural hazards. Scores are national percentiles. For planning, not a local risk assessment.

This product uses the Federal Emergency Management Agency's National Risk Index data but is not endorsed by FEMA, and FEMA cannot vouch for the data or analyses derived from it after retrieval. The index is for planning only and is not a substitute for a local risk assessment.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

**county\_fips** `string`

Five-digit county FIPS code.

**census\_tract** `string`

Eleven-digit 2020 census tract GEOID.

**latitude** `number`

Latitude in decimal degrees. From -90 to 90.

**longitude** `number`

Longitude in decimal degrees. From -180 to 180.

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

**data.request\_id** `string`

Durable job ID for audit and lookup

**data.status** `string`

Job status: `completed`

**data.tool** `string`

Always `place_hazard_risk`

**data.result** `object`

The answer, described under Result below

**data.evidence** `object`

Where the answer came from and when

**data.evidence.source** `string`

The public body the data comes from. Always `US Federal Emergency Management Agency`.

**data.evidence.source\_kind** `string`

`public` when the data comes from a public body, `commercial` otherwise

**data.evidence.retrieved\_at** `string`

When the lookup was made, as an ISO 8601 UTC time

**data.evidence.as\_of** `string | null`

The release month of the National Risk Index the answer comes from.

## Result

Nested under `data.result`.

**data.result.found** `boolean`

Found.

**data.result.level** `string`

Level.

**data.result.nri\_id** `string | null`

Nri id. `null` when the source gives no value.

**data.result.state** `string | null`

State. `null` when the source gives no value.

**data.result.county** `string | null`

County. `null` when the source gives no value.

**data.result.county\_type** `string | null`

County type. `null` when the source gives no value.

**data.result.county\_fips** `string | null`

County fips. `null` when the source gives no value.

**data.result.census\_tract** `string | null`

Census tract. `null` when the source gives no value.

**data.result.population** `number | null`

Population. `null` when the source gives no value.

**data.result.building\_value\_usd** `number | null`

Building value usd. `null` when the source gives no value.

**data.result.risk\_score** `number | null`

National percentile among counties or tracts. `null` when the source gives no value.

**data.result.risk\_rating** `string | null`

Risk rating. `null` when the source gives no value.

**data.result.expected\_annual\_loss\_usd** `number | null`

Expected annual loss usd. `null` when the source gives no value.

**data.result.expected\_annual\_loss\_score** `number | null`

Expected annual loss score. `null` when the source gives no value.

**data.result.expected\_annual\_loss\_rating** `string | null`

Expected annual loss rating. `null` when the source gives no value.

**data.result.social\_vulnerability\_score** `number | null`

Social vulnerability score. `null` when the source gives no value.

**data.result.social\_vulnerability\_rating** `string | null`

Social vulnerability rating. `null` when the source gives no value.

**data.result.community\_resilience\_score** `number | null`

Community resilience score. `null` when the source gives no value.

**data.result.community\_resilience\_rating** `string | null`

Community resilience rating. `null` when the source gives no value.

**data.result.hazards** `object[]`

Hazards.

**data.result.hazards\[].hazard** `string`

Hazard.

**data.result.hazards\[].risk\_score** `number | null`

Risk score. `null` when the source gives no value.

**data.result.hazards\[].risk\_rating** `string | null`

Risk rating. `null` when the source gives no value.

**data.result.hazards\[].expected\_annual\_loss\_usd** `number | null`

Expected annual loss usd. `null` when the source gives no value.

**data.result.hazards\[].expected\_annual\_loss\_rating** `string | null`

Expected annual loss rating. `null` when the source gives no value.

**data.result.hazards\[].annual\_frequency** `number | null`

Annual frequency. `null` when the source gives no value.

**data.result.version** `string | null`

Version. `null` when the source gives no value.

**data.result.overlapping\_tracts** `integer`

Overlapping tracts.

```bash cURL theme={null}
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/place-hazard-risk \
  -H "Content-Type: application/json" \
  -H "payment-signature: <base64 x402 payment>" \
  -d '{
    "county_fips": "48201"
  }'
```

```javascript JavaScript theme={null}
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/place-hazard-risk", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "payment-signature": paymentProof,
  },
  body: JSON.stringify({
    "county_fips": "48201"
  }),
});
```

```typescript SDK theme={null}
const result = await agent.tool('lookup/place-hazard-risk', {
  county_fips: '48201'
});
console.log(result.result);
console.log(result.evidence);
```

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "request_id": "uuid",
    "receipt_id": "rcpt_...",
    "status": "completed",
    "tool": "place_hazard_risk",
    "result": {
      "found": true,
      "level": "county",
      "nri_id": "C48201",
      "state": "TX",
      "county": "Harris",
      "county_type": "County",
      "county_fips": "48201",
      "census_tract": null,
      "population": 4726200,
      "building_value_usd": 838838945279,
      "risk_score": 99.93638676844783,
      "risk_rating": "Very High",
      "expected_annual_loss_usd": 2217702382.779429,
      "expected_annual_loss_score": 99.90717821782178,
      "expected_annual_loss_rating": "Very High",
      "social_vulnerability_score": 67.9389313,
      "social_vulnerability_rating": "Relatively High",
      "community_resilience_score": 17.87531806615776,
      "community_resilience_rating": "Very Low",
      "hazards": [
        {
          "hazard": "avalanche",
          "risk_score": null,
          "risk_rating": "Not Applicable",
          "expected_annual_loss_usd": null,
          "expected_annual_loss_rating": "Not Applicable",
          "annual_frequency": null
        },
        {
          "hazard": "coastal_flooding",
          "risk_score": 83.2,
          "risk_rating": "Relatively High",
          "expected_annual_loss_usd": 2501580.4020847282,
          "expected_annual_loss_rating": "Relatively Moderate",
          "annual_frequency": 3.760667716463098
        },
        {
          "hazard": "cold_wave",
          "risk_score": 99.90458015267176,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 118128453.7285045,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 0.4811618571410316
        },
        {
          "hazard": "drought",
          "risk_score": 75.06361323155217,
          "risk_rating": "Relatively Moderate",
          "expected_annual_loss_usd": 549870.3762470942,
          "expected_annual_loss_rating": "Relatively Moderate",
          "annual_frequency": 15.944165834952052
        },
        {
          "hazard": "earthquake",
          "risk_score": 92.14376590330788,
          "risk_rating": "Relatively Moderate",
          "expected_annual_loss_usd": 5909098.613325508,
          "expected_annual_loss_rating": "Relatively Moderate",
          "annual_frequency": 0.00053
        },
        {
          "hazard": "hail",
          "risk_score": 91.98473282442748,
          "risk_rating": "Relatively Moderate",
          "expected_annual_loss_usd": 1595706.8971803342,
          "expected_annual_loss_rating": "Relatively Moderate",
          "annual_frequency": 2.3500474546274432
        },
        {
          "hazard": "heat_wave",
          "risk_score": 99.71098265895954,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 80363788.04972051,
          "expected_annual_loss_rating": "Relatively High",
          "annual_frequency": 14.860648870418725
        },
        {
          "hazard": "hurricane",
          "risk_score": 100,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 457859275.1658155,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 0.18361075931264648
        },
        {
          "hazard": "ice_storm",
          "risk_score": 99.56681106297901,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 4126929.0112194596,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 0.905122323859159
        },
        {
          "hazard": "inland_flooding",
          "risk_score": 99.96819338422391,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 1122079278.4198725,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 5.142857142857143
        },
        {
          "hazard": "landslide",
          "risk_score": 88.39058524173028,
          "risk_rating": "Relatively Moderate",
          "expected_annual_loss_usd": 36555.25125684555,
          "expected_annual_loss_rating": "Relatively Low",
          "annual_frequency": 0.23829879276
        },
        {
          "hazard": "lightning",
          "risk_score": 99.90458015267176,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 8587007.197935572,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 74.62496045494136
        },
        {
          "hazard": "strong_wind",
          "risk_score": 99.26844783715013,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 7718810.6693513,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 1.5226933311028772
        },
        {
          "hazard": "tornado",
          "risk_score": 100,
          "risk_rating": "Very High",
          "expected_annual_loss_usd": 407387921.4650874,
          "expected_annual_loss_rating": "Very High",
          "annual_frequency": 1.6096473278810632
        },
        {
          "hazard": "tsunami",
          "risk_score": null,
          "risk_rating": "Insufficient Data",
          "expected_annual_loss_usd": null,
          "expected_annual_loss_rating": "Insufficient Data",
          "annual_frequency": null
        },
        {
          "hazard": "volcanic_activity",
          "risk_score": null,
          "risk_rating": "Not Applicable",
          "expected_annual_loss_usd": null,
          "expected_annual_loss_rating": "Not Applicable",
          "annual_frequency": null
        },
        {
          "hazard": "wildfire",
          "risk_score": 85.43256997455471,
          "risk_rating": "Relatively Low",
          "expected_annual_loss_usd": 562160.6032783592,
          "expected_annual_loss_rating": "Relatively Low",
          "annual_frequency": 0.0011170935049198358
        },
        {
          "hazard": "winter_weather",
          "risk_score": 88.82877148313176,
          "risk_rating": "Relatively High",
          "expected_annual_loss_usd": 295946.92854926415,
          "expected_annual_loss_rating": "Relatively High",
          "annual_frequency": 1.1209441209500433
        }
      ],
      "version": "December 2025"
    },
    "evidence": {
      "source": "US Federal Emergency Management Agency",
      "source_kind": "public",
      "retrieved_at": "2026-01-15T12:00:00.000Z",
      "calls": [
        {
          "retrieved_at": "2026-01-15T12:00:00.000Z"
        }
      ],
      "as_of": "2025-12"
    }
  }
}
```

> [!NOTE]
>
> See [Pricing](https://docs.oneshotagent.com/pricing.md) for this tool's price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers `200`.

## Notes

* Give exactly one county, tract or coordinate pair. A point answers for its 2020 census tract; Place Resolve gives coordinates for an address.
* Unknown areas return found: false. Flood Zone gives one hazard’s map at a point; Disaster Declarations lists past declared events.
* Annual frequency is events or event-days per year, as defined for each hazard by the index. Population is from 2020.
* Do not attempt to reidentify individuals or reverse engineer the source data.
* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.