General
Specifics/Technical
General
How long has OpenFEMA been in operation?
OpenFEMA has been providing data as static files since late 2012 (Hurricane Sandy), and via a RESTful API since early 2014.
Will OpenFEMA provide me with whatever data I need?
OpenFEMA is meant to be a self-service repository, providing data in machine readable formats. OpenFEMA is a data delivery mechanism, not a reporting system. As such, we try to publish unaltered source data that is meaningful to many different groups rather than address any one specific use case.
See the Data Sets page for a list of data sets that are currently available. If there is a data set you would like to see, let us know. We provide no guarantees that we can satisfy your request. If you require data not available on OpenFEMA, a FOIA request may be made: https://www.fema.gov/how-submit-foia-request.
The data you offer is great, but I would like to see details such as property addresses. Can you publish this?
Some information is not publicly available as it would reveal Personally Identifiable Information (PII). FEMA takes the protection of personal information very seriously and will not provide data that could compromise privacy.
How should I cite the source of FEMA data including any disclaimers?
As listed in the API Terms & Conditions, users of FEMA’s APIs should cite the date that FEMA data was accessed or retrieved using the APIs.
- Users must clearly state that “This product uses the Federal Emergency Management Agency’s API, but is not endorsed by FEMA.”
- FEMA cannot verify the quality and/or timeliness of any data or any analysis derived there from after the data has been retrieved from FEMA.gov.
The logos and/or seals of FEMA and the Department of Homeland Security (DHS) may not be used without prior written authorization from FEMA or DHS.
API Specifics/Technical
Is the API the authoritative source of data for the Federal Emergency Management Agency (FEMA)?
Yes, the API is the authoritative source for FEMA’s public data. The API includes FEMA’s data that has been released through the open government program for public consumption and is the same data that is shared on Data.gov.
Do I need a “key” to access or use the OpenFEMA API?
The OpenFEMA API is free, does not require a subscription or an API key. It is completely open. We may change this in the future to better capture metrics on usage.
How can I request adding other datasets to the API?
Send a request via email at OpenFEMA@fema.dhs.gov detailing the information you are interested in seeing released. Our team will review your request, but can make no guarantees that your request will be fulfilled.
In what formats are FEMA datasets released?
FEMA datasets are currently released through the API in JSON, GEOJSON, and CSV formats. Full data files are also available in these formats with the addition of JSONA for most datasets. For some extremely large data sets (e.g., NFIP Claims, IPAWS Archived Alerts), the JSON and JSONA formats are not offered as the resulting files will be extremely large. Only a CSV file for full data is available. GEOJSON is available for those datasets that support geographic or geospatial data. The API returns JSON by default.
What is the difference between the JSON and JSONA file types?
JSON files are fairly simple human readable and machine readable structures that consist of elements or fields followed by values. Elements can contain arrays and hierarchical structures. The OpenFEMA API is fairly flat, returning a metadata structure and the data itself. Lots of tutorials exist online regarding the JSON format. JSONA is a JSON array.
Why is XML not available from the API?
OpenFEMA has chosen not to support the XML format through the API to reduce computational resources. It is easy to convert a JSON format to XML if needed. See the Developer Resources page for more information.
How frequently are the APIs updated? Are they live data feeds?
The API updates vary depending on how often each dataset is updated. Some datasets will be updated daily while others are updated quarterly. The exact frequency of updates is included in each dataset’s webpage and metadata (called accrualPeriodicity) in an ISO 8601 Repeating Duration syntax.
Specifically, when are the datasets updated?
Many of the disaster files are updated every 20 minutes. Daily files are processed at 1:00pm EST. Weekly files are processed on Saturday at 1:00am EST and are generally available by Sunday at 4:00am EST. Monthly files are processed the first Saturday of the month at 1:00am EST.
Exceptions do exist. Several files have an irregular update schedule.
What is the best way to contact FEMA about public datasets?
We appreciate and welcome your feedback and suggestions. The best way to reach us is by emailing OpenFEMA@fema.dhs.gov . We can answer questions specific to OpenFEMA and the data it makes available. Please see the FEMA Contact Us page for any other questions, issues, or feedback. If you have comments on our code samples, you may create an Issue or Pull Request on our GitHub Repository.
On larger data sets, only 1,000 records seem to be returned. How do I get the rest of the data?
Only 1,000 records are returned by default - this is by design for performance reasons. If more than 1,000 records are returned, it is necessary to page through the data, using the $skip and $inlinecount parameters.
The metadata entity returned as part of the json response will only display the record count if the $inlinecount parameter is used. Here are some examples of these queries using the Disaster Declaration data set to return the first 1,000 VA records; the second will return the next 1,000. In this example, the metadata indicates that 2,131 VA records exist.
- https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=state%20eq%20%27VA%27&$inlinecount=allpages&$skip=0
- https://www.fema.gov/api/open/v1/DisasterDeclarationsSummaries?$filter=state%20eq%20%27VA%27&$inlinecount=allpages&$skip=1000
See the OpenFEMA API documentation, URI commands section for additional information. Also, the Developer Resources page contains working examples in several different programming languages.
Should I get data as a data feed, download a static file, or use an API endpoint?
The API has a very rich filtering, paging, and sorting capability. See OpenFEMA API Documentation for details. It is possible to only query recent data, specify the order in which the records are returned, or even return just a subset of data. The OpenFEMA Guide to Working with Large Data Sets also contains a section on checking for data updates.
If you need a one-time dump of the data, download the file. If you require the data to be refreshed periodically, or want to integrate the data into your own application, the API is recommended. Also, the API data is generally updated more frequently than the static files.
Some datasets are too big to open in a spreadsheet program like MS Excel. What do I do?
Several data sets offered by OpenFEMA are very large, requiring a significant amount of time to download and exceed the capabilities for common spreadsheet applications (e.g., IPAWS Archived Alerts, Individuals and Households Program (IHP) Valid Registrations, etc.). We have provided a page to address these issues: OpenFEMA Guide to Working with Large Data Sets.
I am getting TLS errors in my browser or through my .Net application when I attempt to access the API: “This page can’t be displayed. Turn on TLS 1.0, TLS 1.1, and TLS 1.2…“ or “Request Aborted: Could not create SSL/TLS connection”. What should I do?
These standards are managed by DHS and OpenFEMA has no control over them. DHS is very proactive when it comes to security and will not support insecure protocols. Access requires TLS 1.2 or greater. TLS 1.1 was removed from most tools in early 2020. You should check for TLS 1.2 support in your application or OS. Microsoft does have some information about enabling TLS 1.2 for older tools if you search for it on the web.
If you get TLS errors in Microsoft IE 11 and not with other browsers, ensure that has the appropriate TLS settings enabled. In many cases the settings are enabled yet the error persists. The recommended solution (again, detailed on the web) is to remove plugins and reset the IE 11 settings, and then verify the TLS settings again.
It looks like multiple versions of a data set endpoint exists. What gives?
RESTful API recommendations are to include the version in the endpoint path, which is what OpenFEMA does. A new version is created when a “breaking change” is introduced. This includes but is not limited to the removal of a field or a change in a field’s datatype. The data set specific pages also indicate the proper version.
When a new endpoint version is created, the previous endpoint is deprecated. Generally a deprecated endpoint will remain available for several months. A deprecation notice will appear on the data sets webpage, be included within the metadata of each API response, and can be found in the metadata returned by the DataSet endpoint. Deprecation information will include the date when the endpoint will no longer be available, a link to the new endpoint (if any), and a description possibly explaining the reason for deprecation.
Many of the datasets mention primary keys or identifiers or a hash value. Can I use any of these to join records from different datasets or use them for deduplicating records?
None of these fields can be used to join with other datasets. The “id” field is a special field generated by the OpenFEMA system as part of our data loading process. Is unique within an instance of the dataset, but it cannot be used for joins or deduplication. In fact, when a full reload of the data occurs there is no guarantee that the id values will be the same.
The “hash” value is an MD5 hash of the field values within the record - id and hash excluded.
Querying the DataSetFields endpoint for the dataset in question will identify which fields comprise a "primary key" or unique source system identifier. Many do not have these.