taf: Get TAF forecasts

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

Description

Returns forecast data with issue time, validity period, raw TAF text, and parsed forecast periods with wind, visibility, weather, and cloud information. Critical for flight planning to anticipate changing conditions at departure, destination, and alternate airports.

From spec: Retrieve Terminal Aerodrome Forecasts (TAFs) for specified stations. TAFs provide expected weather conditions at airports.

Usage Tips

- No authentication required - Use ids parameter with comma-separated ICAO station IDs - Use format=json for structured data - fcsts array contains forecast periods with time ranges - validTimeFrom and validTimeTo define the full TAF validity period

Parameters (3)

bbox (string, query, optional)

Bounding box (minLon,minLat,maxLon,maxLat)

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

Response format

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

ids (string, query, optional)

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

Examples (2)

Get TAF forecast for JFK Airport probe-gate

Demonstrates fetching the Terminal Aerodrome Forecast for JFK showing expected conditions over the next 30 hours.

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

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

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

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

Demonstrates fetching TAFs for multiple airports simultaneously for route planning.

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

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

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

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

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 16:57:35.805309 200 785ms
2026-04-16 01:28:50.455547 200 473ms
2026-04-16 01:08:28.520634 200 199ms
2026-04-15 01:06:48.560745 200 1333ms
2026-04-15 01:05:10.338554 200 318ms
2026-04-14 03:46:40.029896 200 308ms
2026-04-14 03:01:27.717394 200 207ms
2026-04-12 13:36:52.665665 200 280ms
2026-04-12 12:40:28.354588 200 170ms
2026-04-10 01:36:13.232597 200 293ms
2026-04-10 01:25:16.065126 200 1064ms
2026-04-09 03:09:36.779865 200 3263ms
2026-04-09 02:16:28.761745 200 970ms