Finding FEMA-funded rebuild and mitigation projects before they go to bid (OpenFEMA)

Finding FEMA-funded rebuild and mitigation projects before they go to bid (OpenFEMA)

在宣布灾难发生后,FEMA 会向城市、县、公用事业部门及其他公共申请方拨付资金,用于修复道路、桥梁、供水系统和公共建筑。此外,减灾计划还会资助建筑抬高、排水工程、发电机安装、抗震改造和野火防治工作,这些项目往往在招标公告发布前数月就已经确定。所有这些信息均可通过 OpenFEMA API 公开获取。对于在公共部门工作的承包商和工程公司而言,这是一份拥有联邦资金可供支出的机构名单。

The two datasets that matter Public Assistance (PA) funded projects: every obligated repair or replacement project after a declared disaster, with the damage category, county, project amount and federal share. Hazard Mitigation Assistance (HMA) sub-applications: HMGP, BRIC, FMA and related programs, including the project status (for example pending, submitted to FEMA, approved). The early statuses are the interesting ones: those projects have not been bid yet.

两个关键数据集包括:公共援助 (PA) 资助项目,即灾难宣布后每一项已确定的维修或更换项目,包含损坏类别、县、项目金额和联邦份额;以及减灾援助 (HMA) 子申请,涵盖 HMGP、BRIC、FMA 及相关计划,包括项目状态(例如待处理、已提交至 FEMA、已批准)。其中,处于早期阶段的项目最值得关注,因为这些项目尚未进行招标。

What makes the raw API awkward PA project records carry an applicant ID rather than a name, so you need a second lookup to learn which agency it is. The two datasets use different field names for the same ideas (state, county, amount, status). Results are paged, and a useful pull for a single state can run to tens of thousands of rows.

原始 API 的不便之处在于:PA 项目记录中仅包含申请人 ID 而非名称,因此需要进行二次查询才能确定具体是哪个机构。此外,这两个数据集对相同概念(如州、县、金额、状态)使用了不同的字段名称。查询结果采用分页显示,针对单个州的一次有效数据提取可能包含数万行记录。

Doing it by hand Query the PA funded projects and HMA sub-application endpoints at fema.gov/api/open with a filter on state and date. Page through the results with $skip and $top. Join PA records to the applicants dataset to get agency names and addresses. Normalise the field names so both datasets fit one table.

手动操作流程:在 fema.gov/api/open 访问 PA 资助项目和 HMA 子申请端点,并按州和日期进行筛选。使用 $skip 和 $top 参数对结果进行分页。将 PA 记录与申请人数据集进行关联,以获取机构名称和地址。对字段名称进行标准化处理,以便将两个数据集整合到同一个表格中。

Doing it in one run I packaged those steps as an Apify Actor: FEMA Disaster Recovery & Mitigation Projects. It pulls both datasets, resolves applicant names, and returns one flat schema you can filter by state, program, status and amount, then export to CSV or Excel.

一键式操作:我将上述步骤封装为一个 Apify Actor,名为“FEMA Disaster Recovery & Mitigation Projects”。它能够提取两个数据集,解析申请人名称,并返回一个扁平化的架构,你可以按州、计划、状态和金额进行筛选,然后导出为 CSV 或 Excel 文件。

A note on using it well An obligated amount is money FEMA has committed, not a contract you can bid on tomorrow. Use the list to find the agencies and projects worth watching, then follow each agency’s own procurement notices for the actual solicitation.

使用建议:已确定的金额是指 FEMA 承诺拨付的资金,并不代表你可以立即投标的合同。请利用这份名单寻找值得关注的机构和项目,然后密切跟踪各机构自己的采购公告,以获取实际的招标信息。