# FEMA Disasters - Declarations & Aid Data (`pink_comic/fema-disaster-search`) Actor

Search FEMA disaster declarations and assistance data. Find disasters by type, state, or date. For insurance analysts, emergency managers, real estate investors, and climate risk researchers. Pay per result.

- **URL**: https://apify.com/pink\_comic/fema-disaster-search.md
- **Developed by:** [Ava Torres](https://apify.com/pink_comic) (community)
- **Categories:** Developer tools, News, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## FEMA Disaster Declarations - Federal Disaster Aid, Funding & Housing Assistance Search

Search 69,000+ FEMA disaster declarations from 1953 to present. Filter by state, incident type (hurricane, flood, fire, tornado, severe storm), fiscal year, and keyword. Get disaster funding summaries — Individual Assistance, Public Assistance, and Hazard Mitigation grant totals — and housing assistance data by county and ZIP code including damage amounts, approved grants, and repair costs.

Data is sourced from the FEMA OpenFEMA public API. No API key required.

---

### Output Fields

**Disaster Declarations (`disasters` search type):**

| Field | Type | Description |
|---|---|---|
| `disasterNumber` | integer | FEMA disaster number |
| `state` | string | State code |
| `incidentType` | string | Incident type (Hurricane, Flood, Fire, Tornado, etc.) |
| `declarationTitle` | string | Official declaration title |
| `declarationDate` | string | Date the disaster was declared |
| `fyDeclared` | integer | Fiscal year of declaration |

**Disaster Funding Summaries (`funding` search type):**

Additional fields include Individual Assistance totals, Public Assistance totals, and Hazard Mitigation grant amounts per disaster.

**Housing Assistance (`assistance` search type):**

Additional fields include county, ZIP code, total damage amounts, approved Individual Assistance grants, and repair cost data.

---

### Use Cases

- **Insurance and catastrophe risk modeling** — Retrieve historical disaster declarations by state and incident type. Build frequency and severity datasets for actuarial models.
- **Real estate and mortgage risk assessment** — Identify counties and ZIP codes with repeated disaster declarations or significant housing assistance claims to assess climate exposure.
- **Government contracting and emergency management** — Track declared disasters to identify opportunities for federal contract work in disaster response and recovery.
- **Nonprofit and grant writing** — Document disaster history in a target region to support applications for disaster preparedness or resilience funding.
- **Journalism and policy research** — Analyze FEMA declaration trends over time, compare federal assistance levels across states, or track the growing frequency of specific disaster types.
- **Supply chain and business continuity planning** — Identify locations with high disaster frequency to inform facility siting, inventory positioning, or continuity planning.

---

### How to Use

Select a search type and apply relevant filters. Use `yearFrom` and `yearTo` for a date range, or `year` for a single fiscal year.

**Example input — all Texas disaster declarations:**

```json
{
  "searchType": "disasters",
  "state": "TX",
  "incidentType": "",
  "year": 0,
  "maxResults": 100
}
````

**Example input — hurricane declarations since 2000:**

```json
{
  "searchType": "disasters",
  "state": "",
  "incidentType": "Hurricane",
  "yearFrom": 2000,
  "yearTo": 2024,
  "maxResults": 500
}
```

**Example input — disaster funding summaries for Florida:**

```json
{
  "searchType": "funding",
  "state": "FL",
  "year": 0,
  "maxResults": 100
}
```

**Example input — housing assistance data for Louisiana (post-Katrina era):**

```json
{
  "searchType": "assistance",
  "state": "LA",
  "yearFrom": 2005,
  "yearTo": 2010,
  "maxResults": 200
}
```

**Example input — search by disaster name keyword:**

```json
{
  "searchType": "disasters",
  "keyword": "Hurricane Katrina",
  "maxResults": 50
}
```

#### Search Types

| Value | Description |
|---|---|
| `disasters` | FEMA disaster declarations with incident type and declaration date |
| `funding` | Disaster funding summaries with IA, PA, and Hazard Mitigation totals |
| `assistance` | Housing assistance data by county and ZIP code |

#### Common Incident Types

`Hurricane`, `Flood`, `Fire`, `Tornado`, `Severe Storm`, `Severe Storm(s)`, `Earthquake`, `Snow`, `Drought`, `Typhoon`, `Coastal Storm`, `Biological` — or leave empty for all types.

***

### Cost

Approximately **$0.10 per run** (platform start fee) plus minimal compute. Most runs complete in under 20 seconds.

***

### Output Formats

Results are available as **JSON**, **CSV**, and **Excel** from the Apify dataset interface.

***

### FAQ

**Does this require an API key?**
No. The FEMA OpenFEMA API is public and requires no authentication.

**How far back does disaster declaration data go?**
FEMA declarations go back to 1953, the year the Disaster Relief Act was first enacted.

**What is the difference between Individual Assistance and Public Assistance?**
Individual Assistance (IA) provides grants directly to households for home repair, temporary housing, and other disaster needs. Public Assistance (PA) funds repair and rebuilding of public infrastructure like roads, schools, and utilities. Both are included in the `funding` search type.

**What is Hazard Mitigation?**
The Hazard Mitigation Grant Program (HMGP) funds projects that reduce future disaster risk, such as elevating homes in flood zones or retrofitting buildings for earthquake resistance.

**Can I get sub-state data like county or ZIP level?**
Yes. Use `searchType: "assistance"` to retrieve housing assistance data broken down by county and ZIP code for each disaster.

**How is a "disaster number" assigned?**
FEMA assigns a sequential number to each presidentially declared major disaster. Numbers have been issued since declaration number 1 in 1953.

# Actor input Schema

## `searchType` (type: `string`):

What to search for in the FEMA database.

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

2-letter state code (e.g. "TX", "FL", "CA"). Leave empty for all states.

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

Filter by incident type. Common types: Hurricane, Flood, Fire, Tornado, Severe Storm(s), Earthquake, Snow, Drought, Typhoon, Coastal Storm.

## `year` (type: `integer`):

Filter to a specific fiscal year (e.g. 2024). Leave 0 for all years.

## `yearFrom` (type: `integer`):

Start of year range (e.g. 2020). Use with Year To for a range.

## `yearTo` (type: `integer`):

End of year range (e.g. 2024). Use with Year From for a range.

## `keyword` (type: `string`):

Search in disaster declaration titles (e.g. "Hurricane Katrina", "COVID-19").

## `maxResults` (type: `integer`):

Maximum number of results to return.

## Actor input object example

```json
{
  "searchType": "disasters",
  "state": "TX",
  "incidentType": "",
  "year": 0,
  "yearFrom": 0,
  "yearTo": 0,
  "keyword": "",
  "maxResults": 50
}
```

# 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 = {
    "searchType": "disasters",
    "state": "TX",
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("pink_comic/fema-disaster-search").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 = {
    "searchType": "disasters",
    "state": "TX",
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("pink_comic/fema-disaster-search").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 '{
  "searchType": "disasters",
  "state": "TX",
  "maxResults": 50
}' |
apify call pink_comic/fema-disaster-search --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FEMA Disasters - Declarations & Aid Data",
        "description": "Search FEMA disaster declarations and assistance data. Find disasters by type, state, or date. For insurance analysts, emergency managers, real estate investors, and climate risk researchers. Pay per result.",
        "version": "0.1",
        "x-build-id": "lFNAYIw1HjxQhXRnI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pink_comic~fema-disaster-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pink_comic-fema-disaster-search",
                "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/pink_comic~fema-disaster-search/runs": {
            "post": {
                "operationId": "runs-sync-pink_comic-fema-disaster-search",
                "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/pink_comic~fema-disaster-search/run-sync": {
            "post": {
                "operationId": "run-sync-pink_comic-fema-disaster-search",
                "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",
                "properties": {
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "disasters",
                            "funding",
                            "assistance"
                        ],
                        "type": "string",
                        "description": "What to search for in the FEMA database.",
                        "default": "disasters"
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "2-letter state code (e.g. \"TX\", \"FL\", \"CA\"). Leave empty for all states.",
                        "default": "TX"
                    },
                    "incidentType": {
                        "title": "Incident Type",
                        "type": "string",
                        "description": "Filter by incident type. Common types: Hurricane, Flood, Fire, Tornado, Severe Storm(s), Earthquake, Snow, Drought, Typhoon, Coastal Storm.",
                        "default": ""
                    },
                    "year": {
                        "title": "Fiscal Year",
                        "type": "integer",
                        "description": "Filter to a specific fiscal year (e.g. 2024). Leave 0 for all years.",
                        "default": 0
                    },
                    "yearFrom": {
                        "title": "Year From",
                        "type": "integer",
                        "description": "Start of year range (e.g. 2020). Use with Year To for a range.",
                        "default": 0
                    },
                    "yearTo": {
                        "title": "Year To",
                        "type": "integer",
                        "description": "End of year range (e.g. 2024). Use with Year From for a range.",
                        "default": 0
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Search in disaster declaration titles (e.g. \"Hurricane Katrina\", \"COVID-19\").",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of results to return.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
