Skip to main content
Glama

fema-nri-county-risk-profile

Join any asset, address, coordinates, or county FIPS to FEMA's National Risk Index for county or tract risk scores, expected annual loss, social vulnerability, resilience, and top hazards.

Instructions

FEMA NRI County Risk Profile — Asset Hazard Join. Join any asset (address, lat/lon, or county FIPS) to FEMA's National Risk Index hazard profile at county or census-tract resolution: composite risk score, expected annual loss, social vulnerability, resilience, and ranked top-3 hazards across all 18 FEMA perils. Reads live from the official government source. Call describe-gov-data-tool (free) for a verified example input. COST AND SIDE EFFECTS: read-only with respect to the government source — it never writes to any external system — but each call starts a metered run on YOUR Apify account, billed $0.006 per result ($6 per 1,000). Lower on paid Apify plans, down to $1.80 per 1,000. Nothing is charged when a run fails. Store page: https://apify.com/malonestar/fema-nri-county-risk-profile

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assetsNoLocations to profile. Each item is EITHER {fips:"08031"} (5-digit county FIPS), OR {state:"Colorado", county:"Denver"}, OR {lat:39.7392, lon:-104.9903} (geocoded via the keyless FCC Census Block API). Add an optional "label" to identify each asset in the output. Leave empty to run inventory mode instead (see states/counties below). Example: [{"state":"Colorado","county":"Denver","label":"Denver HQ"},{"lat":29.9511,"lon":-90.0715,"label":"New Orleans warehouse"}].
statesNoUsed only when Assets is empty. Return full NRI risk profiles for these US states (2-letter postal codes or full names, e.g. CO or Colorado) at the resolution set above (county or tract). Leave empty (with Assets also empty) to return a small nationwide sample bounded by Max results.
countiesNoUsed only when Assets is empty. Narrows the States filter above to specific bare county names (no "County"/"Parish" suffix), e.g. Denver. Applies at both county and tract resolution.
maxResultsNoMaximum number of output records (each is one billed result). In asset mode this caps the number of assets processed; in inventory mode it bounds the row count returned (there are ~3,144 US counties and ~85,000 US census tracts total). Example: 500.
resolutionNoGeographic resolution to join against: "county" (default — ~3,144 US counties) or "tract" (~85,000 US census tracts, finer-grained). Tract resolution only applies to lat/lon assets (geocoded to a tract via the FCC Census Block API) and to inventory-mode states/counties pulls; fips or state+county assets carry no tract signal and always use county data. If a tract lookup misses or the tract service errors, the record gracefully falls back to its county profile with resolution_used="county" (never fails the run). Example: "county".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.2

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds substantial non-annotation context: metered Apify billing at $0.006/result, cheaper on paid plans, no charge on failed runs, and that the source itself is never written to. It also discloses graceful county fallback on tract misses, going well beyond what annotations already say.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded ahead of cost and pricing details, and each block is coherent. It is somewhat long and includes pricing minutiae and a store URL that are useful but slightly padded, keeping it just short of ideal tightness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return burden and does identify the key returned fields, plus it explains the metered run and fallback behavior for a moderately complex join tool with 5 optional params. Remaining gaps (record shape, pagination, mode return differences) are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents asset formats, mode selection (empty Assets triggers inventory mode), maxResults bounds, and resolution semantics with examples. The description adds little beyond what the schema provides (e.g., asset key types), so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Join any asset ... to FEMA's National Risk Index') and enumerates the exact resource/fields returned: composite risk score, expected annual loss, social vulnerability, resilience, and ranked top-3 hazards across all 18 perils. This is highly specific and an agent can immediately tell what the tool produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context (reads live from the official source; call describe-gov-data-tool for a free verified example input) and implies use for asset-to-hazard joins. However, it never states when to prefer this over alternatives such as site-due-diligence-bundle or when the tool is inappropriate, so there are no explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.