Weather — entry 006 of 31

AviationWeather

Verified Jul 2026

The legacy Text Data Server referenced by the original dataserver URL has been discontinued and replaced by the new Aviation Weather Center Data API, reachable at aviationweather.gov/data/api. It serves worldwide METAR/TAF, US/North-Atlantic PIREPs, global SIGMETs, and CONUS G-AIRMETs (which replaced text AIRMETs in January 2025) in raw text, JSON, GeoJSON, CSV, XML, or IWXXM, with no authentication but a 100-requests/minute rate limit.

The Aviation Weather Center's Data API replaced the old Text Data Server and serves worldwide METAR/TAF, PIREPs, SIGMETs, and G-AIRMETs as plain text, JSON, GeoJSON, CSV, XML, or IWXXM from a single query-parameter-driven endpoint per product.

aviationgovernmentalertsno-key
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSON, GeoJSON, XML, CSV, TextResponses can be requested as JSON or GeoJSON or XML or CSV or Text.

GreatAPIs Score

Score94out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs14/20Documentation URL provided
Formats15/15Supports 5 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 94 on greatapis.com
<a href="https://greatapis.com/api/aviationweather/"><img src="https://greatapis.com/badge/aviationweather.svg" alt="Scored 94 on greatapis.com"></a>

Auth quickstart

  1. No API key required — requests are public and keyless.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Latest METAR for a single airport as JSON

GEThttps://aviationweather.gov/api/data/metar?ids=KJFK&format=json

200 application/json; charset=utf-8

[{
  "icaoId": "KJFK",
  "receiptTime": "2026-07-26T02:54:14.213Z",
  "obsTime": 1785034260,
  "reportTime": "2026-07-26T03:00:00.000Z",
  "temp": 18.9,
  "dewp": 13.3,
  "wdir": 0,
  "wspd": 0,
  "visib": "10+",
  "altim": 1016.7,
  "slp": 1016.5,
  "qcField": 12,
  "metarType": "METAR",
  "rawOb": "METAR KJFK 260251Z 00000KT 10SM FEW250 19/13 A3002 RMK AO2 SLP165 T01890133 50000 $",
  "lat": 40.6392,
  "lon": -73.7639,
  "elev": 3,
  "name": "New York/JF Kennedy Intl, NY, US",
  "cover": "FEW",
  "clouds": [{ "cover": "FEW", "base": 25000 }],
  "fltCat": "VFR"
}]

Developer reference

Base URLhttps://aviationweather.gov/api/data
Rate limit

100 requests/minute overall; individual endpoints should not be hit more than 1 request/min per thread, per the live API docs

Gotchas & limits

  • Cross-origin resource sharing is explicitly disabled ('not permitted at this time' per the live docs) — confirmed live: the JSON response carries no `access-control-allow-origin` header, so call this from a server, not directly from a browser
  • The 100-requests/minute ceiling isn't just a global bucket: the docs separately say API endpoints 'should not be consumed more frequently than 1 request/min per thread' — a single tight loop can get throttled well under the 100/min limit
  • Most endpoints cap results at 400 entries per request; for bulk pulls, the docs point to published cache files instead of paginating this endpoint
  • A request with no matching data returns HTTP 204 No Content (every format except GeoJSON) rather than an empty 200 body with `[]` — check the status code before trying to parse a body