# OpenFEMA Scraper (`crawlerbros/openfema-scraper`) Actor

Scrape FEMA's free public OpenFEMA API: disaster declarations, public assistance funded projects, housing assistance aggregates, and the OpenFEMA dataset catalog. Filter by state, incident type, region, disaster number, and date range.

- **URL**: https://apify.com/crawlerbros/openfema-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## OpenFEMA Scraper

Pull structured disaster and recovery data straight from **FEMA's free public [OpenFEMA API](https://www.fema.gov/about/reports-and-data/openfema)**. Get U.S. disaster declarations, public assistance funded projects, housing assistance aggregates, and the full OpenFEMA dataset catalog — filtered by state, incident type, FEMA region, disaster number, and date range. Clean JSON output, ready for analysis, dashboards, or research.

No login, no API key, no cookies, and no proxy required — OpenFEMA is 100% public U.S. government open data.

### What this actor does

- **5 datasets in one actor** — pick the one you need with the `mode` field:
  - **Disaster declarations** (`disasterDeclarations`) — every federally declared disaster, one row per designated county / area, with program flags (Individual Assistance, Public Assistance, Hazard Mitigation).
  - **Disaster declarations, one row per disaster** (`webDisasterDeclarations`) — a de-duplicated, disaster-level view including the official FEMA disaster page URL.
  - **Public assistance funded projects** (`publicAssistanceProjects`) — infrastructure recovery grants with obligated dollar amounts, damage categories, and project status.
  - **Housing assistance** (`housingAssistance`) — homeowner or renter assistance aggregated by city / ZIP, with inspection and grant totals.
  - **OpenFEMA dataset catalog** (`datasets`) — a directory of all OpenFEMA datasets with record counts and data-dictionary links.
- **Rich filters** — state / territory, incident type, declaration type, FEMA region, disaster number, fiscal year range, declaration-date range, county, ZIP code, project size, damage category, and assistance-program type.
- **Every finite field is a dropdown** — 59 states/territories, 26 incident types, 3 declaration types, 10 FEMA regions.
- **Empty fields are omitted** — no nulls, no placeholders. Every record carries `sourceUrl`, `recordType`, and `scrapedAt`.

### Output fields

Every record includes `sourceUrl` (the exact OpenFEMA API endpoint it came from), `recordType`, and `scrapedAt`. Fields with no value are omitted from the record.

- **Disaster declarations:** `femaDeclarationString`, `disasterNumber`, `state`, `declarationType`, `declarationTitle`, `incidentType`, `fyDeclared`, `declarationDate`, `incidentBeginDate`, `incidentEndDate`, `designatedArea`, `declarationRequestNumber`, `incidentId`, `region`, `fipsStateCode`, `fipsCountyCode`, `placeCode`, `ihProgramDeclared`, `iaProgramDeclared`, `paProgramDeclared`, `hmProgramDeclared`, `tribalRequest`, `lastRefresh`, `femaDisasterUrl`.
- **Web disaster declarations:** `disasterNumber`, `disasterName`, `declarationType`, `incidentType`, `stateCode`, `stateName`, `region`, `declarationDate`, `declarationRequestDate`, `incidentBeginDate`, `incidentEndDate`, `closeoutDate`, `entryDate`, `updateDate`, `lastRefresh`, program flags, `femaDisasterUrl`.
- **Public assistance projects:** `disasterNumber`, `declarationDate`, `incidentType`, `pwNumber`, `applicationTitle`, `applicantId`, `damageCategoryCode`, `damageCategory`, `projectStatus`, `projectProcessStep`, `projectSize`, `county`, `countyCode`, `state`, `stateNumberCode`, `projectAmount`, `federalShareObligated`, `totalObligated`, `mitigationAmount`, `gmProjectId`, `gmApplicantId`, `firstObligationDate`, `lastObligationDate`, `lastRefresh`, `femaDisasterUrl`.
- **Housing assistance:** `disasterNumber`, `state`, `county`, `city`, `zipCode`, `housingAssistanceType`, `validRegistrations`, `totalInspected`, `approvedForFemaAssistance`, `totalApprovedIhpAmount`, `repairReplaceAmount`, `rentalAmount`, `otherNeedsAmount`, `totalMaxGrants`, `approvedBetween1And10000`, `approvedBetween10001And25000`, `approvedBetween25001AndMax`, `femaDisasterUrl`. Homeowners also include `totalDamage`, `averageFemaInspectedDamage`, `noFemaInspectedDamage`, and `femaInspectedDamageBetween*` bands; renters include `totalInspectedWithNoDamage`, `totalWithModerateDamage`, `totalWithMajorDamage`, and `totalWithSubstantialDamage`.
- **Dataset catalog:** `identifier`, `name`, `title`, `description`, `publisher`, `theme`, `accessLevel`, `accrualPeriodicity`, `version`, `recordCount`, `keyword`, `issued`, `modified`, `lastDataSetRefresh`, `webServiceUrl`, `dataDictionaryUrl`, `landingPageUrl`, `distributions` (download `format` / `url` / `size`).

