metar: Get METAR observations

API: aviationweather.gov:aviationweather
Endpoint: /api/data/metar
Response format: application/json
Auth: none
Method: GET
Last Status: 204
Latency: 15186ms

Description

Retrieve current METAR (Meteorological Aerodrome Report) observations. Returns weather conditions at airports including temperature, wind, visibility, and cloud cover.

Parameters (4)

bbox (string, query, optional)

Bounding box in format minLon,minLat,maxLon,maxLat

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

Response format

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

hoursBeforeNow (integer, query, optional)

Hours before now for historical data

ids (string, query, optional)

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

Examples (2)

Get METAR observations openapi-spec
curl 'https://www.aviationweather.gov/api/data/metar?ids=KJFK%2CKLAX&bbox=-80%2C25%2C-70%2C45&hoursBeforeNow=24'
import requests

resp = requests.get(
    "https://www.aviationweather.gov/api/data/metar",
    params={
        'ids': 'KJFK,KLAX',
        'bbox': '-80,25,-70,45',
        'hoursBeforeNow': '24',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("aviationweather")
result = api.fetch("api/data/metar", ids="KJFK,KLAX", bbox="-80,25,-70,45", hoursBeforeNow=24)

for item in result:
    print(item)
const resp = await fetch("https://www.aviationweather.gov/api/data/metar?ids=KJFK%2CKLAX&bbox=-80%2C25%2C-70%2C45&hoursBeforeNow=24");
const data = await resp.json();
Get METAR observations probe-gate
curl 'https://www.aviationweather.gov/api/data/metar?ids=KJFK%2CKLAX&bbox=-80%2C25%2C-70%2C45&format=raw&hoursBeforeNow=24'
import requests

resp = requests.get(
    "https://www.aviationweather.gov/api/data/metar",
    params={
        'ids': 'KJFK,KLAX',
        'bbox': '-80,25,-70,45',
        'format': 'raw',
        'hoursBeforeNow': '24',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("aviationweather")
result = api.fetch("api/data/metar", ids="KJFK,KLAX", bbox="-80,25,-70,45", format="raw", hoursBeforeNow=24)

for item in result:
    print(item)
const resp = await fetch("https://www.aviationweather.gov/api/data/metar?ids=KJFK%2CKLAX&bbox=-80%2C25%2C-70%2C45&format=raw&hoursBeforeNow=24");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:34:13.747447 204 15186ms
2026-04-16 03:24:22.344323 204 2974ms
2026-04-16 03:04:20.720327 204 448ms
2026-04-15 02:51:23.306730 204 433ms
2026-04-15 02:40:09.989613 204 17168ms
2026-04-14 02:49:29.838238 204 958ms
2026-04-14 02:21:34.505151 204 447ms
2026-04-12 14:50:37.337538 204 401ms
2026-04-12 14:24:34.612460 204 413ms
2026-04-10 02:42:19.017216 204 504ms
2026-04-10 00:18:34.384060 204 426ms
2026-04-09 02:13:34.906715 204 497ms
2026-04-09 01:40:31.179207 204 620ms
2026-04-08 07:47:26.942424 204 444ms
2026-04-08 00:00:35.534130 204 526ms
2026-04-07 01:22:04.103654 204 471ms
2026-04-07 00:55:42.433833 204 1969ms
2026-04-06 05:51:04.510698 204 541ms
2026-04-06 04:28:30.472950 204 1056ms
2026-04-05 15:17:17.902108 ERR
2026-04-05 02:42:25.439323 204 716ms
2026-04-05 00:14:06.598912 204 1335ms
2026-04-04 02:50:54.334564 204 429ms
2026-04-04 02:45:15.683641 204 1275ms
2026-04-03 13:27:41.875788 204 514ms
2026-04-03 12:41:15.569369 204 1462ms
2026-03-30 02:57:44.840268 204 469ms
2026-03-30 02:48:46.046779 204 438ms
2026-03-29 13:41:16.349811 204 14649ms
2026-03-29 13:26:53.273448 204 1093ms
2026-03-23 09:00:37.436067 204 309ms
2026-03-22T10:25:34.833562 204 828ms