# FEMA Disaster Declarations & Emergency Data Scraper (`compute-edge/fema-disasters-scraper`) Actor

Extract FEMA disaster declaration data including hurricanes, floods, fires, tornadoes and more. Filter by state, incident type, date range, and declaration type.

- **URL**: https://apify.com/compute-edge/fema-disasters-scraper.md
- **Developed by:** [Compute Edge](https://apify.com/compute-edge) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 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 & Emergency Data Scraper

Extract **FEMA disaster declaration** data directly from the official **FEMA OpenFEMA API**. This Actor pulls structured data on **hurricanes, floods, fires, tornadoes, earthquakes**, and all other federally declared disasters across every U.S. state and territory. Filter by **state, incident type, declaration type, and date range** to get exactly the disaster records you need -- no authentication required.

Whether you are building a **climate risk model**, tracking **emergency management trends**, or feeding disaster data into a **RAG pipeline**, this Actor delivers clean, structured JSON ready for immediate use.

### Key Features

| Feature | Details |
|---------|---------|
| **Total Records** | 60,000+ disaster declarations dating back to 1953 |
| **Output Fields** | 17 structured fields per declaration |
| **Filtering** | State, incident type, declaration type, date range |
| **Authentication** | None required -- uses public FEMA API |
| **Output Formats** | JSON, CSV, Excel, HTML, RSS, XML |
| **Pagination** | Automatic -- handles multi-page API responses |

### What Data Can You Extract?

| Field | Description |
|-------|-------------|
| `femaDeclarationString` | Unique FEMA declaration identifier (e.g., DR-4673-FL) |
| `disasterNumber` | Numeric disaster number assigned by FEMA |
| `state` | Two-letter state or territory code |
| `declarationType` | DR (Major Disaster), EM (Emergency), or FM (Fire Management) |
| `declarationDate` | Date the disaster was officially declared |
| `incidentType` | Type of disaster (Hurricane, Flood, Fire, Tornado, etc.) |
| `declarationTitle` | Official title of the disaster declaration |
| `fyDeclared` | Fiscal year the disaster was declared |
| `incidentBeginDate` | Start date of the incident |
| `incidentEndDate` | End date of the incident |
| `designatedArea` | County or area covered by the declaration |
| `ihProgramDeclared` | Whether Individual & Households Program was authorized |
| `iaProgramDeclared` | Whether Individual Assistance was authorized |
| `paProgramDeclared` | Whether Public Assistance was authorized |
| `hmProgramDeclared` | Whether Hazard Mitigation was authorized |
| `fipsStateCode` | FIPS state code |
| `fipsCountyCode` | FIPS county code |
| `disasterCloseoutDate` | Date the disaster was officially closed out |

### How to Scrape FEMA Disaster Declarations

1. Navigate to the **FEMA Disaster Declarations Scraper** on Apify Store.
2. Click **Start** to open the Actor input form.
3. Optionally set a **State** (e.g., "Florida" or "TX") to filter by location.
4. Choose an **Incident Type** from the dropdown (Hurricane, Flood, Fire, etc.) or leave blank for all types.
5. Select a **Declaration Type** (Major Disaster, Emergency, or Fire Management) or leave blank for all.
6. Set a **Start Date** and **End Date** in YYYY-MM-DD format to narrow the time range.
7. Set **Max Results** to control how many records to extract (default: 100, max: 50,000).
8. Click **Start** and wait for the run to complete.
9. Download your data in JSON, CSV, Excel, or any other supported format from the **Dataset** tab.

### Input Example

```json
{
    "state": "Florida",
    "incidentType": "Hurricane",
    "declarationType": "DR",
    "startDate": "2020-01-01",
    "endDate": "2025-12-31",
    "maxResults": 500
}
````

### Output Example

```json
{
    "femaDeclarationString": "DR-4673-FL",
    "disasterNumber": 4673,
    "state": "FL",
    "declarationType": "DR",
    "declarationDate": "2022-09-29T00:00:00.000Z",
    "incidentType": "Hurricane",
    "declarationTitle": "HURRICANE IAN",
    "fyDeclared": 2022,
    "incidentBeginDate": "2022-09-23T00:00:00.000Z",
    "incidentEndDate": "2022-11-04T00:00:00.000Z",
    "designatedArea": "Lee (County)",
    "ihProgramDeclared": true,
    "iaProgramDeclared": true,
    "paProgramDeclared": true,
    "hmProgramDeclared": true,
    "fipsStateCode": "12",
    "fipsCountyCode": "071",
    "disasterCloseoutDate": null
}
```

### Pricing

| Event | Cost |
|-------|------|
| Actor start | $0.00005 per run |
| Per result | $0.002 per disaster declaration |

Platform compute costs apply in addition to the above. A typical run extracting 1,000 declarations costs approximately $2.00 in result fees plus minimal compute.

### Use Cases

- **Climate risk analysis** -- Track disaster frequency and severity by state over decades to model climate trends and insurance exposure.
- **Emergency management research** -- Analyze which FEMA programs (Individual Assistance, Public Assistance, Hazard Mitigation) are activated for different disaster types.
- **Government grant tracking** -- Identify counties with active disaster declarations to find FEMA-eligible grant and recovery funding opportunities.
- **Supply chain risk assessment** -- Monitor disaster declarations in regions where your suppliers or warehouses are located.
- **Academic and journalism research** -- Build datasets of historical disaster patterns for studies, reports, and investigative journalism.
- **Real estate due diligence** -- Evaluate disaster history for specific counties before property investment or development decisions.

### Integrations

Connect this Actor with your existing tools and workflows:

- **Google Sheets** -- Export results directly to a spreadsheet for easy sharing and analysis.
- **Slack** -- Get notified when new disaster declarations match your filters.
- **Zapier / Make / n8n** -- Trigger downstream workflows automatically when new data is extracted.
- **REST API** -- Call this Actor programmatically from any application using the Apify API.
- **Python / JavaScript clients** -- Use the official Apify SDK to integrate into your codebase.

### FAQ

#### Is it legal to scrape FEMA disaster data?

Yes. FEMA disaster declaration data is publicly available through the OpenFEMA API, a U.S. government open data initiative. The data is in the public domain and free to use. This Actor uses the official public API and does not bypass any access restrictions.

#### How much does it cost to scrape FEMA?

The Actor charges $0.002 per result plus a $0.00005 Actor start fee. A typical run of 1,000 declarations costs approximately $2.00 in Actor fees plus minimal compute costs. See the pricing table above for details.

#### Can I export FEMA data to Excel or CSV?

Yes. Apify supports exporting data in JSON, CSV, Excel, XML, HTML, and RSS formats. After the Actor run completes, go to the Dataset tab and choose your preferred export format.

#### How often is the FEMA data updated?

You can schedule this Actor to run at any interval — daily, weekly, or monthly. The OpenFEMA API is updated continuously as new disaster declarations are issued, so data is as current as FEMA's own systems.

#### What date range does the FEMA data cover?

FEMA's database contains disaster declarations dating back to 1953, with over 60,000 records total. You can set `maxResults` up to 50,000 and leave all filters blank to extract the full history, or use date range filters to narrow the results.

### Other Scrapers by SeatSignal

- [USGS Earthquake Scraper](https://apify.com/seatsignal/usgs-earthquake-scraper) — Extract earthquake event data from the USGS
- [NRC Nuclear Reactor Status Scraper](https://apify.com/seatsignal/nrc-reactor-status-scraper) — Extract daily nuclear reactor power status data
- [EPA ECHO Environmental Compliance Scraper](https://apify.com/seatsignal/epa-echo-scraper) — Extract compliance data for 800K+ EPA-regulated facilities
- [USBR Water Data Scraper](https://apify.com/seatsignal/usbr-water-data-scraper) — Extract U.S. Bureau of Reclamation water data
- [CISA Known Exploited Vulnerabilities Scraper](https://apify.com/seatsignal/cisa-kev-scraper) — Extract CISA known exploited vulnerability catalog data

### Legal Disclaimer

This Actor accesses publicly available data from the FEMA OpenFEMA API, a U.S. government open data initiative. The data is in the public domain and free to use. This Actor does not bypass any authentication, access restrictions, or terms of service. Users are responsible for ensuring their use of the extracted data complies with applicable laws and regulations. For questions or support, open an issue on this Actor's page.

# Actor input Schema

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

State name or abbreviation to filter by (e.g., 'Florida', 'TX', 'CA'). Leave empty for all states.

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

Type of disaster to filter by.

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

Type of FEMA declaration.

## `startDate` (type: `string`):

Filter declarations after this date (YYYY-MM-DD format).

## `endDate` (type: `string`):

Filter declarations before this date (YYYY-MM-DD format).

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

Maximum number of disaster declarations to return.

## Actor input object example

```json
{
  "state": "",
  "incidentType": "",
  "declarationType": "",
  "startDate": "",
  "endDate": "",
  "maxResults": 100
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("compute-edge/fema-disasters-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("compute-edge/fema-disasters-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 '{}' |
apify call compute-edge/fema-disasters-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FEMA Disaster Declarations & Emergency Data Scraper",
        "description": "Extract FEMA disaster declaration data including hurricanes, floods, fires, tornadoes and more. Filter by state, incident type, date range, and declaration type.",
        "version": "0.1",
        "x-build-id": "2c5xCt0quirOoSQmP"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/compute-edge~fema-disasters-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-compute-edge-fema-disasters-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/compute-edge~fema-disasters-scraper/runs": {
            "post": {
                "operationId": "runs-sync-compute-edge-fema-disasters-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/compute-edge~fema-disasters-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-compute-edge-fema-disasters-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",
                "properties": {
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "State name or abbreviation to filter by (e.g., 'Florida', 'TX', 'CA'). Leave empty for all states.",
                        "default": ""
                    },
                    "incidentType": {
                        "title": "Incident Type",
                        "enum": [
                            "",
                            "Hurricane",
                            "Flood",
                            "Fire",
                            "Tornado",
                            "Severe Storm(s)",
                            "Earthquake",
                            "Snow",
                            "Drought",
                            "Biological",
                            "Typhoon",
                            "Coastal Storm",
                            "Other"
                        ],
                        "type": "string",
                        "description": "Type of disaster to filter by.",
                        "default": ""
                    },
                    "declarationType": {
                        "title": "Declaration Type",
                        "enum": [
                            "",
                            "DR",
                            "EM",
                            "FM"
                        ],
                        "type": "string",
                        "description": "Type of FEMA declaration.",
                        "default": ""
                    },
                    "startDate": {
                        "title": "Start Date",
                        "type": "string",
                        "description": "Filter declarations after this date (YYYY-MM-DD format).",
                        "default": ""
                    },
                    "endDate": {
                        "title": "End Date",
                        "type": "string",
                        "description": "Filter declarations before this date (YYYY-MM-DD format).",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of disaster declarations 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
