METAR / SPECI
Required roles:
AIS PIB API— Roles
Base endpoint:https://ais-pib-api.ibosoft.net.tr:2087/opmet-metar-speci
Reference documents: ICAO Doc 10157 PANS-MET, Ed. 1 (27/11/25)
Attribution: showibonav.aerowherever this data is displayed
Data sources: TSMS (Turkish State Meteorological Service), NOAA Aviation Weather Center.
Last updated: 17 OCT 2026About the reference documents: Related Documents and Resources
Depending on your use, the original data sources may also need to be credited.
Current or recent METAR and SPECI reports of an aerodrome, requested by its ICAO location indicator. Reports are returned as published (raw text); decoding is a separate service.
The report formats are those of PANS-MET Appendix 2. To decode a report, pass its raw text to METAR / SPECI (ICAO) or METAR / SPECI (FAA).
Endpoints
GET /opmet-metar-speci/{icao}
GET /opmet-metar-speci/{icao}?hours=N
GET /opmet-metar-speci/{icao}?source={id}
Reports are requested from the data sources at the time of the call (no cached copy), so the response always reflects the latest published reports.
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 report. |
source |
query, optional | Use only this data source, without falling back to another one. |
Current report (no hours)
The latest METAR is returned together with every SPECI issued at the same time or later. A SPECI is issued when conditions change, so it carries the most recent state and is kept. If there is no such SPECI, only the latest METAR is returned.
Look-back (hours=N)
All METAR and SPECI reports observed 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 report, 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": "LTBA",
"station_name": "Istanbul/Ataturk Intl, IS, TR",
"observation_time": "2026-06-17T14:20:00.000Z",
"type": "METAR",
"raw": "METAR LTBA 171420Z 03016KT 9999 FEW014 BKN180 26/17 Q1016 NOSIG",
"location": { "lat": 40.982, "lon": 28.821, "elevation_m": 33 }
}
]
}
| Field | Description |
|---|---|
sources |
Names of the data sources that contributed to the response |
reports[] |
Reports, newest first |
reports[].source |
Name of the data source of this report |
reports[].type |
METAR or SPECI |
reports[].icao |
ICAO location indicator |
reports[].station_name |
Station name, when provided by the data source |
reports[].observation_time |
Observation time (ISO 8601, UTC) |
reports[].raw |
Report 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 report 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 report", not a failure: show it as "no data" in your application.