Two endpoints are available for TAF data.
/taf/{icao}Fetches the latest TAF forecast for the given ICAO airport code from live weather data.
| Field | Type | Req | Description |
|---|---|---|---|
| icao | string | ✓ | The 4-letter ICAO code of the airport (e.g. LFPO, EGLL, KJFK). |
curl -X GET "https://api.metar-taf-decoder.com/taf/LFPO" \ -H "Accept-Language: en" \ -H "X-API-Key: your-api-key"
{
"message": "TAF LFPO 010800Z 0109/0215 28010KT 9999 FEW020 BECMG 0112/0114 VRB03KT",
"airport": {
"icao": "LFPO",
"name": "Paris-Orly"
},
"day": 1,
"time": "0800",
"validity": {
"startDay": 1,
"startHour": 9,
"endDay": 2,
"endHour": 15
},
"wind": {
"speed": 10,
"unit": "KT",
"direction": "W",
"directionDegrees": 280
},
"windShear": null,
"visibility": {
"mainVisibility": "9999"
},
"clouds": [
{
"quantity": "FEW",
"height": 2000,
"unit": "FT"
}
],
"weatherConditions": [],
"minTemperature": null,
"maxTemperature": null,
"becmgs": [
{
"type": "BECMG",
"validity": {
"startDay": 1,
"startHour": 12,
"endDay": 1,
"endHour": 14
},
"wind": {
"speed": 3,
"unit": "KT",
"direction": "VRB",
"directionDegrees": 0
},
"visibility": null,
"clouds": [],
"weatherConditions": [],
"cavok": false
}
],
"fMs": [],
"tempos": [],
"probs": [],
"inters": [],
"turbulences": [],
"icings": [],
"amendment": false,
"cancelled": false,
"nil": false,
"corrected": false
}/tafDecodes a raw TAF string that you provide in the request body.
| Field | Type | Req | Description |
|---|---|---|---|
| body | string | ✓ | The raw TAF string as plain text. Must start with TAF. |
Content-Type: text/plain
curl -X POST "https://api.metar-taf-decoder.com/taf" \ -H "Content-Type: text/plain" \ -H "Accept-Language: en" \ -H "X-API-Key: your-api-key" \ -d "TAF LFPO 010800Z 0109/0215 28010KT 9999 FEW020"
{
"message": "TAF LFPO 010800Z 0109/0215 28010KT 9999 FEW020 BECMG 0112/0114 VRB03KT",
"airport": {
"icao": "LFPO",
"name": "Paris-Orly"
},
"day": 1,
"time": "0800",
"validity": {
"startDay": 1,
"startHour": 9,
"endDay": 2,
"endHour": 15
},
"wind": {
"speed": 10,
"unit": "KT",
"direction": "W",
"directionDegrees": 280
},
"windShear": null,
"visibility": {
"mainVisibility": "9999"
},
"clouds": [
{
"quantity": "FEW",
"height": 2000,
"unit": "FT"
}
],
"weatherConditions": [],
"minTemperature": null,
"maxTemperature": null,
"becmgs": [
{
"type": "BECMG",
"validity": {
"startDay": 1,
"startHour": 12,
"endDay": 1,
"endHour": 14
},
"wind": {
"speed": 3,
"unit": "KT",
"direction": "VRB",
"directionDegrees": 0
},
"visibility": null,
"clouds": [],
"weatherConditions": [],
"cavok": false
}
],
"fMs": [],
"tempos": [],
"probs": [],
"inters": [],
"turbulences": [],
"icings": [],
"amendment": false,
"cancelled": false,
"nil": false,
"corrected": false
}| Field | Type | Req | Description |
|---|---|---|---|
| message | string | ✓ | The original raw TAF string. |
| airport | Airport | ✓ | Airport information (ICAO code and name). |
| day | number | ✓ | Day of the month the report was issued. |
| time | string | ✓ | Time the report was issued (HHmm format). |
| validity | Validity | ✓ | Validity period of the forecast (start day/hour and end day/hour). |
| wind | Wind | null | – | Wind information at time of issue. |
| windShear | WindShear | null | – | Wind shear information if present. |
| visibility | Visibility | null | – | Visibility at time of issue. |
| clouds | Cloud[] | – | Cloud layers at time of issue. |
| weatherConditions | WeatherCondition[] | – | Weather phenomena at time of issue. |
| minTemperature | TAFTemperature | null | – | Minimum forecast temperature (value, day, hour). |
| maxTemperature | TAFTemperature | null | – | Maximum forecast temperature (value, day, hour). |
| becmgs | TafTrend[] | – | Array of BECMG (becoming) trend groups. |
| fMs | TafTrend[] | – | Array of FM (from) trend groups. |
| tempos | TafTrend[] | – | Array of TEMPO (temporary) trend groups. |
| probs | TafTrend[] | – | Array of PROB (probability) trend groups. |
| inters | TafTrend[] | – | Array of INTER (intermittent) trend groups. |
| turbulences | Turbulence[] | – | Turbulence forecast information. |
| icings | Icing[] | – | Icing forecast information. |
| amendment | boolean | – | True if this is an amended TAF. |
| cancelled | boolean | – | True if the TAF was cancelled. |
| nil | boolean | – | True if the TAF is NIL. |
| corrected | boolean | – | True if this is a corrected TAF. |
Airport object| Field | Type | Req | Description |
|---|---|---|---|
| icao | string | ✓ | The 4-letter ICAO code of the airport. |
| name | string | ✓ | The full name of the airport. |
Validity object| Field | Type | Req | Description |
|---|---|---|---|
| startDay | number | ✓ | Day of month when the period starts. |
| startHour | number | ✓ | UTC hour when the period starts. |
| startMinutes | number | null | – | UTC minutes when the period starts, if applicable. |
| endDay | number | null | – | Day of month when the period ends. |
| endHour | number | null | – | UTC hour when the period ends. |
Wind object| Field | Type | Req | Description |
|---|---|---|---|
| speed | number | ✓ | Wind speed value. |
| unit | string | ✓ | Speed unit. KT (knots) or MPS (meters per second). |
| direction | string | ✓ | Cardinal or compass direction (e.g. N, NE, W, VRB). |
| directionDegrees | number | ✓ | Direction in degrees (0–360). 0 when variable. |
| gust | number | null | – | Gust speed, if present. |
| minVariation | number | null | – | Minimum wind direction variation in degrees (variable winds). |
| maxVariation | number | null | – | Maximum wind direction variation in degrees (variable winds). |
WindShear object (extends Wind)| Field | Type | Req | Description |
|---|---|---|---|
| (all Wind fields) | — | ✓ | Inherits all fields from the Wind object. |
| height | number | ✓ | Height at which wind shear occurs. |
| heightUnit | string | null | – | Unit of height: FT (feet) or M (meters). |
Visibility object| Field | Type | Req | Description |
|---|---|---|---|
| mainVisibility | string | ✓ | Main visibility value as a string (e.g. 9999, 6000, 1SM). |
| minVisibility | number | null | – | Minimum directional visibility value, if present. |
| minDirection | string | null | – | Cardinal direction of the minimum visibility, if present. |
| unit | string | null | – | Visibility unit when not in meters (e.g. SM for statute miles). |
Cloud object| Field | Type | Req | Description |
|---|---|---|---|
| quantity | string | ✓ | Sky coverage code: FEW, SCT, BKN, OVC, NSC, NCD, SKC, CAVOK. |
| type | string | null | – | Cloud type when specified (e.g. CB for cumulonimbus, TCU for towering cumulus). |
| height | number | null | – | Cloud base height in the specified unit. |
| unit | string | null | – | Height unit: FT (feet) or M (meters). |
WeatherCondition object| Field | Type | Req | Description |
|---|---|---|---|
| intensity | string | null | – | Intensity qualifier: + (heavy), - (light), or absent for moderate. |
| descriptive | string | null | – | Descriptive code (e.g. SH for showers, TS for thunderstorm, FZ for freezing). |
| phenomenons | string[] | – | Array of phenomenon codes (e.g. RA for rain, SN for snow, FG for fog). |
TAFTemperature object| Field | Type | Req | Description |
|---|---|---|---|
| temperature | number | ✓ | Temperature value in degrees Celsius. |
| day | number | ✓ | Day of month when the temperature is forecast. |
| hour | number | ✓ | UTC hour when the temperature is forecast. |
TafTrend object| Field | Type | Req | Description |
|---|---|---|---|
| type | string | ✓ | Trend type: BECMG, TEMPO, FM, PROB, or INTER. |
| probability | number | null | – | Probability percentage for PROB groups (30 or 40). |
| validity | Validity | ✓ | Validity period of this trend group. |
| wind | Wind | null | – | Forecast wind during this trend. |
| windShear | WindShear | null | – | Wind shear information during this trend. |
| visibility | Visibility | null | – | Forecast visibility during this trend. |
| verticalVisibility | number | null | – | Vertical visibility value if sky is obscured. |
| verticalVisibilityUnit | string | null | – | Unit of vertical visibility: FT or M. |
| clouds | Cloud[] | – | Forecast cloud layers during this trend. |
| weatherConditions | WeatherCondition[] | – | Forecast weather phenomena during this trend. |
| remark | string | null | – | Remark text associated with this trend group. |
| cavok | boolean | – | True if CAVOK applies during this trend. |
| turbulences | Turbulence[] | – | Array of turbulence forecasts for this trend. |
| icings | Icing[] | – | Array of icing forecasts for this trend. |
Turbulence object| Field | Type | Req | Description |
|---|---|---|---|
| intensity | string | ✓ | Turbulence intensity code. |
| baseHeight | number | ✓ | Base height of the turbulence layer. |
| depth | number | ✓ | Depth (thickness) of the turbulence layer. |
| unit | string | null | – | Height unit: FT (feet) or M (meters). |
Icing object| Field | Type | Req | Description |
|---|---|---|---|
| intensity | string | ✓ | Icing intensity code. |
| baseHeight | number | ✓ | Base height of the icing layer. |
| depth | number | ✓ | Depth (thickness) of the icing layer. |
| unit | string | null | – | Height unit: FT (feet) or M (meters). |