Obscura

FEMA Disasters

Federally declared disasters with type, location and dates, from FEMA.

fema_disasters — the dataset name to pass to the Obscura API.

Category Government Columns 22 Refresh Daily Point-in-time available_date

What one row means

One designated area (typically a county, parish, or municipality-equivalent) covered by a single FEMA disaster declaration, from the OpenFEMA `DisasterDeclarationsSummaries` feed — e.g. one row for "Lake (County), CO" under fire-management declaration FM-5644-CO. A single disaster (one `disaster_number`) fans out to one row per designated area, so the same disaster appears many times, once per county/area it covers.

One row per (id) — OpenFEMA-supplied row hash, unique per (disaster_number, designated_area)..

Point-in-time availability

Every Obscura dataset carries available_date: the calendar day the publisher made the row available, day-of, with no session rounding. It is the one column a backtest filters on, and it means the same thing on every dataset in the catalog.

For fema_disasters: published: available_date = declarationDate, the day the President/FEMA Administrator signed the declaration and FEMA made it public (no distinct event_date — the declaration date IS the availability date).

Refresh cadence

Obscura refreshes fema_disasters daily — the most frequent scheduled job that re-collects or re-exports it. This is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when a row became public is recorded per row in available_date.

Schema — 22 columns

The full public column list for fema_disasters, with the meaning of every field. The same schema is served unauthenticated at https://api.obscura.trade/v1/catalog/fema_disasters.

ColumnTypeDescription
idtext · not nullOpenFEMA-supplied row hash for this declaration-summary record; unique per (disaster_number, designated_area) pair. Primary key; not auto-generated by this pipeline — it is the source system's own dedup key, used verbatim as the upsert conflict target.
disaster_numberbigintFEMA's numeric disaster identifier (e.g. 5644), shared by every designated-area row belonging to the same declared disaster. Source: OpenFEMA `disasterNumber`.
fema_declaration_stringtextHuman-readable declaration code combining type, number, and state, e.g. "FM-5644-CO" or "DR-4721-TX". Source: OpenFEMA `femaDeclarationString`.
statetextTwo-letter USPS state/territory abbreviation of the declaration (e.g. "CO", "MP"). Source: OpenFEMA `state`.
declaration_typetextFEMA declaration category code: "DR" (major disaster declaration), "EM" (emergency declaration), or "FM" (fire management assistance declaration). Source: OpenFEMA `declarationType`.
available_datedateThe disaster declaration date — day the President or FEMA Administrator signed the declaration and FEMA made it public. Sourced directly from OpenFEMA `declarationDate` (only the date part is kept). This table has no distinct event_date column since the declaration date IS the availability date; amendments that add new designated areas to an existing disaster can reuse the original declarationDate, understating lag on those rows.
incident_typetextFree-text hazard category driving the declaration, e.g. "Fire", "Tropical Storm", "Flood", "Biological". Source: OpenFEMA `incidentType`.
declaration_titletextFEMA's short human-readable name for the specific incident, e.g. "WILLOW FIRE". Source: OpenFEMA `declarationTitle`; updatable on conflict so late title corrections propagate.
designated_areatextThe specific county/parish/municipality-equivalent covered by this row, with FEMA's type suffix, e.g. "Lake (County)". Source: OpenFEMA `designatedArea`; this is the field that fans a single disaster out into many rows.
fips_state_codetextTwo-digit zero-padded FIPS state code (e.g. "08" for Colorado), text to preserve the leading zero. Source: OpenFEMA `fipsStateCode`.
fips_county_codetextThree-digit zero-padded FIPS county/area code within the state. Source: OpenFEMA `fipsCountyCode`. Concatenated with fips_state_code gives the standard 5-digit county FIPS.
fy_declaredintegerU.S. federal fiscal year (Oct 1–Sep 30) in which the disaster was declared, e.g. 2026. Source: OpenFEMA `fyDeclared`.
incident_begin_datedateThe day the underlying hazard actually began (e.g. flood onset, fire ignition) — the true natural event date, distinct from the public declaration date. Source: OpenFEMA `incidentBeginDate` (date part only).
incident_end_datedateThe day the incident ended; null while the incident is ongoing. Pairs with `incident_begin_date` to give incident duration. Source: OpenFEMA `incidentEndDate` (date part only).
ih_program_declaredbooleanWhether the declaration authorizes the Individuals & Households Program (direct assistance to disaster survivors). Source: OpenFEMA `ihProgramDeclared`.
ia_program_declaredbooleanWhether the declaration authorizes Individual Assistance (aid to individuals and households). Source: OpenFEMA `iaProgramDeclared`.
pa_program_declaredbooleanWhether the declaration authorizes Public Assistance (aid to state, tribal, and local governments and certain nonprofits). Source: OpenFEMA `paProgramDeclared`.
hm_program_declaredbooleanWhether the declaration authorizes the Hazard Mitigation Grant Program (funding to reduce future disaster risk). Source: OpenFEMA `hmProgramDeclared`.
disaster_closeout_datedateThe day the disaster was administratively closed out; null while the disaster remains open. Lifecycle/status date. Source: OpenFEMA `disasterCloseoutDate` (date part only).
last_ia_filing_datedateDeadline date for filing Individual Assistance applications; distinct from any kept date. Source: OpenFEMA `lastIAFilingDate` (date part only).
designated_incident_typestextCoded multi-hazard flags (e.g. "2,F,T,W") giving finer detail than the single free-text `incident_type`. Source: OpenFEMA `designatedIncidentTypes`.
tribal_requestbooleanWhether the declaration was requested by a tribal government. Source: OpenFEMA `tribalRequest`.

