openapi: 3.0.3 info: title: OpenFEMA API description: >- OpenFEMA is FEMA's open data platform. It exposes a read-only RESTful API over individually versioned dataset endpoints (Entities) using OData-style query string parameters. No API key, subscription, or authentication is required. Responses default to JSON; CSV and Parquet are also available via $format. This document models the confirmed public dataset endpoints covering disaster declarations, public assistance, hazard mitigation, NFIP, IPAWS alerts, web disaster summaries, and the self-describing dataset/field catalog. Field lists shown here are representative, not exhaustive - the full data dictionary for any dataset/version is available live from the OpenFemaDataSetFields endpoint modeled below. termsOfService: https://www.fema.gov/about/website-information/privacy-policy contact: name: OpenFEMA email: OpenFEMA@fema.dhs.gov url: https://www.fema.gov/about/openfema license: name: Public Domain (U.S. Government Work) url: https://www.usa.gov/government-works version: '2.1' servers: - url: https://www.fema.gov/api/open description: OpenFEMA production API (dataset version is part of each path) tags: - name: Disaster Declarations description: Federally declared disasters. - name: Public Assistance description: FEMA Public Assistance (PA) grant program data. - name: Hazard Mitigation description: Hazard Mitigation Assistance (HMA) grant program data. - name: NFIP description: National Flood Insurance Program redacted policy and claims data. - name: IPAWS description: Integrated Public Alert and Warning System archived alerts. - name: Web Disaster Summaries description: Per-disaster financial summary totals from NEMIS. - name: Catalog description: Self-describing metadata - dataset list and data dictionaries. paths: /v2/DisasterDeclarationsSummaries: get: operationId: listDisasterDeclarationsSummaries tags: - Disaster Declarations summary: List disaster declarations summaries description: >- Returns summarized records for every official FEMA disaster declaration since 1953 - major disaster, emergency, and fire management assistance declarations. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of disaster declarations summary records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: DisasterDeclarationsSummaries: type: array items: $ref: '#/components/schemas/DisasterDeclarationsSummary' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v1/PublicAssistanceFundedProjectsDetails: get: operationId: listPublicAssistanceFundedProjectsDetails tags: - Public Assistance summary: List Public Assistance funded projects details description: >- Returns obligated Public Assistance grant projects (project worksheets), joinable to Public Assistance Applicants via applicantId. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of Public Assistance funded project detail records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: PublicAssistanceFundedProjectsDetails: type: array items: $ref: '#/components/schemas/PublicAssistanceFundedProjectDetail' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v3/HazardMitigationAssistanceProjects: get: operationId: listHazardMitigationAssistanceProjects tags: - Hazard Mitigation summary: List Hazard Mitigation Assistance projects description: >- Returns funded projects under the HMGP, FMA, and (historically) PDM hazard mitigation grant programs. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of Hazard Mitigation Assistance project records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: HazardMitigationAssistanceProjects: type: array items: $ref: '#/components/schemas/HazardMitigationAssistanceProject' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v2/FimaNfipPolicies: get: operationId: listFimaNfipPolicies tags: - NFIP summary: List NFIP redacted policies description: >- Returns policy-level NFIP transactions redacted to protect policyholder personally identifiable information. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of redacted NFIP policy records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: FimaNfipPolicies: type: array items: $ref: '#/components/schemas/FimaNfipPolicy' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v2/FimaNfipClaims: get: operationId: listFimaNfipClaims tags: - NFIP summary: List NFIP redacted claims description: >- Returns NFIP claims transactions redacted to protect policyholder personally identifiable information. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of redacted NFIP claim records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: FimaNfipClaims: type: array items: $ref: '#/components/schemas/FimaNfipClaim' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v1/IpawsArchivedAlerts: get: operationId: listIpawsArchivedAlerts tags: - IPAWS summary: List IPAWS archived alerts description: >- Returns archived Common Alerting Protocol (CAP) messages issued through the Integrated Public Alert and Warning System. The payload is hierarchical/nested, unlike most other OpenFEMA datasets. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of IPAWS archived alert records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: IpawsArchivedAlerts: type: array items: $ref: '#/components/schemas/IpawsArchivedAlert' '400': $ref: '#/components/responses/BadFilter' /v1/FemaWebDisasterSummaries: get: operationId: listFemaWebDisasterSummaries tags: - Web Disaster Summaries summary: List FEMA web disaster summaries description: >- Returns per-disaster financial summary totals (Individual Assistance, Public Assistance, and Hazard Mitigation) sourced raw from NEMIS. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' - $ref: '#/components/parameters/Count' - $ref: '#/components/parameters/AllRecords' responses: '200': description: A page of FEMA web disaster summary records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: FemaWebDisasterSummaries: type: array items: $ref: '#/components/schemas/FemaWebDisasterSummary' text/csv: schema: type: string '400': $ref: '#/components/responses/BadFilter' /v1/OpenFemaDataSets: get: operationId: listOpenFemaDataSets tags: - Catalog summary: List the OpenFEMA dataset catalog description: >- Returns metadata describing every dataset and version published on OpenFEMA - name, version, description, last-refresh date, record count, and whether an API endpoint exists for it. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' responses: '200': description: A page of dataset catalog records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: OpenFemaDataSets: type: array items: $ref: '#/components/schemas/OpenFemaDataSet' '400': $ref: '#/components/responses/BadFilter' /v1/OpenFemaDataSetFields: get: operationId: listOpenFemaDataSetFields tags: - Catalog summary: List the data dictionary for a dataset/version description: >- Returns the field-level data dictionary (name, title, type, description) for a given dataset name and version. Typically called with a $filter such as `openFemaDataSet eq 'DisasterDeclarationsSummaries' and datasetVersion eq 2`. parameters: - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Select' - $ref: '#/components/parameters/Top' - $ref: '#/components/parameters/Skip' - $ref: '#/components/parameters/OrderBy' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/Metadata' responses: '200': description: A page of data dictionary field records. content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenFemaEnvelope' - type: object properties: OpenFemaDataSetFields: type: array items: $ref: '#/components/schemas/OpenFemaDataSetField' '400': $ref: '#/components/responses/BadFilter' components: parameters: Filter: name: $filter in: query description: >- OData-style filter expression, e.g. state eq 'FL' and fyDeclared eq 2024. The parser is strict about spacing, quoting, and capitalization; string literals must be single-quoted. schema: type: string Select: name: $select in: query description: Comma-separated list of fields to include in the response. schema: type: string Top: name: $top in: query description: >- Number of records to return. Defaults to 1000 when omitted; maximum of 10000 per call. schema: type: integer default: 1000 maximum: 10000 minimum: 1 Skip: name: $skip in: query description: Number of records to skip, used to page through results beyond $top. schema: type: integer default: 0 minimum: 0 OrderBy: name: $orderby in: query description: Field name to sort results by. schema: type: string Format: name: $format in: query description: Response format. Defaults to json when omitted. schema: type: string enum: [json, csv, parquet, jsona, xlsx] default: json Metadata: name: $metadata in: query description: >- When false, suppresses the metadata envelope object and returns only the data array. Accepts true/false (the legacy on/off values are deprecated). schema: type: boolean default: true Count: name: $count in: query description: >- When true, includes the total matching record count in the metadata envelope. Replacement for the deprecated $inlinecount parameter. schema: type: boolean default: false AllRecords: name: $allrecords in: query description: >- BETA. When true, forces the full result set to be returned in one download, overriding the 10000-record $top ceiling. Intended for bulk export, not interactive paging. schema: type: boolean default: false responses: BadFilter: description: >- Malformed OData query string (commonly a $filter with incorrect quoting, spacing, or an unknown field name). content: application/json: schema: type: object properties: error: type: string schemas: OpenFemaEnvelope: type: object description: >- Every OpenFEMA response wraps the requested dataset array in a metadata object (unless $metadata=false is passed). properties: metadata: type: object properties: skip: type: integer filter: type: string orderby: type: string select: type: string rundate: type: string format: date-time count: type: integer description: Total matching records, present only when $count=true. entityname: type: string version: type: integer url: type: string DisasterDeclarationsSummary: type: object description: One federally declared disaster summary record. properties: femaDeclarationString: type: string disasterNumber: type: integer description: Sequentially assigned number designating an event or incident declared as a disaster. state: type: string description: U.S. state, district, or territory name/abbreviation. declarationType: type: string description: Two-character code - major disaster (DR), fire management (FM), or emergency (EM). declarationDate: type: string format: date-time fyDeclared: type: integer incidentType: type: string description: Type of incident, e.g. Flood, Hurricane, Fire; affects available assistance types. declarationTitle: type: string incidentBeginDate: type: string format: date-time incidentEndDate: type: string format: date-time fipsStateCode: type: string fipsCountyCode: type: string designatedArea: type: string ihProgramDeclared: type: boolean iaProgramDeclared: type: boolean paProgramDeclared: type: boolean hmProgramDeclared: type: boolean hash: type: string lastRefresh: type: string format: date-time id: type: string PublicAssistanceFundedProjectDetail: type: object description: One obligated Public Assistance project worksheet. properties: disasterNumber: type: integer applicantId: type: string description: Joins to the Public Assistance Applicants dataset. pwNumber: type: string projectSize: type: string damageCategoryCode: type: string description: Category of damage (e.g. A-Debris Removal, G-Parks). projectAmount: type: number format: double federalShareObligated: type: number format: double totalObligated: type: number format: double dcc: type: string applicantName: type: string county: type: string state: type: string obligatedDate: type: string format: date-time hash: type: string lastRefresh: type: string format: date-time id: type: string HazardMitigationAssistanceProject: type: object description: One funded Hazard Mitigation Assistance project. properties: id: type: string disasterNumber: type: integer state: type: string programArea: type: string description: HMGP, FMA, or PDM. projectType: type: string status: type: string projectTitle: type: string projectAmount: type: number format: double federalShareObligated: type: number format: double costSharePercentage: type: number format: double dateApproved: type: string format: date-time hash: type: string lastRefresh: type: string format: date-time FimaNfipPolicy: type: object description: One redacted NFIP policy transaction. The live dataset carries 81 fields; representative fields shown. properties: id: type: string policyEffectiveDate: type: string format: date policyTerminationDate: type: string format: date totalBuildingInsuranceCoverage: type: number format: double totalContentsInsuranceCoverage: type: number format: double totalInsurancePremiumOfThePolicy: type: number format: double propertyState: type: string countyCode: type: string censusTract: type: string floodZone: type: string occupancyType: type: integer constructionDate: type: string format: date ratedFloodZone: type: string hash: type: string lastRefresh: type: string format: date-time FimaNfipClaim: type: object description: One redacted NFIP claim transaction. The live dataset carries 73 fields; representative fields shown. properties: id: type: string dateOfLoss: type: string format: date state: type: string countyCode: type: string causeOfDamage: type: string floodZone: type: string amountPaidOnBuildingClaim: type: number format: double amountPaidOnContentsClaim: type: number format: double netTotalPayments: type: number format: double lowestFloorElevation: type: number format: double occupancyType: type: integer yearOfLoss: type: integer hash: type: string lastRefresh: type: string format: date-time IpawsArchivedAlert: type: object description: >- One archived Common Alerting Protocol message. Nested/hierarchical - an alert contains one or more info blocks, each with one or more resource/area blocks. properties: id: type: string identifier: type: string sender: type: string sent: type: string format: date-time status: type: string msgType: type: string scope: type: string searchGeometry: type: string infos: type: array items: type: object properties: language: type: string category: type: string event: type: string urgency: type: string severity: type: string certainty: type: string headline: type: string description: type: string area: type: array items: type: object properties: areaDesc: type: string polygon: type: string originalMessage: type: string lastRefresh: type: string format: date-time FemaWebDisasterSummary: type: object description: One per-disaster raw financial summary sourced from NEMIS. properties: disasterNumber: type: integer totalNumberIaApproved: type: integer totalAmountIhpApproved: type: number format: double totalObligatedAmountPa: type: number format: double totalObligatedAmountHmgp: type: number format: double paProgramDeclared: type: boolean iaProgramDeclared: type: boolean hmProgramDeclared: type: boolean disasterCloseoutDate: type: string format: date-time hash: type: string lastRefresh: type: string format: date-time OpenFemaDataSet: type: object description: One catalog entry describing a dataset and version. properties: name: type: string title: type: string version: type: integer description: type: string webService: type: string description: API endpoint path, when the dataset is exposed via the API. lastDataSetRefresh: type: string format: date-time recordCount: type: integer dataDictionary: type: string OpenFemaDataSetField: type: object description: One data-dictionary field entry for a dataset/version. properties: openFemaDataSet: type: string datasetVersion: type: integer name: type: string title: type: string type: type: string description: type: string