### Output samples

**Disaster declaration**

```json
{
  "femaDeclarationString": "DR-4844-FL",
  "disasterNumber": 4844,
  "state": "FL",
  "declarationType": "DR",
  "declarationTitle": "HURRICANE MILTON",
  "incidentType": "Hurricane",
  "fyDeclared": 2025,
  "declarationDate": "2024-11-05",
  "incidentBeginDate": "2024-10-05",
  "incidentEndDate": "2024-11-02",
  "designatedArea": "Alachua (County)",
  "region": 4,
  "ihProgramDeclared": true,
  "paProgramDeclared": true,
  "hmProgramDeclared": true,
  "femaDisasterUrl": "https://www.fema.gov/disaster/4844",
  "sourceUrl": "https://www.fema.gov/api/open/v2/DisasterDeclarationsSummaries?$filter=disasterNumber%20eq%204844",
  "recordType": "disasterDeclaration",
  "scrapedAt": "2026-07-02T13:11:02.100841+00:00"
}
````

**Public assistance project**

```json
{
  "disasterNumber": 4817,
  "declarationDate": "2024-09-16",
  "incidentType": "Hurricane",
  "pwNumber": 714,
  "applicationTitle": "Management Costs",
  "damageCategory": "Management Costs",
  "projectStatus": "Active",
  "projectSize": "Small",
  "county": "St. Tammany Parish",
  "state": "LA",
  "projectAmount": 3888.23,
  "federalShareObligated": 3888.23,
  "totalObligated": 3888.23,
  "sourceUrl": "https://www.fema.gov/api/open/v2/PublicAssistanceFundedProjectsDetails?$filter=disasterNumber%20eq%204817",
  "recordType": "publicAssistanceProject",
  "scrapedAt": "2026-07-02T13:11:58.966034+00:00"
}
```

**Housing assistance**

```json
{
  "disasterNumber": 4879,
  "state": "TX",
  "county": "Kerr (County)",
  "city": "COMFORT",
  "zipCode": "78013",
  "housingAssistanceType": "owners",
  "validRegistrations": 11,
  "totalDamage": 310515.82,
  "totalApprovedIhpAmount": 109743.89,
  "sourceUrl": "https://www.fema.gov/api/open/v2/HousingAssistanceOwners?$filter=disasterNumber%20eq%204879",
  "recordType": "housingAssistance",
  "scrapedAt": "2026-07-02T13:12:03.921095+00:00"
}
```

### Input

| Field | Type | Applies to | Description |
|---|---|---|---|
| `mode` | select | all | Which dataset to query (see list above). |
| `state` | select | all except `datasets` | Two-letter state / territory code (e.g. `FL`). |
| `incidentType` | select | declarations, public assistance | Hurricane, Flood, Fire, Severe Storm, Tornado, … |
| `declarationType` | select | `disasterDeclarations` | `DR` (Major Disaster), `EM` (Emergency), `FM` (Fire Management). |
| `region` | select | declaration modes | FEMA region 1–10. |
| `programType` | select | `disasterDeclarations` | Only declarations activating a given program (IH / IA / PA / HM). |
| `disasterNumber` | integer | all except `datasets` | Restrict to one FEMA disaster (e.g. `4844`). |
| `fyDeclaredMin` / `fyDeclaredMax` | integer | `disasterDeclarations` | Federal fiscal-year range. |
| `declarationDateFrom` / `declarationDateTo` | string | declaration modes | Date range, `YYYY-MM-DD`. |
| `county` | string | public assistance, housing | Exact county-name match. |
| `zipCode` | string | `housingAssistance` | Exact 5-digit ZIP-code match. |
| `projectSize` | select | `publicAssistanceProjects` | FEMA project size: Small or Large. |
| `damageCategory` | select | `publicAssistanceProjects` | FEMA damage category A–G or Z (Debris, Roads & Bridges, Utilities, …). |
| `housingAssistanceType` | select | `housingAssistance` | `owners` or `renters`. |
| `maxItems` | integer | all | Maximum records to return (1–50,000). |

#### Example: Florida hurricanes with Public Assistance since FY2020

```json
{
  "mode": "disasterDeclarations",
  "state": "FL",
  "incidentType": "Hurricane",
  "programType": "publicAssistance",
  "fyDeclaredMin": 2020,
  "maxItems": 200
}
```

#### Example: Public assistance projects for a specific disaster

```json
{
  "mode": "publicAssistanceProjects",
  "disasterNumber": 1603,
  "county": "Orleans Parish",
  "maxItems": 100
}
```

#### Example: Renter housing assistance in Texas

```json
{
  "mode": "housingAssistance",
  "state": "TX",
  "housingAssistanceType": "renters",
  "maxItems": 500
}
```

### Use cases

- **Emergency management & GIS** — pull every declared disaster for a state or region to drive maps and dashboards.
- **Insurance & reinsurance** — model exposure by joining declarations and public-assistance obligations to disaster numbers.
- **Journalism & open data** — track federal recovery spending by county, incident type, or fiscal year.
- **Academic research** — bulk-export decades of declarations for climate, hazard, or policy studies.
- **Grant & recovery analysts** — monitor public-assistance project status and obligated dollar amounts per disaster.
- **Housing & community planning** — analyze homeowner and renter assistance totals by city and ZIP after an event.

### FAQ

**Do I need an API key or account?**
No. OpenFEMA is public U.S. government open data. This actor works out of the box with zero configuration beyond the input fields.

**How current is the data?**
It is served live from FEMA's OpenFEMA API, which FEMA refreshes on its own schedule (many datasets update several times a day). You always get the latest data FEMA has published.

**Why do several rows share the same disaster number?**
In `disasterDeclarations`, FEMA issues one record per designated county / area, so a large disaster spans many rows. Use `webDisasterDeclarations` for a single row per disaster.

**Can I get every record for a disaster?**
Yes. Set `disasterNumber` and raise `maxItems`. The actor paginates automatically until it reaches your cap or the end of the results.

**What does `femaDisasterUrl` link to?**
The official FEMA disaster page (e.g. `https://www.fema.gov/disaster/4844`). Open it in a browser for the full disaster overview.

