metar: Get METAR observations

API: aviationweather.gov:aviation-weather-data-api
Endpoint: /metar
Response format: application/json
Auth: unknown
Method: GET
Last Status: 200
Latency: 309ms

Description

Returns current weather observations including temperature, dewpoint, wind direction/speed, visibility, altimeter setting, cloud cover, and flight category for requested stations. Essential for pre-flight weather briefings and current conditions assessment.

From spec: Retrieve Meteorological Aerodrome Reports (METARs) for specified stations. Returns current weather observations including temperature, wind, visibility, and sky conditions.

Usage Tips

- No authentication required - Use ids parameter with comma-separated ICAO station IDs (e.g., KJFK,KLAX) - Use format=json for structured data - Returns latest observation for each station - fltCat field shows flight category: VFR, MVFR, IFR, LIFR

Parameters (4)

bbox (string, query, optional)

Bounding box (minLon,minLat,maxLon,maxLat)

format (string, query, optional, default: json)

Response format

Constraints: {'enum': ['json', 'xml', 'geojson', 'csv']}

hours (integer, query, optional)

Number of hours of data to return (max varies)

ids (string, query, optional)

Comma-separated list of ICAO station identifiers (e.g., KJFK,KLAX)

Examples (2)

Get current METAR for JFK Airport probe-gate

Demonstrates fetching the current METAR observation for a single airport (JFK) in JSON format.

curl 'https://aviationweather.gov/api/data/metar?ids=KJFK&format=json'
import requests

resp = requests.get(
    "https://aviationweather.gov/api/data/metar",
    params={
        'ids': 'KJFK',
        'format': 'json',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("aviation-weather-data")
result = api.fetch("metar", ids="KJFK", format="json")

for item in result:
    print(item)
const resp = await fetch("https://aviationweather.gov/api/data/metar?ids=KJFK&format=json");
const data = await resp.json();
Get METARs for multiple major airports probe-gate

Demonstrates fetching METAR observations for multiple airports simultaneously using comma-separated station IDs.

curl 'https://aviationweather.gov/api/data/metar?ids=KLAX%2CKORD&format=json'
import requests

resp = requests.get(
    "https://aviationweather.gov/api/data/metar",
    params={
        'ids': 'KLAX,KORD',
        'format': 'json',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("aviation-weather-data")
result = api.fetch("metar", ids="KLAX,KORD", format="json")

for item in result:
    print(item)
const resp = await fetch("https://aviationweather.gov/api/data/metar?ids=KLAX%2CKORD&format=json");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 04:16:14.019587 200 309ms
2026-04-16 03:29:01.372902 200 155ms
2026-04-15 04:14:11.778358 200 208ms
2026-04-15 01:37:16.497890 200 1573ms
2026-04-14 02:44:05.774174 200 299ms
2026-04-14 02:27:33.930484 200 298ms
2026-04-12 14:55:38.164956 200 176ms
2026-04-12 14:42:21.699127 200 294ms
2026-04-10 04:25:36.562005 200 637ms
2026-04-10 02:39:36.130881 200 203ms
2026-04-09 01:13:22.542112 200 215ms
2026-04-09 00:03:00.651948 200 288ms