Welcome to the OpenFEMA Developer Resources page, devoted to providing additional development information regarding our Application Programming Interface (API) for use in your applications and mashups. The API is free of charge and does not currently have user registration requirements. Please contact the OpenFEMA Team at email@example.com to suggest additional datasets and additional API features. We also welcome any code examples you would like to provide.
Please review the API Documentation for list of commands that can be used for each endpoint. As OpenFEMA’s main purpose is to act as a content delivery mechanism, each endpoint represents a dataset. Therefore, the documentation does not outline each one; they all operate in the same manner. Metadata for each dataset can be found on the individual dataset pages.
The Changelog identifies new, changing, and deprecated datasets, and describes new features to the API.
The API Specifics/Technical portion of the FAQ may be of particular interest to developers.
Datasets Available via API
There are many ways to access data from the OpenFEMA API. One way, of course, is to use a programming language. The Common Examples section below illustrates how to accomplish many different things using different languages. Some other, simple methods are outlined here. All of these examples will return disaster summaries for Hurricane Isabell (disaster number 1491).
HTTP/URL | cURL | Wget | PowerShell 3.0
# HTTP/URL – Paste in your browsers URL bar.
https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=disasterNumber eq 1491
# cURL – Saving returned data to a file. Note URL %20 encoding used for spaces.
curl ‘https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=disasterNumber%20eq%201491’ >> output.txt
# Wget – Saving returned data to a file.
wget –O output.txt ‘https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=disasterNumber%20eq%201491’
# Windows PowerShell 3.0 – Note site security uses TLS 1.2, therefore the security protocol must be set first.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=disasterNumber%20eq%201491 –OutFile c:\temp\output.txt
Checking dataset data updates
Converting json to different format
Paging through data
A note on metadata functions?