FEMA IPAWS Archived Alerts API

Archive of public alerts issued through the Integrated Public Alert and Warning System (IPAWS) - the federal system that aggregates EAS, Wireless Emergency Alerts, and NOAA Weather Radio - returned as Common Alerting Protocol (CAP) messages. Hierarchical/nested payload, unique among OpenFEMA datasets.

OpenAPI Specification

fema-openapi.yml Raw ↑
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