**Which states and territories are supported?**
All 50 states, DC, and U.S. territories (Puerto Rico, U.S. Virgin Islands, Guam, American Samoa, Northern Mariana Islands) plus the Freely Associated States.

### Data source

All data comes from FEMA's **OpenFEMA** program at `https://www.fema.gov/api/open`, a free, public, U.S. federal open-data service. No account, key, or credential is needed. `sourceUrl` on each record links back to the exact API resource so results are fully traceable.

# Actor input Schema

## `mode` (type: `string`):

Which OpenFEMA dataset to query.

## `state` (type: `string`):

Two-letter state or territory code. Applies to all modes except the dataset catalog.

## `incidentType` (type: `string`):

Type of incident. Applies to disaster declaration and public assistance modes.

## `declarationType` (type: `string`):

Declaration category. Applies to the primary disaster declarations mode only.

## `region` (type: `string`):

FEMA region number (1-10). Applies to disaster declaration modes.

## `programType` (type: `string`):

Only return declarations where the chosen FEMA assistance program was activated. Applies to the disaster declaration modes (ignored for other datasets).

## `disasterNumber` (type: `integer`):

Restrict results to a single FEMA disaster number (e.g. 4844 for Hurricane Milton).

## `fyDeclaredMin` (type: `integer`):

