metar-taf-decoder
METARTAFAirportsGlossaryAPI
Log in
METAR decoderTAF decoderAirportsGlossaryAPI

© 2021–2026 metar-taf-decoder.com. Uses a cookie to remember your language preference.

For training and educational purposes only. Not intended for operational aviation use.

Buy Me a Coffee at ko-fi.comGitHub
← Back to API docs

METAR Endpoints

Two endpoints are available for METAR data.

Endpoints

GET /metar/{icao}POST /metarResponse Fields

Object Types

AirportWindWindShearVisibilityCloudWeatherConditionRunwayTrendTimeMetarTrend
GET/metar/{icao}

Fetches the latest METAR report for the given ICAO airport code from live weather data.

Parameters

FieldTypeReqDescription
icaostring✓The 4-letter ICAO code of the airport (e.g. LFPO, EGLL, KJFK).

Example Request

curl -X GET "https://api.metar-taf-decoder.com/metar/LFPO" \
  -H "Accept-Language: en" \
  -H "X-API-Key: your-api-key"

Example Response

{
  "message": "LFPO 010830Z 28010KT 9999 FEW020 15/08 Q1015",
  "airport": {
    "icao": "LFPO",
    "name": "Paris-Orly"
  },
  "day": 1,
  "time": "0830",
  "wind": {
    "speed": 10,
    "unit": "KT",
    "direction": "W",
    "directionDegrees": 280
  },
  "visibility": {
    "mainVisibility": "9999"
  },
  "verticalVisibility": null,
  "clouds": [
    {
      "quantity": "FEW",
      "height": 2000,
      "unit": "FT"
    }
  ],
  "weatherConditions": [],
  "temperature": 15,
  "dewPoint": 8,
  "altimeter": 1015,
  "remark": null,
  "windShear": null,
  "runways": [],
  "trends": [],
  "cavok": false,
  "nosig": false,
  "auto": false,
  "amendment": false,
  "cancelled": false,
  "nil": false,
  "corrected": false
}
POST/metar

Decodes a raw METAR string that you provide in the request body.

Request Body

FieldTypeReqDescription
bodystring✓The raw METAR string as plain text (e.g. LFPO 010830Z 28010KT 9999 FEW020 15/08 Q1015).

Content-Type: text/plain

Example Request

curl -X POST "https://api.metar-taf-decoder.com/metar" \
  -H "Content-Type: text/plain" \
  -H "Accept-Language: en" \
  -H "X-API-Key: your-api-key" \
  -d "LFPO 010830Z 28010KT 9999 FEW020 15/08 Q1015"

Example Response

{
  "message": "LFPO 010830Z 28010KT 9999 FEW020 15/08 Q1015",
  "airport": {
    "icao": "LFPO",
    "name": "Paris-Orly"
  },
  "day": 1,
  "time": "0830",
  "wind": {
    "speed": 10,
    "unit": "KT",
    "direction": "W",
    "directionDegrees": 280
  },
  "visibility": {
    "mainVisibility": "9999"
  },
  "verticalVisibility": null,
  "clouds": [
    {
      "quantity": "FEW",
      "height": 2000,
      "unit": "FT"
    }
  ],
  "weatherConditions": [],
  "temperature": 15,
  "dewPoint": 8,
  "altimeter": 1015,
  "remark": null,
  "windShear": null,
  "runways": [],
  "trends": [],
  "cavok": false,
  "nosig": false,
  "auto": false,
  "amendment": false,
  "cancelled": false,
  "nil": false,
  "corrected": false
}

Response Fields

