NOAA Products API

The Products API from NOAA — 9 operation(s) for products.

Operations 9

GET /products #
GET /products/locations #
GET /products/types #
GET /products/{productId} #
GET /products/types/{typeId} #
GET /products/types/{typeId}/locations #
GET /products/locations/{locationId}/types #
GET /products/types/{typeId}/locations/{locationId} #
GET /products/types/{typeId}/locations/{locationId}/latest #

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/noaa-products-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

noaa-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AviationWeather.gov Alerts Products API
  description: Schema for public data API of AviationWeather.gov.
  termsOfService: /data/api/
  version: v4.0
servers:
- url: https://api.weather.gov
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Products
paths:
  /products:
    get:
      description: Returns a list of text products
      operationId: products_query
      parameters:
      - name: location
        in: query
        description: Location id
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: start
        in: query
        description: Start time
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        description: End time
        schema:
          type: string
          format: date-time
      - name: office
        in: query
        description: Issuing office
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^[A-Z]{4}$
            type: string
      - name: wmoid
        in: query
        description: WMO id code
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^[A-Z]{4}\d{2}$
            type: string
      - name: type
        in: query
        description: Product code
        style: form
        explode: false
        schema:
          type: array
          items:
            pattern: ^\w{3}$
            type: string
      - name: limit
        in: query
        description: Limit
        schema:
          maximum: 500
          minimum: 1
          type: integer
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Products
  /products/locations:
    get:
      description: Returns a list of valid text product issuance locations
      operationId: product_locations
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductLocationCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types:
    get:
      description: Returns a list of valid text product types and codes
      operationId: product_types
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductTypeCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/{productId}:
    parameters:
    - name: productId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a specific text product
      operationId: product
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProduct'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of text products of a given type
      operationId: products_type
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of valid text product issuance locations for a given product type
      operationId: products_type_locations
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductLocationCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/locations/{locationId}/types:
    parameters:
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of valid text product types for a given issuance location
      operationId: location_products
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductTypeCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations/{locationId}:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns a list of text products of a given type for a given issuance location
      operationId: products_type_location
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProductCollection'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
  /products/types/{typeId}/locations/{locationId}/latest:
    parameters:
    - name: typeId
      in: path
      description: .
      required: true
      schema:
        type: string
    - name: locationId
      in: path
      description: .
      required: true
      schema:
        type: string
    get:
      description: Returns latest text products of a given type for a given issuance location with product text
      operationId: latest_product_type_location
      responses:
        '200':
          description: success
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/CorrelationId'
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Server-Id:
              $ref: '#/components/headers/ServerId'
          content:
            application/ld+json:
              schema:
                $ref: '#/components/schemas/TextProduct'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Products
components:
  schemas:
    TextProduct:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@id':
          type: string
          format: uri
        id:
          type: string
        wmoCollectiveId:
          type: string
        issuingOffice:
          type: string
        issuanceTime:
          type: string
          format: date-time
        productCode:
          type: string
        productName:
          type: string
        productText:
          type: string
      additionalProperties: false
    ProblemDetail:
      required:
      - type
      - title
      - status
      - detail
      - instance
      - correlationId
      type: object
      properties:
        type:
          type: string
          description: 'A URI reference (RFC 3986) that identifies the problem type. This is only an identifier and is not necessarily a resolvable URL.

            '
          format: uri
          default: about:blank
          examples:
          - urn:noaa:nws:api:UnexpectedProblem
        title:
          type: string
          description: A short, human-readable summary of the problem type.
          examples:
          - Unexpected Problem
        status:
          maximum: 999
          minimum: 100
          type: number
          description: 'The HTTP status code (RFC 7231, Section 6) generated by the origin server for this occurrence of the problem.

            '
          examples:
          - 500
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
          examples:
          - An unexpected problem has occurred.
        instance:
          type: string
          description: 'A URI reference (RFC 3986) that identifies the specific occurrence of the problem. This is only an identifier and is not necessarily a resolvable URL.

            '
          format: uri
          examples:
          - urn:noaa:nws:api:request:493c3a1d-f87e-407f-ae2c-24483f5aab63
        correlationId:
          type: string
          description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

            '
          examples:
          - 493c3a1d-f87e-407f-ae2c-24483f5aab63
      description: Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).
      additionalProperties: true
    TextProductCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@graph':
          type: array
          items:
            $ref: '#/components/schemas/TextProduct'
      additionalProperties: false
    JsonLdContext:
      anyOf:
      - type: array
        items: {}
      - type: object
    TextProductTypeCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        '@graph':
          type: array
          items:
            required:
            - productCode
            - productName
            type: object
            properties:
              productCode:
                type: string
              productName:
                type: string
            additionalProperties: false
      additionalProperties: false
    TextProductLocationCollection:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        locations:
          type: object
          additionalProperties:
            type:
            - string
            - 'null'
      additionalProperties: false
  headers:
    CorrelationId:
      description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
    RequestId:
      description: 'A unique identifier for the request, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
    ServerId:
      description: 'The identifier of the server that generated the response, used for NWS debugging purposes. Please include this identifier with any correspondence to help us investigate your issue.

        '
      schema:
        type: string
  responses:
    Error:
      description: An error response.
      headers:
        X-Correlation-Id:
          $ref: '#/components/headers/CorrelationId'
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        X-Server-Id:
          $ref: '#/components/headers/ServerId'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetail'