NOAA Points API

The Points API from NOAA — 3 operation(s) for points.

Operations 3

GET /points/{latitude},{longitude} #
GET /points/{latitude},{longitude}/radio #
GET /points/{latitude},{longitude}/stations #

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-points-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-points-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AviationWeather.gov Alerts Points 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: Points
paths:
  /points/{latitude},{longitude}:
    parameters:
    - $ref: '#/components/parameters/Latitude'
    - $ref: '#/components/parameters/Longitude'
    get:
      description: Returns metadata about a given latitude/longitude point
      operationId: point
      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/geo+json:
              schema:
                $ref: '#/components/schemas/PointGeoJson'
            application/ld+json:
              schema:
                $ref: '#/components/schemas/PointJsonLd'
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Points
  /points/{latitude},{longitude}/radio:
    parameters:
    - $ref: '#/components/parameters/Latitude'
    - $ref: '#/components/parameters/Longitude'
    get:
      description: Returns NOAA Weather Radio broadcast script for a latitude/longitude point
      externalDocs:
        url: https://www.w3.org/TR/speech-synthesis/
      operationId: point_radio
      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/ssml+xml:
              schema: {}
        default:
          $ref: '#/components/responses/Error'
      parameters: []
      tags:
      - Points
  /points/{latitude},{longitude}/stations:
    parameters:
    - $ref: '#/components/parameters/Latitude'
    - $ref: '#/components/parameters/Longitude'
    get:
      description: Returns a list of observation stations for a given point
      operationId: point_stations
      responses:
        '301':
          description: redirect to gridpoint stations
        default:
          $ref: '#/components/responses/Error'
      deprecated: true
      parameters: []
      tags:
      - Points
