SourceFinch Verified · Grants & public funding
FEMA hazard mitigation grant projects
Newly approved FEMA Hazard Mitigation Assistance projects (HMGP, BRIC, FMA and related programs) by state, county and subrecipient, with project type, status, approved amount and federal share obligated.
- Healthy · 100% green over 30 days
- United States (federal)
- Publisher's public API
- 12 typed fields
Monitor this sourceAPI, CLI, SDK and MCP SourceFinch is invite-only right now; request access.
At a glance
- Jurisdiction
- United States (federal)
- Publisher updates
- Refreshed by FEMA daily
- SourceFinch checks
- Daily by default
- Records per run
- 25 in the latest run
- Record key
id- Acquired from
- Publisher's public API:
https://www.fema.gov/api/open/v4/HazardMitigationAssistanceProjects?$filter=dateApproved%20ne%20null&$orderby=dateApproved%20desc,id&$top=25 - Recipe
- v1.0.0, approved October 3, 2026
- Verified since
- October 3, 2026
- Last green run
- October 3, 2026
What the data contains
Projects funded through FEMA's Hazard Mitigation Assistance grant programs: the Hazard Mitigation Grant Program (HMGP), Building Resilient Infrastructure and Communities (BRIC), Flood Mitigation Assistance (FMA) and earlier programs. Data comes from the OpenFEMA Hazard Mitigation Assistance Projects dataset (version 4). Each record is one project: its identifier, program area and fiscal year, state and county, subrecipient (usually a local government, tribe, utility or public body), project type, status, project amount, federal share obligated and approval date. Each run reads the 25 most recently approved projects, so a monitor reports newly approved projects and later changes to their status and obligations. Amounts are in U.S. dollars as reported by FEMA; FEMA's data can contain entry errors, which are passed through unchanged. Projects that acquire private properties report only property counts, not owners. OpenFEMA's citation and non-endorsement statement travels with every record.
Fields and types
Every record has these fields. The key field id identifies a record across runs, so changes are reported field by field.
| Field | Type | Description |
|---|---|---|
idkey | string | OpenFEMA's unique identifier for the project row. The record key. |
project_identifier | string | FEMA project identifier, usually the disaster or grant number plus a sequence (for example DR-4855-0003-F). |
program_area | string | Grant program: HMGP, BRIC, FMA, PDM, LPDM, RFC, SRL or HMGP Post Fire, as reported by FEMA. |
program_fy | integer | Program fiscal year of the award. |
state | string | State, territory or tribal area name. |
county | string, nullable | County of the project, when FEMA records one. |
subrecipient | string, nullable | Organization that carries out the project, typically a local government, tribe, utility or public body. |
project_type | string | Project type code and description (for example 600.1: Warning Systems). |
status | string | Project status as reported by FEMA, for example Approved, Closed, Obligated or Withdrawn. |
project_amount | number, nullable | Total approved project amount in U.S. dollars. |
federal_share_obligated | number, nullable | Federal share obligated to date, in U.S. dollars; empty until obligated. |
date_approved | datetime | Date FEMA approved the project (ISO 8601). Passed through as reported, including occasional entry errors. |
Sample output
The first 5 of 25 records from SourceFinch's own run on October 3, 2026, exactly as delivered.
| Field | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 |
|---|---|---|---|---|---|
id | 3e3e1740-677b-4605-bf37-9168f0f2b528 | 1296cfbf-2f47-4438-a6b0-4e6f48c234c7 | 1ed64988-506d-41e4-a174-c1d3bea9f90c | 61569c0c-1d1a-4970-89e6-27230df3d53b | 6b125faf-a1fb-47b0-8552-702c94870577 |
project_identifier | DR-4483-0002-F | DR-4461-0002-P | DR-4706-0004-F | DR-4788-0017-P | DR-4788-0001-P |
program_area | HMGP | HMGP | HMGP | HMGP | HMGP |
program_fy | 2020 | 2019 | 2023 | 2024 | 2024 |
state | Iowa | Illinois | Oklahoma | Arkansas | Arkansas |
county | Madison | Lake | Wagoner | Poinsett | Newton |
subrecipient | East Peru (corporate name for Peru) | Lake County Stormwater Management Commission | MUSCOGEE (CREEK) NATION | Poinsett (County) | Newton (County) |
project_type | 600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan) | 91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE | 600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan) | 91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE | 91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE |
status | Closed | Closed | Approved | Approved | Approved |
project_amount | 18100 | 90000 | 259498.24 | 35000 | 20000 |
federal_share_obligated | 16290 | 67500 | 171268.84 | — | — |
date_approved | 6023-06-01T00:00:00.000Z | 2026-08-28T00:00:00.000Z | 2026-08-28T00:00:00.000Z | 2026-08-28T00:00:00.000Z | 2026-08-28T00:00:00.000Z |
Sample as JSON
[
{
"id": "3e3e1740-677b-4605-bf37-9168f0f2b528",
"state": "Iowa",
"county": "Madison",
"status": "Closed",
"program_fy": 2020,
"program_area": "HMGP",
"project_type": "600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan)",
"subrecipient": "East Peru (corporate name for Peru)",
"date_approved": "6023-06-01T00:00:00.000Z",
"project_amount": 18100,
"project_identifier": "DR-4483-0002-F",
"federal_share_obligated": 16290
},
{
"id": "1296cfbf-2f47-4438-a6b0-4e6f48c234c7",
"state": "Illinois",
"county": "Lake",
"status": "Closed",
"program_fy": 2019,
"program_area": "HMGP",
"project_type": "91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE",
"subrecipient": "Lake County Stormwater Management Commission",
"date_approved": "2026-08-28T00:00:00.000Z",
"project_amount": 90000,
"project_identifier": "DR-4461-0002-P",
"federal_share_obligated": 67500
},
{
"id": "1ed64988-506d-41e4-a174-c1d3bea9f90c",
"state": "Oklahoma",
"county": "Wagoner",
"status": "Approved",
"program_fy": 2023,
"program_area": "HMGP",
"project_type": "600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan)",
"subrecipient": "MUSCOGEE (CREEK) NATION",
"date_approved": "2026-08-28T00:00:00.000Z",
"project_amount": 259498.24,
"project_identifier": "DR-4706-0004-F",
"federal_share_obligated": 171268.84
},
{
"id": "61569c0c-1d1a-4970-89e6-27230df3d53b",
"state": "Arkansas",
"county": "Poinsett",
"status": "Approved",
"program_fy": 2024,
"program_area": "HMGP",
"project_type": "91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE",
"subrecipient": "Poinsett (County)",
"date_approved": "2026-08-28T00:00:00.000Z",
"project_amount": 35000,
"project_identifier": "DR-4788-0017-P",
"federal_share_obligated": null
},
{
"id": "6b125faf-a1fb-47b0-8552-702c94870577",
"state": "Arkansas",
"county": "Newton",
"status": "Approved",
"program_fy": 2024,
"program_area": "HMGP",
"project_type": "91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE",
"subrecipient": "Newton (County)",
"date_approved": "2026-08-28T00:00:00.000Z",
"project_amount": 20000,
"project_identifier": "DR-4788-0001-P",
"federal_share_obligated": null
}
]Evidence behind every value
- Each run keeps the publisher's exact response, hashed with SHA-256. This sample came from a response with hash
035b90a7416c3a38a55778b0dda7f4414e36f5cd26d84a0db2281633b4f8382c. - Every value records where it came from in that response: a JSON Pointer into the retained capture.
- Each run gets a signed manifest (Ed25519) timestamped by an RFC 3161 authority: this run's manifest hash is
8265cf682d761eecc931227815afc7bc1d218e3a4b49c18199a0a789bc5c77af, timestamped October 3, 2026. - The compliance state at capture is recorded with the evidence: robots.txt hash and verdict, AI-preference signals, crawler identity and the usage rights below.
- Download any run as an evidence bundle (WACZ) and check it offline, without trusting SourceFinch:
sourcefinch verify-bundle run.wacz.
Terms posture and usage rights
- Terms
- Automated access permitted · publisher's terms
- robots.txt
- Allows this path · SHA-256
0d0ff477a1a86c3e… - AI-preference signals
- None observed at review
- Public record
- Yes. Hazard mitigation grants are federal awards under the Stafford Act (42 U.S.C. 5133, 5170c) and the National Flood Insurance Act (42 U.S.C. 4104c); FEMA publishes the project data as open data.
- Reviewed
- October 3, 2026; next review April 3, 2027
- Licence basis
- Publisher's terms of use
- Commercial use
- Allowed with conditions
- Redistribution
- Allowed with conditions
- Attribution
- Required (text below)
OpenFEMA offers FEMA's public data through an API without a key. Its terms require citing the dataset and the access date, stating that the product uses the OpenFEMA API but is not endorsed by FEMA, not modifying the data while presenting it as FEMA's, not using FEMA or DHS logos, not attempting to re-identify individuals, and using the data for statistical research or as a reporting record rather than for decisions about individuals' rights or benefits.
Federal Emergency Management Agency (FEMA), OpenFEMA Dataset: Hazard Mitigation Assistance Projects - v4. This product uses the FEMA OpenFEMA API, 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).
Usage rights travel with every record SourceFinch delivers (API, exports, webhooks and evidence bundles). They are our documented understanding of the publisher's stated terms, not legal advice.
Reliability
- Runs, last 30 days
- 1
- Green
- 100%
- Failed
- 0
- Median run time
- 0.8 s
- Latest run
- success, October 3, 2026
Measured on runs of this recipe version across SourceFinch, anonymized. This recipe is newly Verified; the numbers fill in as it runs daily.
Use it
Every surface creates the same monitor from this Verified recipe. Monitors keep record history, report field-level changes and deliver by webhook, export or email. You confirm you have the right to collect the source (rights: true).
Console
Open this recipe in the console: it loads the URL, fields and key, samples the source live, and saves a monitor on the daily schedule.
source.json
The request body used by the API, CLI and SDK examples.
{
"name": "FEMA hazard mitigation grant projects",
"url": "https://www.fema.gov/api/open/v4/HazardMitigationAssistanceProjects?$filter=dateApproved%20ne%20null&$orderby=dateApproved%20desc,id&$top=25",
"recipe": {
"mode": "http",
"format": "json",
"items": "HazardMitigationAssistanceProjects[*]",
"fields": {
"id": "id",
"state": "state",
"county": "county",
"status": "status",
"program_fy": "programFy",
"program_area": "programArea",
"project_type": "projectType",
"subrecipient": "subrecipient",
"date_approved": "dateApproved",
"project_amount": "projectAmount",
"project_identifier": "projectIdentifier",
"federal_share_obligated": "federalShareObligated"
},
"required": [
"id",
"project_identifier",
"state",
"date_approved"
]
},
"key_field": "id",
"schedule": "daily",
"rights": true
}REST API
Create an API key under Console → API keys. Reference: /docs/api.
# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/openfema-hazard-mitigation-projects -H "Authorization: Bearer $SOURCEFINCH_API_KEY"
# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @source.json
# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
-H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"CLI
The sourcefinch CLI is not on npm yet; see /docs/cli.
sourcefinch login
sourcefinch catalog get openfema-hazard-mitigation-projects --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_IDTypeScript SDK
The SDK is not on npm yet; see /docs/sdk.
import { SourceFinch } from "@tsg/sourcefinch";
const sf = new SourceFinch({ apiKey: process.env.SOURCEFINCH_API_KEY });
const entry = await sf.catalog.get("openfema-hazard-mitigation-projects");
const source = await sf.sources.create({
name: entry.name.slice(0, 100),
url: entry.acquisition_path.endpoint,
recipe: entry.recipe.definition,
key_field: entry.recipe.key_field,
schedule: entry.recipe.schedule,
rights: true, // you confirm you have the right to collect this source
});
const run = await sf.runs.wait((await sf.runs.create(source.id)).id);
console.log(run.status);MCP
Remote MCP server with OAuth; see /docs/mcp.
claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp
# then ask your agent:
"Use SourceFinch to monitor FEMA hazard mitigation grant projects: get_catalog_source openfema-hazard-mitigation-projects,
then create_source with its create_source_args (dry run first), then run_source."Pricing
Each check is one run, whatever the number of records, and failed runs are free. On its default daily schedule this source uses about 30 runs a month, which fits the Free plan's 300 runs. It uses HTTP acquisition, so no browser runs are needed. See plans.
Related sources
SourceFinch is independent and is not affiliated with or endorsed by Federal Emergency Management Agency (FEMA). This page describes fema hazard mitigation grant projects as SourceFinch acquires it.