FieldTypeReqDescription
messagestring✓The original raw METAR string.
airportAirport✓Airport information (ICAO code and name).
daynumber✓Day of the month the report was issued.
timestring✓Time the report was issued (HHmm format).
windWind | null–Wind information (speed, direction, gusts, unit).
visibilityVisibility | null–Visibility information (main visibility, minimum, direction, unit).
verticalVisibilitynumber | null–Vertical visibility in feet or meters.
verticalVisibilityUnitstring | null–Unit of vertical visibility: FT or M.
cloudsCloud[]–Array of cloud layers (quantity, type, height, unit).
weatherConditionsWeatherCondition[]–Array of current weather phenomena (intensity, descriptive, phenomenons).
temperaturenumber✓Air temperature in Celsius.
dewPointnumber✓Dew point temperature in Celsius.
altimeternumber✓Altimeter setting (hPa or inHg depending on prefix).
remarkstring | null–Free-text remark section of the METAR.
windShearWindShear | null–Wind shear information if present.
runwaysRunway[]–Array of runway visual range (RVR) information.
trendsMetarTrend[]–Array of weather trend groups (BECMG, TEMPO, NOSIG).
cavokboolean–True if conditions are CAVOK (Ceiling And Visibility OK).
nosigboolean–True if NOSIG (no significant change expected).
autoboolean–True if the report was generated automatically.
amendmentboolean–True if this is an amended METAR.
cancelledboolean–True if the METAR was cancelled.
nilboolean–True if the METAR is NIL (no observation).
correctedboolean–True if this is a corrected METAR.

Object Types

Airport object

FieldTypeReqDescription
icaostring✓The 4-letter ICAO code of the airport.
namestring✓The full name of the airport.

Wind object

FieldTypeReqDescription
speednumber✓Wind speed value.
unitstring✓Speed unit. KT (knots) or MPS (meters per second).
directionstring✓Cardinal or compass direction (e.g. N, NE, W, VRB).
directionDegreesnumber✓Direction in degrees (0–360). 0 when variable.
gustnumber | null–Gust speed, if present.
minVariationnumber | null–Minimum wind direction variation in degrees (variable winds).
maxVariationnumber | null–Maximum wind direction variation in degrees (variable winds).

WindShear object (extends Wind)

FieldTypeReqDescription
(all Wind fields)—✓Inherits all fields from the Wind object.
heightnumber✓Height at which wind shear occurs.
heightUnitstring | null–Unit of height: FT (feet) or M (meters).

Visibility object

FieldTypeReqDescription
mainVisibilitystring✓Main visibility value as a string (e.g. 9999, 6000, 1SM).
minVisibilitynumber | null–Minimum directional visibility value, if present.
minDirectionstring | null–Cardinal direction of the minimum visibility, if present.
unitstring | null–Visibility unit when not in meters (e.g. SM for statute miles).

Cloud object

FieldTypeReqDescription
quantitystring✓Sky coverage code: FEW, SCT, BKN, OVC, NSC, NCD, SKC, CAVOK.
typestring | null–Cloud type when specified (e.g. CB for cumulonimbus, TCU for towering cumulus).
heightnumber | null–Cloud base height in the specified unit.
unitstring | null–Height unit: FT (feet) or M (meters).

WeatherCondition object

FieldTypeReqDescription
intensitystring | null–Intensity qualifier: + (heavy), - (light), or absent for moderate.
descriptivestring | null–Descriptive code (e.g. SH for showers, TS for thunderstorm, FZ for freezing).
phenomenonsstring[]–Array of phenomenon codes (e.g. RA for rain, SN for snow, FG for fog).

Runway object

FieldTypeReqDescription
namestring✓Runway designator (e.g. 28L, 10R).
minRangenumber | null–Minimum runway visual range in meters, if a range is given.
maxRangenumber | null–Maximum runway visual range in meters, if a range is given.
indicatorstring | null–Trend indicator: U (upward), D (downward), N (no change).
trendstring | null–Tendency of RVR: U, D, or N.
depositTypestring | null–Type of deposit on the runway (e.g. ice, snow, water).
coveragestring | null–Fraction of runway covered by deposit.
thicknessstring | null–Thickness of deposit in millimetres.
brakingCapacitystring | null–Braking action or friction coefficient.

TrendTime object

FieldTypeReqDescription
typestring✓Time group type: AT, FM, or TL.
timestring✓The time value in HHmm format.

MetarTrend object

FieldTypeReqDescription
typestring✓Trend type: BECMG or TEMPO.
timesTrendTime[]–Array of TrendTime objects (AT, FM, TL time groups).
windWind | null–Forecast wind during the trend period.
windShearWindShear | null–Wind shear information during the trend period.
cloudsCloud[]–Forecast cloud layers during the trend period.
visibilityVisibility | null–Forecast visibility during the trend period.
weatherConditionsWeatherCondition[]–Forecast weather phenomena during the trend period.
cavokboolean–True if conditions are CAVOK during the trend period.