Skip to contents

Retrieves National Flood Insurance Program (NFIP) policy data at the county level, including both current and historical policies.

Usage

get_nfip_policies(
  state_abbreviation,
  county_geoids = NULL,
  file_name = "fima_nfip_policies_2025_10_14.parquet",
  api = FALSE
)

Arguments

state_abbreviation

A 2 letter state abbreviation (e.g. TX).

county_geoids

A character vector of five-digit county codes.

file_name

The name (not the full path) of the Box file containing the raw data.

api

If TRUE, query the API. If FALSE (default), read from file_name.

Value

A dataframe of project-level funding requests and awards, along with variables that can be aggregated to the county level.

state_fips

A two-digit state identifier.

state_abbreviation

The two-character abbreviation of the state.

county_code

The five-digit county identifier.

county_name

The name of the county.

census_tract

The 11-digit census tract code.

policy_cost

The cost of the policy summing the calculated premium, reserve fund assessment, federal policy fee, and HFIAA surcharge.

policy_count

The number of insured units in active status associated with the policy.

policy_rated_flood_zone

The NFIP flood zone.

policy_premium_total_cost

The policy premium; negative values indicate a refund.

policy_date_termination

The date when the policy is no longer in effect, either because it was cancelled or lapsed.

policy_date_effective

The effective date of the flood policy.

building_occupancy_type

The occupancy type of the building.

building_replacement_cost

The insurer's estimated cost to replace the building.

Details

Data are from FEMA's OpenFEMA API. See https://www.fema.gov/openfema-data-page/fima-nfip-redacted-policies-v2.

The following dataset houses information on NFIP policies (both historic and current). In order to filter to current policies, the analyst will need to filter on the policy_date_termination and policy_date_effective columns.

The dataset also contains both residential and commercial policies. In order to filter to residential policies, the analyst can filter out the "non-residential" occupancy type.

Examples

if (FALSE) { # \dontrun{
 test <- get_nfip_policies(
      state_abbreviation = "TX",
      county_geoids = c("48201"),
      file_name = "fima_nfip_policies_2025_10_14.parquet",
      api = FALSE) |>
    dplyr::filter(
      !occupancy_type %in% c("non-residential"), ### only residential claims,
      policy_date_termination >= as.Date("2025-10-15"),
      policy_date_effective <= as.Date("2025-10-15")) |>
    dplyr::group_by(county_geoid)|>
    dplyr::summarise(avg_policy_cost = mean(policy_cost))
} # }