Only declarations from this federal fiscal year onward. Applies to the primary disaster declarations mode.

## `fyDeclaredMax` (type: `integer`):

Only declarations up to this federal fiscal year. Applies to the primary disaster declarations mode.

## `declarationDateFrom` (type: `string`):

Only declarations on or after this date (YYYY-MM-DD). Applies to disaster declaration modes.

## `declarationDateTo` (type: `string`):

Only declarations on or before this date (YYYY-MM-DD). Applies to disaster declaration modes.

## `county` (type: `string`):

County name filter (exact match). Applies to public assistance and housing assistance modes.

## `zipCode` (type: `string`):

5-digit ZIP code filter (exact match). Applies to the housing assistance mode.

## `projectSize` (type: `string`):

Filter public assistance projects by FEMA project size. Applies to the public assistance projects mode.

## `damageCategory` (type: `string`):

Filter public assistance projects by FEMA damage category. Applies to the public assistance projects mode.

## `housingAssistanceType` (type: `string`):

Owners or renters aggregate. Applies to the housing assistance mode.

## `maxItems` (type: `integer`):

Maximum number of records to return.

## Actor input object example

```json
{
  "mode": "disasterDeclarations",
  "state": "FL",
  "incidentType": "Hurricane",
  "programType": "any",
  "projectSize": "any",
  "damageCategory": "any",
  "housingAssistanceType": "owners",
  "maxItems": 20
}
```

# Actor output Schema

## `records` (type: `string`):

