TAF

Required roles: AIS PIB API — Roles
Base endpoint: https://ais-pib-api.ibosoft.net.tr:2087/opmet-taf
Reference documents: ICAO Doc 10157 PANS-MET, Ed. 1 (27/11/25)
Attribution: show ibonav.aero wherever this data is displayed
Data sources: TSMS (Turkish State Meteorological Service), NOAA Aviation Weather Center.
Last updated: 17 OCT 2026

About the reference documents: Related Documents and Resources
Depending on your use, the original data sources may also need to be credited.

Current or recent aerodrome forecasts (TAF) of an aerodrome, requested by its ICAO location indicator. Forecasts are returned as published (raw text); decoding is a separate service.

The forecast format is that of PANS-MET Appendix 4 (Table A4-1). To decode a forecast, pass its raw text to TAF (ICAO) or TAF (FAA).


Endpoints

GET /opmet-taf/{icao}
GET /opmet-taf/{icao}?hours=N
GET /opmet-taf/{icao}?source={id}

Forecasts are requested from the data sources at the time of the call (no cached copy).

Parameters

Parameter In Description
icao path ICAO location indicator of the aerodrome (4 letters, e.g. LTFM). Case-insensitive.
hours query, optional Look-back period in hours, 0 < hours ≤ 6 (decimals allowed). Omit for the current forecast.
source query, optional Use only this data source, without falling back to another one.
  • No hours: only the latest TAF.
  • hours=N: all TAFs issued within the last N hours, newest first.

Data source selection

Each data source covers a set of aerodromes by location-indicator prefix. The source that covers the requested indicator is tried first. If it cannot be reached or returns no forecast, the source with worldwide coverage is used.

source id Data source Coverage
mgm TSMS Aerodromes with indicators starting with LT (Türkiye)
noaa NOAA Worldwide; also used when the regional source has no data

With ?source= only that source is queried; an unknown id returns 400.

Response

200 OK:

{
  "sources": ["NOAA"],
  "reports": [
    {
      "source": "NOAA",
      "icao": "LTFM",
      "station_name": "Istanbul Arpt",
      "issue_time": "2026-03-18T17:27:00.000Z",
      "valid_from": "2026-03-18T18:00:00+00:00",
      "valid_to": "2026-03-20T00:00:00+00:00",
      "raw": "TAF AMD LTFM 181727Z 1818/1924 04018G28KT 9999 SCT012 BKN025",
      "location": { "lat": 41.262, "lon": 28.74, "elevation_m": 99 }
    }
  ]
}
Field Description
sources Names of the data sources that contributed to the response
reports[] Forecasts, newest first
reports[].source Name of the data source of this forecast
reports[].icao ICAO location indicator
reports[].station_name Station name; may be null
reports[].issue_time Time of issue (ISO 8601, UTC)
reports[].valid_from / valid_to Period of validity (ISO 8601, UTC); null when the data source does not provide it — the period is always in the raw text
reports[].raw Forecast text as published
reports[].location lat, lon, elevation_m; null when the data source does not provide coordinates

Errors

Code Meaning
400 Invalid ICAO location indicator (must be exactly 4 letters), or unknown source id
404 The data sources were reached but hold no TAF for this aerodrome (also when a forced source has none)
422 hours out of range
502 None of the candidate data sources could be reached

A 404 means "no forecast", not a failure: show it as "no data" in your application.