Access fema_disasters

Two delivery paths, one identifier. Both require an Obscura account and an active subscription; the catalog entry and the schema above are public.

import obscura

client = obscura.Client("obs_live_…")

df = client.query(
    dataset="fema_disasters",
    start="2024-01-01",
)

Create a free account Browse all 95 datasets

Frequently asked questions

What is in the fema_disasters dataset?

Federally declared disasters with type, location and dates, from FEMA. One designated area (typically a county, parish, or municipality-equivalent) covered by a single FEMA disaster declaration, from the OpenFEMA `DisasterDeclarationsSummaries` feed — e.g. one row for "Lake (County), CO" under fire-management declaration FM-5644-CO. A single disaster (one `disaster_number`) fans out to one row per designated area, so the same disaster appears many times, once per county/area it covers.

How do I avoid look-ahead bias with fema_disasters?

Filter on fema_disasters.available_date, the day the publisher made the row public. For this dataset that date is derived as follows — published: available_date = declarationDate, the day the President/FEMA Administrator signed the declaration and FEMA made it public (no distinct event_date — the declaration date IS the availability date). A query of the form WHERE available_date <= '<as-of date>' never sees a row before it existed.

In what formats can I get fema_disasters?

As a Parquet bulk export (POST https://api.obscura.trade/v1/download) or as JSON from the typed query API (POST https://api.obscura.trade/v1/query), both with dataset="fema_disasters". The column schema is public at https://api.obscura.trade/v1/catalog/fema_disasters.

How often is fema_disasters updated?

Obscura refreshes fema_disasters on a daily schedule — that is the most frequent scheduled job that re-collects or re-exports the table. It is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when the publisher makes a row available is described by the availability rule above, and is recorded per row in available_date.

Related datasets

Border CrossingsMonthly inbound crossings at U.S. land ports on the Canadian and Mexican borders, split by mode (trucks, trains, persona… Congress LeaderboardWhich members of Congress have done best on the stock purchases they disclose: one dollar-weighted, one-year-forward ret… Congress TradesStock and asset trades disclosed by members of Congress and their households under the STOCK Act, parsed from House and … Government Contract TickersA crosswalk from federal-contract recipient names to ticker symbols, so government awards can be matched to public compa… GPR Index DailyThe daily Geopolitical Risk index of Caldara and Iacoviello, derived from newspaper coverage of geopolitical tension. GPR Index MonthlyThe monthly Geopolitical Risk index (Caldara and Iacoviello), with deeper history than the daily version. H-1B ApprovalsApproved H-1B visa petitions by employer, from USCIS. LEHD J2J FlowsJob-to-job worker flows from the Census LEHD program: how workers move between employers, industries and regions.