Dataset containing all scraped OpenFEMA records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "disasterDeclarations",
    "state": "FL",
    "incidentType": "Hurricane",
    "programType": "any",
    "housingAssistanceType": "owners",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/openfema-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "disasterDeclarations",
    "state": "FL",
    "incidentType": "Hurricane",
    "programType": "any",
    "housingAssistanceType": "owners",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/openfema-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "disasterDeclarations",
  "state": "FL",
  "incidentType": "Hurricane",
  "programType": "any",
  "housingAssistanceType": "owners",
  "maxItems": 20
}' |
apify call crawlerbros/openfema-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/openfema-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "OpenFEMA Scraper",
        "description": "Scrape FEMA's free public OpenFEMA API: disaster declarations, public assistance funded projects, housing assistance aggregates, and the OpenFEMA dataset catalog. Filter by state, incident type, region, disaster number, and date range.",
        "version": "1.0",
        "x-build-id": "VlgPMJcUtO6jU30bf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~openfema-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-openfema-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~openfema-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-openfema-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~openfema-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-openfema-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Dataset",
                        "enum": [
                            "disasterDeclarations",
                            "webDisasterDeclarations",
                            "publicAssistanceProjects",
                            "housingAssistance",
                            "datasets"
                        ],
                        "type": "string",
                        "description": "Which OpenFEMA dataset to query.",
                        "default": "disasterDeclarations"
                    },
                    "state": {
                        "title": "State / territory",
                        "enum": [
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "DC",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY",
                            "PR",
                            "VI",
                            "GU",
                            "AS",
                            "MP",
                            "FM",
                            "MH",
                            "PW"
                        ],
                        "type": "string",
                        "description": "Two-letter state or territory code. Applies to all modes except the dataset catalog."
                    },
                    "incidentType": {
                        "title": "Incident type",
                        "enum": [
                            "Hurricane",
                            "Flood",
                            "Severe Storm",
                            "Fire",
                            "Tornado",
                            "Snowstorm",
                            "Severe Ice Storm",
                            "Winter Storm",
                            "Coastal Storm",
                            "Earthquake",
                            "Drought",
                            "Typhoon",
                            "Tropical Storm",
                            "Biological",
                            "Mud/Landslide",
                            "Dam/Levee Break",
                            "Volcanic Eruption",
                            "Freezing",
                            "Fishing Losses",
                            "Straight-Line Winds",
                            "Toxic Substances",
                            "Chemical",
                            "Tsunami",
                            "Human Cause",
                            "Terrorist",
                            "Other"
                        ],
                        "type": "string",
                        "description": "Type of incident. Applies to disaster declaration and public assistance modes."
                    },
                    "declarationType": {
                        "title": "Declaration type",
                        "enum": [
                            "DR",
                            "EM",
                            "FM"
                        ],
                        "type": "string",
                        "description": "Declaration category. Applies to the primary disaster declarations mode only."
                    },
                    "region": {
                        "title": "FEMA region",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "8",
                            "9",
                            "10"
                        ],
                        "type": "string",
                        "description": "FEMA region number (1-10). Applies to disaster declaration modes."
                    },
                    "programType": {
                        "title": "Assistance program declared",
                        "enum": [
                            "any",
                            "individualAndHouseholds",
                            "individualAssistance",
                            "publicAssistance",
                            "hazardMitigation"
                        ],
                        "type": "string",
                        "description": "Only return declarations where the chosen FEMA assistance program was activated. Applies to the disaster declaration modes (ignored for other datasets).",
                        "default": "any"
                    },
                    "disasterNumber": {
                        "title": "Disaster number",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Restrict results to a single FEMA disaster number (e.g. 4844 for Hurricane Milton)."
                    },
                    "fyDeclaredMin": {
                        "title": "Fiscal year declared (min)",
                        "minimum": 1953,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only declarations from this federal fiscal year onward. Applies to the primary disaster declarations mode."
                    },
                    "fyDeclaredMax": {
                        "title": "Fiscal year declared (max)",
                        "minimum": 1953,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Only declarations up to this federal fiscal year. Applies to the primary disaster declarations mode."
                    },
                    "declarationDateFrom": {
                        "title": "Declaration date from",
                        "type": "string",
                        "description": "Only declarations on or after this date (YYYY-MM-DD). Applies to disaster declaration modes."
                    },
                    "declarationDateTo": {
                        "title": "Declaration date to",
                        "type": "string",
                        "description": "Only declarations on or before this date (YYYY-MM-DD). Applies to disaster declaration modes."
                    },
                    "county": {
                        "title": "County",
                        "type": "string",
                        "description": "County name filter (exact match). Applies to public assistance and housing assistance modes."
                    },
                    "zipCode": {
                        "title": "ZIP code",
                        "type": "string",
                        "description": "5-digit ZIP code filter (exact match). Applies to the housing assistance mode."
                    },
                    "projectSize": {
                        "title": "Project size",
                        "enum": [
                            "any",
                            "Small",
                            "Large"
                        ],
                        "type": "string",
                        "description": "Filter public assistance projects by FEMA project size. Applies to the public assistance projects mode.",
                        "default": "any"
                    },
                    "damageCategory": {
                        "title": "Damage category",
                        "enum": [
                            "any",
                            "A",
                            "B",
                            "C",
                            "D",
                            "E",
                            "F",
                            "G",
                            "Z"
                        ],
                        "type": "string",
                        "description": "Filter public assistance projects by FEMA damage category. Applies to the public assistance projects mode.",
                        "default": "any"
                    },
                    "housingAssistanceType": {
                        "title": "Housing assistance type",
                        "enum": [
                            "owners",
                            "renters"
                        ],
                        "type": "string",
                        "description": "Owners or renters aggregate. Applies to the housing assistance mode.",
                        "default": "owners"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of records to return.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
