TAF (FAA)

Required roles: AIS PIB API — Roles
Base endpoint: https://ais-pib-api.ibosoft.net.tr:2087/opmet-decoder-taf-faa
Reference documents: FAA AIM, Basic (20/02/25) with Change 1 (07/08/25) · FAA Aviation Weather Handbook FAA-H-8083-28 (2024)
Attribution: show ibonav.aero or "Decoded by Ibosoft" wherever decoded output is displayed
Data sources: none — decodes the message supplied in the request.
Last updated: 17 OCT 2026

About the reference documents: Related Documents and Resources

Decodes a terminal aerodrome forecast (TAF) in the U.S. format into readable fields, one box per forecast group. Also returns the position of every decoded token in the message (positions).

The format is that of AIM 7-1-28 and the TAF chapter of the FAA Aviation Weather Handbook. For ICAO format forecasts use TAF (ICAO); MET Format Check tells which decoder fits an aerodrome.


Endpoints

POST /opmet-decoder-taf-faa/decode
Content-Type: application/json

{ "raw": "<TAF text>" }

Parameters

Parameter In Description
raw body Forecast text, at least 10 characters. Line breaks, extra spaces, lower case and a final = are accepted.

How the format is processed

  • Field names and wording follow the AIM and the FAA Aviation Weather Handbook: U.S. units (kt, SM, ft AGL), Sky condition instead of cloud, and the handbook's meanings of the change groups in each box header.
  • Header elements (type, location indicator, time of issue, period of validity) are at the top level.
  • Forecast groups: the base forecast and every change group (FM, TEMPO, BECMG, PROB30, PROB40) become one box each in forecast_groups. The base forecast and FM groups always contain their mandatory elements (null or [] when missing); TEMPO, BECMG and PROB groups contain only the elements they give.
  • Special cases: P6SM is "more than 6 SM"; SKC is "Sky clear"; wind 00000KT is Calm; low-level wind shear (WS010/31022KT) is decoded in its group; NSW (no significant weather) is valid in TEMPO, BECMG and PROB groups.
  • Undecodable groups are not guessed; they are listed under Undecodable elements (neighbouring groups form one entry).

Response

Example — AIM 7-1-28 (first groups shown):

TAF KPIT 091730Z 0918/1024 15005KT 5SM HZ FEW020 WS010/31022KT FM091930 30015G25KT 3SM SHRA OVC015 TEMPO 0920/0922 1/2SM +TSRA OVC008CB …
{
  "Type of forecast": "TAF",
  "Location indicator": "KPIT",
  "Time of issue of forecast": "Day 09, 17:30 UTC",
  "Days and period of validity of forecast": "Day 09, 18:00 UTC to Day 10, 24:00 UTC",
  "forecast_groups": [
    {"label": "Base forecast (Day 09, 18:00 UTC to Day 10, 24:00 UTC)",
     "Surface wind": "05 kt from 150°T", "Visibility": "5 SM", "Weather": ["haze"],
     "Sky condition": ["Few [>0, 2/8] at 2000 ft AGL"],
     "Wind shear": "Low level wind shear at 1000 ft: wind from 310°T at 22 kt"},
    {"label": "From - Day 09, 19:30 UTC - (Changes are expected at Day 09, 19:30 UTC: indicates significant change) (Note: …)",
     "Surface wind": "15 kt gusting 25 kt from 300°T", "Visibility": "3 SM", "Weather": ["rain shower"],
     "Sky condition": ["Overcast [8/8] at 1500 ft AGL"]},
    {"label": "Temporary - Day 09, 20:00 UTC to Day 09, 22:00 UTC - (…) (Note: …)",
     "Visibility": "1/2 SM", "Weather": ["Heavy Thunderstorm with rain"],
     "Sky condition": ["Overcast [8/8] at 800 ft AGL cumulonimbus"]}
  ],
  "positions": [{"start": 0, "end": 3}, "…"],
  "raw": "TAF KPIT 091730Z …"
}
Key Description
header keys Type of forecast, location indicator, time of issue, period of validity
forecast_groups One box per forecast group: label, label_start/label_end (header span in the message) and the group's elements
marker_positions Header spans of the change groups
Undecodable elements Groups that do not follow the U.S. format (only when there are any)
positions Character spans {start, end} in the normalized message (single spaces, upper case, no final =), one per decoded value in output order
raw The message as received

Errors

Code Meaning
400 The message could not be parsed at all; detail explains why
422 raw is missing or shorter than 10 characters