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

Publisher
Federal Emergency Management Agency (FEMA)
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.

FieldTypeDescription
idkeystringOpenFEMA's unique identifier for the project row. The record key.
project_identifierstringFEMA project identifier, usually the disaster or grant number plus a sequence (for example DR-4855-0003-F).
program_areastringGrant program: HMGP, BRIC, FMA, PDM, LPDM, RFC, SRL or HMGP Post Fire, as reported by FEMA.
program_fyintegerProgram fiscal year of the award.
statestringState, territory or tribal area name.
countystring, nullableCounty of the project, when FEMA records one.
subrecipientstring, nullableOrganization that carries out the project, typically a local government, tribe, utility or public body.
project_typestringProject type code and description (for example 600.1: Warning Systems).
statusstringProject status as reported by FEMA, for example Approved, Closed, Obligated or Withdrawn.
project_amountnumber, nullableTotal approved project amount in U.S. dollars.
federal_share_obligatednumber, nullableFederal share obligated to date, in U.S. dollars; empty until obligated.
date_approveddatetimeDate 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.

FieldRecord 1Record 2Record 3Record 4Record 5
id3e3e1740-677b-4605-bf37-9168f0f2b5281296cfbf-2f47-4438-a6b0-4e6f48c234c71ed64988-506d-41e4-a174-c1d3bea9f90c61569c0c-1d1a-4970-89e6-27230df3d53b6b125faf-a1fb-47b0-8552-702c94870577
project_identifierDR-4483-0002-FDR-4461-0002-PDR-4706-0004-FDR-4788-0017-PDR-4788-0001-P
program_areaHMGPHMGPHMGPHMGPHMGP
program_fy20202019202320242024
stateIowaIllinoisOklahomaArkansasArkansas
countyMadisonLakeWagonerPoinsettNewton
subrecipientEast Peru (corporate name for Peru)Lake County Stormwater Management CommissionMUSCOGEE (CREEK) NATIONPoinsett (County)Newton (County)
project_type600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan)91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE600.1: Warning Systems (as a Component of a Planned, Adopted, and Exercised Risk Reduction Plan)91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE91.5: Local Multijurisdictional Multihazard Mitigation Plan - UPDATE
statusClosedClosedApprovedApprovedApproved
project_amount1810090000259498.243500020000
federal_share_obligated1629067500171268.84——
date_approved6023-06-01T00:00:00.000Z2026-08-28T00:00:00.000Z2026-08-28T00:00:00.000Z2026-08-28T00:00:00.000Z2026-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_ID

TypeScript 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.

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.