2026-09-04 · Politics
FEMA has 1,295 disaster declarations on record for Puerto Rico
If the Public Assistance dataset answers "what projects were obligated," the DisasterDeclarationsSummaries v2 API answers "what was declared, where, and with which programs." The base URL is https://www.fema.gov/api/open/v2/DisasterDeclarationsSummaries. Each row is not "a hurricane" in the abstract: it is a territorial designation (municipality or area) under a disaster number, with program flags. Filtering state eq 'PR' and declarationType eq 'DR' returned metadata of 1,295 rows of major declarations for Puerto Rico in the query of September 15, 2026. That count reflects the granularity by designated area, not "1,295 hurricanes."
The fields that the press must master are, at least: disasterNumber, femaDeclarationString (for example DR-4850-PR), declarationTitle, declarationDate, incidentBeginDate/incidentEndDate, incidentType, designatedArea, and the boolean flags paProgramDeclared, iaProgramDeclared, hmProgramDeclared and ihProgramDeclared. A flag set to true means that this program was declared for that area in that row; it does not mean that the money has already been obligated or disbursed. Declared ≠ obligated ≠ disbursed.
Verified examples in the API for Puerto Rico: DR-4336 Hurricane Irma, statement of September 10, 2017; DR-4339 Hurricane María, September 20, 2017; DR-4473 Earthquakes, January 16, 2020; DR-4671 Hurricane Fiona, September 21, 2022; DR-4850 Tropical Storm Ernesto, November 27, 2024. In the sampled rows of Ernesto, paProgramDeclared and hmProgramDeclared appeared as true and iaProgramDeclared as false for municipalities such as Maunabo, Vieques, Las Piedras, Corozal, and Arroyo, with incidents between August 13 and 16, 2024. This allows a local reporter to ask, with the document in hand, why a municipality appears or does not appear in Individual Assistance versus Public Assistance.
The journalistic usefulness of the declarations API is threefold. First, it establishes the legal framework of the Stafford Act: without a declaration, there is no complete menu of federal disaster assistance. Second, it allows the creation of comparable timelines between Irma, María, the earthquakes, Fiona, and subsequent storms without relying on institutional memory. Third, it connects with OpenFEMA PA and Housing Assistance: the same disasterNumber is the foreign key that links declarations, PW, and housing aggregates. Anyone who ignores this key ends up mixing Fiona with María in a single unreadable 'total assistance.'
How to query without making things up: use $filter OData, $select to bring only necessary fields, $orderby by disasterNumber or date, and the inline count to know the universe before paginating. The metadata includes rundate, version (v2), and the exact request URL: it's advisable to paste it in the methodological note of the report. OpenFEMA also documents that it does not “enrich” source system data beyond some maintenance fields; if a field comes as null, null usually means unknown or not available according to the dictionary.
A common trap: adding up rows of declarations and treating them as affected population or as an amount. The 1,295 DR rows for PR are designations; a single disaster generates many rows because each designated municipality is a record. Another trap: reading iaProgramDeclared=false in a single row and concluding that “there was never IA” in the entire disaster. You have to review the set of areas and the amendments over time. The API reflects the current state of the record; it does not replace the narrative amendment history published on the FEMA.gov disaster pages.
For Borinquen, this endpoint is the master index. Before citing a 'recovery package,' the journalist can check if the event has a DR number, which programs are marked, and since when. Then they cross-reference with PA Funded Projects Details to see if there is already an obligation, and with Housing Assistance Owners for the housing owners' side. The full chain —declaration → PA obligation → aggregated individual assistance → OIG audit— is what turns transparency into scrutiny. This note is a methodological follow-up of the batch on PA Details. Cousin: 749. Topic: politics (framework of declaration and programs). Primary source: API DisasterDeclarationsSummaries v2.