components:
  schemas:
    GeoJsonGeometry:
      oneOf:
      - title: GeoJSON Point
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - Point
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonCoordinate'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON LineString
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - LineString
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonLineString'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON Polygon
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - Polygon
            type: string
          coordinates:
            $ref: '#/components/schemas/GeoJsonPolygon'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiPoint
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiPoint
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonCoordinate'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiLineString
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiLineString
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonLineString'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - title: GeoJSON MultiPolygon
        required:
        - type
        - coordinates
        type: object
        properties:
          type:
            enum:
            - MultiPolygon
            type: string
          coordinates:
            type: array
            items:
              $ref: '#/components/schemas/GeoJsonPolygon'
          bbox:
            $ref: '#/components/schemas/GeoJsonBoundingBox'
      - type: 'null'
      description: A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    NWSForecastOfficeId:
      enum:
      - AKQ
      - ALY
      - BGM
      - BOX
      - BTV
      - BUF
      - CAE
      - CAR
      - CHS
      - CLE
      - CTP
      - GSP
      - GYX
      - ILM
      - ILN
      - LWX
      - MHX
      - OKX
      - PBZ
      - PHI
      - RAH
      - RLX
      - RNK
      - ABQ
      - AMA
      - BMX
      - BRO
      - CRP
      - EPZ
      - EWX
      - FFC
      - FWD
      - HGX
      - HUN
      - JAN
      - JAX
      - KEY
      - LCH
      - LIX
      - LUB
      - LZK
      - MAF
      - MEG
      - MFL
      - MLB
      - MOB
      - MRX
      - OHX
      - OUN
      - SHV
      - SJT
      - SJU
      - TAE
      - TBW
      - TSA
      - ABR
      - APX
      - ARX
      - BIS
      - BOU
      - CYS
      - DDC
      - DLH
      - DMX
      - DTX
      - DVN
      - EAX
      - FGF
      - FSD
      - GID
      - GJT
      - GLD
      - GRB
      - GRR
      - ICT
      - ILX
      - IND
      - IWX
      - JKL
      - LBF
      - LMK
      - LOT
      - LSX
      - MKX
      - MPX
      - MQT
      - OAX
      - PAH
      - PUB
      - RIW
      - SGF
      - TOP
      - UNR
      - BOI
      - BYZ
      - EKA
      - FGZ
      - GGW
      - HNX
      - LKN
      - LOX
      - MFR
      - MSO
      - MTR
      - OTX
      - PDT
      - PIH
      - PQR
      - PSR
      - REV
      - SEW
      - SGX
      - SLC
      - STO
      - TFX
      - TWC
      - VEF
      - AER
      - AFC
      - AFG
      - AJK
      - ALU
      - GUM
      - HPA
      - HFO
      - PPG
      - PQE
      - PQW
      - STU
      - NH1
      - NH2
      - ONA
      - ONP
      type: string
      description: Three-letter identifier for a NWS office.
    GeoJsonLineString:
      minItems: 2
      type: array
      items:
        $ref: '#/components/schemas/GeoJsonCoordinate'
      description: A GeoJSON line string. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    RelativeLocation:
      type: object
      properties:
        city:
          type: string
        state:
          type: string
        distance:
          $ref: '#/components/schemas/QuantitativeValue'
        bearing:
          $ref: '#/components/schemas/QuantitativeValue'
    GeometryString:
      type:
      - string
      - 'null'
      description: A geometry represented in Well-Known Text (WKT) format.
      format: wkt
    AstronomicalData:
      type: object
      properties:
        sunrise:
          type:
          - string
          - 'null'
          description: 'The timestamp of sunrise, defined as when the sun angle is 90°35'' from vertical.

            '
          format: date-time
        sunset:
          type:
          - string
          - 'null'
          description: 'The timestamp of sunset, defined as when the sun angle is 90°35'' from vertical.

            '
          format: date-time
        transit:
          type:
          - string
          - 'null'
          description: 'The timestamp when the sun reaches its zenith.

            '
          format: date-time
        civilTwilightBegin:
          type:
          - string
          - 'null'
          description: 'The timestamp of the onset of civil twilight, defined as when the sun angle is 96° from vertical. This is the beginning of civil dawn and lasts until sunrise.

            '
          format: date-time
        civilTwilightEnd:
          type:
          - string
          - 'null'
          description: 'The timestamp of the end of civil twilight, defined as when the sun angle is 96° from vertical. This is the end of civil dusk, which begins at sunset.

            '
          format: date-time
        nauticalTwilightBegin:
          type:
          - string
          - 'null'
          description: 'The timestamp of the onset of nautical twilight, defined as when the sun angle is 102° from vertical. This is the beginning of nautical dawn and lasts until the civil dawn.

            '
          format: date-time
        nauticalTwilightEnd:
          type:
          - string
          - 'null'
          description: 'The timestamp of the end of nautical twilight, defined as when the sun angle is 102° from vertical. This is the end of nautical dusk, which begins at the end of civil twilight.

            '
          format: date-time
        astronomicalTwilightBegin:
          type:
          - string
          - 'null'
          description: 'The timestamp of the onset of astronomical twilight, defined as when the sun angle is 108° from vertical. This is the beginning of astronomical dawn and lasts until the nautical dawn.

            '
          format: date-time
        astronomicalTwilightEnd:
          type:
          - string
          - 'null'
          description: 'The timestamp of the end of astronomical twilight, defined as when the sun angle is 108° from vertical. This is the end of astronomical dusk, which begins at the end of nautical twilight.

            '
          format: date-time
      description: 'An object representing sunrise, sunset, and twilight information for a location.

        '
    GeoJsonCoordinate:
      minItems: 2
      type: array
      items:
        type: number
      description: A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    Point:
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        geometry:
          $ref: '#/components/schemas/GeometryString'
        '@id':
          type: string
          format: uri
        '@type':
          enum:
          - wx:Point
          type: string
        cwa:
          $ref: '#/components/schemas/NWSForecastOfficeId'
        type:
          enum:
          - land
          - marine
          type: string
          description: Whether the specific point is on land or marine
        forecastOffice:
          type: string
          format: uri
        gridId:
          $ref: '#/components/schemas/NWSForecastOfficeId'
        gridX:
          minimum: 0
          type: integer
        gridY:
          minimum: 0
          type: integer
        forecast:
          type: string
          format: uri
        forecastHourly:
          type: string
          format: uri
        forecastGridData:
          type: string
          format: uri
        observationStations:
          type: string
          format: uri
        relativeLocation:
          oneOf:
          - $ref: '#/components/schemas/RelativeLocationGeoJson'
          - $ref: '#/components/schemas/RelativeLocationJsonLd'
        forecastZone:
          type: string
          format: uri
        county:
          type: string
          format: uri
        fireWeatherZone:
          type: string
          format: uri
        timeZone:
          type: string
        radarStation:
          type: string
        astronomicalData:
          $ref: '#/components/schemas/AstronomicalData'
        nwr:
          type: object
          properties:
            transmitter:
              type:
              - string
              - 'null'
              description: Transmitter callsign
            sameCode:
              type: string
              description: The SAME code of this point's county
            areaBroadcast:
              type:
              - string
              - 'null'
              description: A link to the area NWR broadcast from this transmitter
              format: uri
            pointBroadcast:
              type:
              - string
              - 'null'
              description: A link to the local NWR broadcast for this point
              format: uri
          description: NOAA Weather Radio metadata for this point
    PointGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeature'
      - type: object
        properties:
          properties:
            $ref: '#/components/schemas/Point'
    GeoJsonBoundingBox:
      minItems: 4
      type: array
      items:
        type: number
      description: A GeoJSON bounding box. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    RelativeLocationGeoJson:
      allOf:
      - $ref: '#/components/schemas/GeoJsonFeature'
      - type: object
        properties:
          properties:
            $ref: '#/components/schemas/RelativeLocation'
    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
    UnitOfMeasure:
      pattern: ^((wmo|uc|wmoUnit|nwsUnit):)?.*$
      type: string
      description: 'A string denoting a unit of measure, expressed in the format "{unit}" or "{namespace}:{unit}".

        Units with the namespace "wmo" or "wmoUnit" are defined in the World Meteorological Organization Codes Registry at http://codes.wmo.int/common/unit and should be canonically resolvable to http://codes.wmo.int/common/unit/{unit}.

        Units with the namespace "nwsUnit" are currently custom and do not align to any standard.

        Units with no namespace or the namespace "uc" are compliant with the Unified Code for Units of Measure syntax defined at https://unitsofmeasure.org/. This also aligns with recent versions of the Geographic Markup Language (GML) standard, the IWXXM standard, and OGC Observations and Measurements v2.0 (ISO/DIS 19156).

        Namespaced units are considered deprecated. We will be aligning API to use the same standards as GML/IWXXM in the future.

        '
    GeoJsonFeature:
      required:
      - type
      - geometry
      - properties
      type: object
      properties:
        '@context':
          $ref: '#/components/schemas/JsonLdContext'
        id:
          type: string
          format: uri
        type:
          enum:
          - Feature
          type: string
        geometry:
          $ref: '#/components/schemas/GeoJsonGeometry'
        properties:
          type: object
      description: A GeoJSON feature. Please refer to IETF RFC 7946 for information on the GeoJSON format.
      additionalProperties: false
    GeoJsonPolygon:
      type: array
      items:
        minItems: 4
        type: array
        items:
          $ref: '#/components/schemas/GeoJsonCoordinate'
      description: A GeoJSON polygon. Please refer to IETF RFC 7946 for information on the GeoJSON format.
    RelativeLocationJsonLd:
      allOf:
      - $ref: '#/components/schemas/RelativeLocation'
      - required:
        - geometry
        type: object
        properties:
          geometry:
            $ref: '#/components/schemas/GeometryString'
    QuantitativeValue:
      type: object
      properties:
        value:
          type:
          - number
          - 'null'
          description: A measured value
        maxValue:
          type: number
          description: The maximum value of a range of measured values
        minValue:
          type: number
          description: The minimum value of a range of measured values
        unitCode:
          $ref: '#/components/schemas/UnitOfMeasure'
        qualityControl:
          enum:
          - Z
          - C
          - S
          - V
          - X
          - Q
          - G
          - B
          - T
          type: string
          description: 'For values in observation records, the quality control flag from the MADIS system. The definitions of these flags can be found at https://madis.ncep.noaa.gov/madis_sfc_qc_notes.shtml

            '
      description: 'A structured value representing a measurement and its unit of measure. This object is a slightly modified version of the schema.org definition at https://schema.org/QuantitativeValue

        '
      additionalProperties: false
    JsonLdContext:
      anyOf:
      - type: array
        items: {}
      - type: object
    PointJsonLd:
      allOf:
      - $ref: '#/components/schemas/Point'
      - required:
        - '@context'
        - geometry
        type: object
        properties:
          '@context':
            $ref: '#/components/schemas/JsonLdContext'
          geometry:
            $ref: '#/components/schemas/GeometryString'
  parameters:
    Longitude:
      name: longitude
      in: path
      description: Longitude
      required: true
      schema:
        multipleOf: 0.0001
        maximum: 180
        minimum: -180
        type: number
    Latitude:
      name: latitude
      in: path
      description: Latitude
      required: true
      schema:
        multipleOf: 0.0001
        maximum: 90
        minimum: -90
        type: number
  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'
  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