US Address Geocoder & FEMA Flood Zone Risk API avatar

US Address Geocoder & FEMA Flood Zone Risk API

Pricing

from $3.00 / 1,000 enriched addresses

Go to Apify Store
US Address Geocoder & FEMA Flood Zone Risk API

US Address Geocoder & FEMA Flood Zone Risk API

US address geocoder with Census Bureau lat/lon, tract and block FIPS, plus FEMA flood zone and National Risk Index scores. Batch enrich from keyless official data. $3 per 1,000 addresses.

Pricing

from $3.00 / 1,000 enriched addresses

Rating

0.0

(0)

Developer

InfoComp Data

InfoComp Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Paste a list of U.S. addresses and get one row per address back with:

  • Census Bureau geocoding: matched address, latitude/longitude, and state, county, census tract, block group and block FIPS/GEOIDs.
  • FEMA flood zone at the point, from the National Flood Hazard Layer (NFHL): zone (A, AE, VE, X, D…), zone subtype, whether the point is in a Special Flood Hazard Area, base flood elevation where published, and FIRM ID.
  • FEMA National Risk Index (NRI) for the census tract and county: composite risk score and rating, expected annual loss, social vulnerability, community resilience, and risk ratings for 11 hazards (inland and coastal flooding, hurricane, tornado, wildfire, earthquake, hail, strong wind, heat wave, winter weather, landslide).

All data comes from official, keyless U.S. government services. You don't need an API key and there is no scraping.

NRI values are area scores for the census tract or county, not property-level assessments. That's why their field names start with nriTract… and nriCounty….

Pricing (pay per event): you pay only for matched addresses

ModeEventPricePer 1,000
full (default): geocode + FEMA flood zone found + NRI tract/countyaddress-enriched$0.003$3.00
full, but the FEMA flood zone is missing or unavailable for a matched addressaddress-geocoded$0.001$1.00
geocode_only: lat/lon + FIPSaddress-geocoded$0.001$1.00
  • No start fee. Unmatched, tied, invalid and failed addresses are free. They are still in the output with charged: false and a status explaining why.
  • Full mode bills $0.003 only when a FEMA flood zone was actually found. If FEMA has no digital flood map at the point, or the FEMA flood-map request fails (each FEMA request gets a 4 s timeout and exactly one retry), the row gets floodZone: "unavailable" plus a floodZoneUnavailableReason and is billed at the $0.001 geocode-only rate. The same $0.001 rate applies if the National Risk Index lookup fails.
  • Duplicate addresses are processed once by default (skipDuplicates).
  • The run stops cleanly when it reaches your maximum cost per run.

Input

{
"addresses": ["1600 Pennsylvania Ave NW, Washington, DC 20500", "800 Decatur St, New Orleans, LA 70116"],
"structuredAddresses": [{"id": "loan-123", "street": "233 S Wacker Dr", "city": "Chicago", "state": "IL", "zip": "60606"}],
"mode": "full",
"includeCountyRisk": true
}
  • addresses takes one-line addresses. structuredAddresses takes street/city/state/zip, plus an optional id that is echoed back as inputId. You can use both in one run, for up to 50,000 addresses.
  • Include the ZIP code, or the city and state.
  • Supported: the 50 states, DC, Puerto Rico and the U.S. Island Areas (Census geocoder coverage).

Output sample (real row from a local test run on Oct 28, 2026, about 1:22 PM CT; per-hazard fields trimmed)

{
"inputAddress": "800 Decatur St, New Orleans, LA 70116",
"status": "MATCHED",
"matchType": "Exact",
"matchedAddress": "800 DECATUR ST, NEW ORLEANS, LA, 70116",
"latitude": 29.957576305632,
"longitude": -90.061926241683,
"stateFips": "22",
"countyFips": "22071",
"tractGeoid": "22071013502",
"blockGeoid": "220710135022003",
"floodStatus": "FOUND",
"floodZone": "X",
"floodZoneUnavailableReason": null,
"floodZoneSubtype": "AREA WITH REDUCED FLOOD RISK DUE TO LEVEE",
"inSpecialFloodHazardArea": false,
"dfirmId": "22071C",
"nriTractStatus": "FOUND",
"nriTractRiskScore": 94.1,
"nriTractRiskRating": "Relatively High",
"nriTractExpectedAnnualLossUsd": 4680513.03,
"nriTractHurricaneRiskRating": "Very High",
"nriTractInlandFloodingRiskRating": "Very Low",
"nriCountyRiskScore": 98.25,
"nriCountyRiskRating": "Relatively High",
"nriVersion": "December 2025",
"nriLevel": "Census-tract (and county) area score; not a property-level assessment.",
"charged": true,
"chargedEvent": "address-enriched",
"disclaimer": "Not an official flood determination. Flood zone is read from FEMA's National Flood Hazard Layer at the geocoded point and may differ from an official FEMA Standard Flood Hazard Determination (Form 086-0-32), a LOMA/LOMR, or the zone for the whole parcel or structure. National Risk Index values are census-tract and county area scores, not property-level assessments.",
"attribution": "Geocoding and census geographies: U.S. Census Bureau Geocoder. Flood zones: FEMA National Flood Hazard Layer (NFHL). Risk scores: FEMA National Risk Index.",
"notEndorsed": "This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau. This product uses the Federal Emergency Management Agency's National Risk Index dataset API or downloadable datasets but is not endorsed by FEMA. The Federal Government or FEMA cannot vouch for the data or analyses derived from these data after the data have been retrieved from the Agency's website(s). Flood zones come from FEMA's National Flood Hazard Layer web services; this product is not endorsed by FEMA.",
"retrievedAt": "2026-10-28T18:22:22Z"
}

status values:

StatusMeaning
MATCHEDThe Census geocoder found the address.
NO_MATCHNot in the Census address ranges. Free.
TIESeveral equally good candidates. Add the ZIP or more detail. Free.
INVALID_INPUTNeeds a street plus ZIP, or street + city + state. Free.
GEOCODER_ERRORThe Census service failed after retries. Free.

floodStatus values:

Flood statusMeaning
FOUNDA flood zone was read at the point.
NO_NFHL_DATAFEMA has no digital flood map for this location (unmapped, or paper maps only). floodZone = "unavailable", reason FEMA_NO_DIGITAL_FLOOD_MAP. Billed $0.001.
ERRORThe FEMA request failed after its one retry. floodZone = "unavailable", reason FEMA_LOOKUP_FAILED: …. Billed $0.001.

If the census tract code isn't in the NRI table (for example, Connecticut's 2022 planning regions), the Actor looks the tract up by point and sets nriTractGeoid to the NRI tract it used.

How fast?

These are local test timings, not platform numbers:

  • 6 addresses: about 4 s.
  • 100 addresses: about 20 s, including 84 matched and enriched.
  • Geocode-only: under 1 s per 100 addresses.

The Actor uses the Census batch geocoder (1,000 addresses per request) and rate-limited FEMA queries. FEMA requests go out at most 4 at a time and at least 0.15 s apart. Each one has a short timeout (femaTimeoutSecs, default 4 s) and is retried exactly once, after a backoff of about 1 s (or the server's Retry-After), on timeouts, 429 and 5xx responses. A stalled FEMA server therefore cannot hang the run. Census batch requests are retried up to 4 times with exponential backoff.

Use cases

  • Flood zone screening for real-estate, lending and insurance lead lists.
  • Adding tract/county FIPS to CRM or loan files for ACS, CRA/LMI or territory joins.
  • Ranking portfolios by FEMA NRI tract risk, such as hurricane or wildfire rating.

Business Leads: add location and flood/hazard risk to a lead list

Many lead lists already carry a business address. Run those addresses through this Actor to add a lat/lon, county and census tract FIPS, the FEMA flood zone at the point and FEMA National Risk Index tract/county ratings. You can then sort or filter leads by territory or hazard exposure, for example roofing, restoration, insurance or lending prospects in high hurricane-risk tracts.

  1. Export the leads from one of the tools below, or your own CRM, as street/city/state/zip.
  2. Pass them in structuredAddresses and put your lead or record ID in id. It comes back as inputId, so you can join the rows back to your list.
  3. Use geocode_only mode ($1 per 1,000) if you only need FIPS codes for territory joins.

The flood and risk values describe the location only. They are not an official flood determination and they say nothing about the business itself.

Important: disclaimers, attribution, not endorsed

  • Not an official flood determination. The flood zone is read from FEMA's National Flood Hazard Layer at the geocoded point. It may differ from an official FEMA Standard Flood Hazard Determination (Form 086-0-32), a LOMA/LOMR, or the zone for the whole parcel or structure. Don't use it for flood insurance purchase requirements.
  • National Risk Index values are census-tract and county area scores, not property-level assessments.
  • Attribution: geocoding and census geographies come from the U.S. Census Bureau Geocoder. Flood zones come from the FEMA National Flood Hazard Layer (NFHL). Risk scores come from the FEMA National Risk Index (December 2025 release at the time of testing).
  • Not endorsed (exact notices required by the source terms):
    • Census Bureau: "This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau."
    • FEMA National Risk Index: "This product uses the Federal Emergency Management Agency's National Risk Index dataset API or downloadable datasets but is not endorsed by FEMA. The Federal Government or FEMA cannot vouch for the data or analyses derived from these data after the data have been retrieved from the Agency's website(s)."
    • FEMA flood map: flood zones come from FEMA's National Flood Hazard Layer web services; this product is not endorsed by FEMA.
  • No FEMA, DHS or Census Bureau logos or seals are used.
  • Every output row repeats these notices (disclaimer, attribution, notEndorsed), along with sourceUrls and retrievedAt for citation.
  • The output contains no personal data: no names and no owners. Only the address you supplied is echoed back.

Sources