National Weather Service Radar API
The Radar API from National Weather Service — 7 operation(s) for radar.
The Radar API from National Weather Service — 7 operation(s) for radar.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/national-weather-service-radar-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: weather.gov Alerts Radar API
description: weather.gov API
version: 3.8.1
servers:
- url: https://api.weather.gov
description: Production server
security:
- userAgent: []
- apiKeyAuth: []
tags:
- name: Radar
paths:
/radar/servers:
get:
description: Returns a list of radar servers
operationId: radar_servers
parameters:
- name: reportingHost
in: query
description: Show records from specific reporting host
schema:
type: string
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'
X-Api-Key:
$ref: '#/components/headers/X-Api-Key'
content:
application/ld+json:
schema: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
/radar/servers/{id}:
parameters:
- name: id
in: path
description: Server ID
required: true
schema:
type: string
get:
description: Returns metadata about a given radar server
operationId: radar_server
parameters:
- name: reportingHost
in: query
description: Show records from specific reporting host
schema:
type: string
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: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
/radar/stations:
get:
description: Returns a list of radar stations
operationId: radar_stations
parameters:
- name: stationType
in: query
description: Limit results to a specific station type or types
style: form
explode: false
schema:
type: array
items:
pattern: ^[A-Za-z0-9-]+$
type: string
- name: reportingHost
in: query
description: Show RDA and latency info from specific reporting host
schema:
type: string
- name: host
in: query
description: Show latency info from specific LDM host
schema:
type: string
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: {}
application/ld+json:
schema: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
/radar/stations/{stationId}:
parameters:
- name: stationId
in: path
description: Radar station ID
required: true
schema:
type: string
get:
description: Returns metadata about a given radar station
operationId: radar_station
parameters:
- name: reportingHost
in: query
description: Show RDA and latency info from specific reporting host
schema:
type: string
- name: host
in: query
description: Show latency info from specific LDM host
schema:
type: string
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: {}
application/ld+json:
schema: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
/radar/stations/{stationId}/alarms:
parameters:
- name: stationId
in: path
description: Radar station ID
required: true
schema:
type: string
get:
description: Returns metadata about a given radar station alarms
operationId: radar_station_alarms
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: {}
default:
$ref: '#/components/responses/Error'
parameters: []
tags:
- Radar
/radar/queues/{host}:
parameters:
- name: host
in: path
description: LDM host
required: true
schema:
enum:
- rds
- tds
type: string
get:
description: Returns metadata about a given radar queue
operationId: radar_queue
parameters:
- name: limit
in: query
description: Record limit
schema:
maximum: 50000
minimum: 1
type: integer
- name: arrived
in: query
description: Range for arrival time
schema:
$ref: '#/components/schemas/ISO8601Interval'
- name: created
in: query
description: Range for creation time
schema:
$ref: '#/components/schemas/ISO8601Interval'
- name: published
in: query
description: Range for publish time
schema:
$ref: '#/components/schemas/ISO8601Interval'
- name: station
in: query
description: Station identifier
schema:
type: string
- name: type
in: query
description: Record type
schema:
type: string
- name: feed
in: query
description: Originating product feed
schema:
type: string
- name: resolution
in: query
description: Resolution version
schema:
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: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
/radar/profilers/{stationId}:
parameters:
- name: stationId
in: path
description: Profiler station ID
required: true
schema:
type: string
get:
description: Returns metadata about a given radar wind profiler
operationId: radar_profiler
parameters:
- name: time
in: query
description: Time interval
schema:
$ref: '#/components/schemas/ISO8601Interval'
- name: interval
in: query
description: Averaging interval
schema:
$ref: '#/components/schemas/ISO8601Duration'
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: {}
default:
$ref: '#/components/responses/Error'
tags:
- Radar
components:
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:
X-Api-Key:
description: 'A token that a client provides when making API calls. 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
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
schemas:
ISO8601Duration:
pattern: ^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$
type: string
description: A time duration in ISO 8601 format.
examples:
- P2DT12H
ISO8601Interval:
oneOf:
- pattern: ^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)\/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)$
type: string
examples:
- 2007-03-01T13:00:00Z/2008-05-11T15:30:00Z
- pattern: ^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)\/P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$
type: string
examples:
- 2007-03-01T13:00:00Z/P1Y2M10DT2H30M
- pattern: ^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?\/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:?\d{2}?)|NOW)$
type: string
examples:
- P1Y2M10DT2H30M/2008-05-11T15:30:00Z
description: "A time interval in ISO 8601 format. This can be one of:\n\n 1. Start and end time\n 2. Start time and duration\n 3. Duration and end time\nThe string \"NOW\" can also be used in place of a start/end time.\n"
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
securitySchemes:
userAgent:
type: apiKey
description: 'We require that all consumers of the API include a User-Agent header in requests. This is due to a high number of scripts exhibiting abusive behavior (intentional or unintentional). We recommend setting the value to something that identifies your application and includes a contact email. This will help us contact you if we notice unusual behavior and also aid in troubleshooting issues.
The API remains open and free to use and there are no limits imposed based on the User-Agent string.
This mechanism will be replaced with a more typical API key system at a later date.
'
name: User-Agent
in: header
apiKeyAuth:
type: apiKey
description: 'We are testing including a more traditional API Key system on certain endpoints. This is due to a large change in the weather.gov site.
The API remains open and free to use and there are no limits imposed based on the X-Api-Key string.
'
name: API-Key
in: header
externalDocs:
description: Full API documentation
url: https://www.weather.gov/documentation/services-web-api