METARs & TAFs

Current surface weather observations (METARs) and terminal aerodrome forecasts (TAFs) for airports.

METARs

Current surface weather observations for airports.

GET/api/v1/metars/{icaoCodeOrIdent}Student Pilot

Get Metar For Airport

Parameters

NameInTypeDescription
icaoCodeOrIdent*pathstringICAO code or FAA identifier (e.g., KDFW, DFW)

Responses

200Returns the METAR observationMetarDto
idintegerDatabase identifier.
rawTextstringnullableRaw METAR text string as received from the source.
stationIdstringnullableICAO station identifier (e.g., KDFW).
observationTimestringnullableObservation time in ISO 8601 format.
latitudenumbernullableStation latitude in decimal degrees.
longitudenumbernullableStation longitude in decimal degrees.
tempCnumbernullableTemperature in degrees Celsius.
dewpointCnumbernullableDewpoint temperature in degrees Celsius.
windDirDegreesstringnullableWind direction in degrees true, or "VRB" for variable.
windSpeedKtintegernullableWind speed in knots.
windGustKtintegernullableWind gust speed in knots.
visibilityStatuteMistringnullableVisibility in statute miles.
altimInHgnumbernullableAltimeter setting in inches of mercury.
seaLevelPressureMbnumbernullableSea level pressure in millibars.
qualityControlFlagsMetarQualityControlFlagsDtoQuality control flags indicating METAR observation characteristics.
correctedstringnullableIndicates a corrected observation.
autostringnullableIndicates an automated observation.
autoStationstringnullableIndicates an automated station type.
maintenanceIndicatorOnstringnullableMaintenance indicator is on.
noSignalstringnullableNo signal received.
lightningSensorOffstringnullableLightning sensor is off.
freezingRainSensorOffstringnullableFreezing rain sensor is off.
presentWeatherSensorOffstringnullablePresent weather sensor is off.
wxStringstringnullablePresent weather string (e.g., "-RA" for light rain).
skyConditionMetarSkyConditionDto[]nullableSky condition layers (cloud cover and bases).
skyCoverstringSky cover type: SKC, CLR, FEW, SCT, BKN, or OVC.
cloudBaseFtAglintegernullableCloud base height in feet AGL.
flightCategorystringnullableFlight category: VFR, MVFR, IFR, or LIFR.
404If no METAR is found for the airportApiErrorResponse
codestringMachine-readable error code (e.g., "AIRCRAFT_NOT_FOUND").
messagestringHuman-readable error message suitable for display.
detailsstringnullableAdditional error details (only included in development environment).
validationErrorsRecord<string, string[]>nullableField-level validation errors (only for validation failures).
timestampstringUTC timestamp when the error occurred.
traceIdstringnullableCorrelation ID for tracing the request.
pathstringnullableRequest path that generated the error.

Code Examples

curl \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://preflightapi-apim-service.azure-api.net/api/v1/metars/KJFK"
GET/api/v1/metars/state/{stateCode}Student Pilot

Get Metars By State

Returns paginated results of MetarDto

Parameters

NameInTypeDescription
stateCode*pathstringTwo-letter state code (e.g., TX, CA)
cursorquerystring?Cursor from a previous response to fetch the next page.
limitqueryintegerMaximum number of items to return (default 100, max 500).

Responses

200Returns the paginated METARsPaginatedResponseOfMetarDto
dataMetarDto[]The page of results.
idintegerDatabase identifier.
rawTextstringnullableRaw METAR text string as received from the source.
stationIdstringnullableICAO station identifier (e.g., KDFW).
observationTimestringnullableObservation time in ISO 8601 format.
latitudenumbernullableStation latitude in decimal degrees.
longitudenumbernullableStation longitude in decimal degrees.
tempCnumbernullableTemperature in degrees Celsius.
dewpointCnumbernullableDewpoint temperature in degrees Celsius.
windDirDegreesstringnullableWind direction in degrees true, or "VRB" for variable.
windSpeedKtintegernullableWind speed in knots.
windGustKtintegernullableWind gust speed in knots.
visibilityStatuteMistringnullableVisibility in statute miles.
altimInHgnumbernullableAltimeter setting in inches of mercury.
seaLevelPressureMbnumbernullableSea level pressure in millibars.
qualityControlFlagsMetarQualityControlFlagsDtoQuality control flags indicating METAR observation characteristics.
wxStringstringnullablePresent weather string (e.g., "-RA" for light rain).
skyConditionMetarSkyConditionDto[]nullableSky condition layers (cloud cover and bases).
flightCategorystringnullableFlight category: VFR, MVFR, IFR, or LIFR.
paginationPaginationMetadataMetadata for cursor-based pagination.
nextCursorstringnullableCursor value to pass for the next page of results (null if no more pages).
hasMorebooleanWhether more results are available beyond this page.
limitintegerMaximum number of items per page.

Code Examples

curl \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://preflightapi-apim-service.azure-api.net/api/v1/metars/state/NY?limit=25"
GET/api/v1/metars/states/{stateCodes}Student Pilot

Get Metars By States

Returns paginated results of MetarDto

Parameters

NameInTypeDescription
stateCodes*pathstringComma-separated state codes (e.g., TX,OK,LA)
cursorquerystring?Cursor from a previous response to fetch the next page.
limitqueryintegerMaximum number of items to return (default 100, max 500).

Responses

200Returns the paginated METARsPaginatedResponseOfMetarDto
dataMetarDto[]The page of results.
idintegerDatabase identifier.
rawTextstringnullableRaw METAR text string as received from the source.
stationIdstringnullableICAO station identifier (e.g., KDFW).
observationTimestringnullableObservation time in ISO 8601 format.
latitudenumbernullableStation latitude in decimal degrees.
longitudenumbernullableStation longitude in decimal degrees.
tempCnumbernullableTemperature in degrees Celsius.
dewpointCnumbernullableDewpoint temperature in degrees Celsius.
windDirDegreesstringnullableWind direction in degrees true, or "VRB" for variable.
windSpeedKtintegernullableWind speed in knots.
windGustKtintegernullableWind gust speed in knots.
visibilityStatuteMistringnullableVisibility in statute miles.
altimInHgnumbernullableAltimeter setting in inches of mercury.
seaLevelPressureMbnumbernullableSea level pressure in millibars.
qualityControlFlagsMetarQualityControlFlagsDtoQuality control flags indicating METAR observation characteristics.
wxStringstringnullablePresent weather string (e.g., "-RA" for light rain).
skyConditionMetarSkyConditionDto[]nullableSky condition layers (cloud cover and bases).
flightCategorystringnullableFlight category: VFR, MVFR, IFR, or LIFR.
paginationPaginationMetadataMetadata for cursor-based pagination.
nextCursorstringnullableCursor value to pass for the next page of results (null if no more pages).
hasMorebooleanWhether more results are available beyond this page.
limitintegerMaximum number of items per page.

Code Examples

curl \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://preflightapi-apim-service.azure-api.net/api/v1/metars/states/NY,CA,TX?limit=25"

TAFs

Terminal aerodrome forecasts for airports.

GET/api/v1/tafs/{icaoCodeOrIdent}Student Pilot

Get Taf By Icao Code Or Ident

Parameters

NameInTypeDescription
icaoCodeOrIdent*pathstringICAO code or airport identifier

Responses

200Returns the TAF informationTafDto
rawTextstringnullableRaw TAF text string as received from the source.
stationIdstringnullableICAO station identifier (e.g., KDFW).
issueTimestringnullableTime the TAF was issued in ISO 8601 format.
bulletinTimestringnullableBulletin time in ISO 8601 format.
validTimeFromstringnullableStart of the TAF valid period in ISO 8601 format.
validTimeTostringnullableEnd of the TAF valid period in ISO 8601 format.
remarksstringnullableTAF remarks.
latitudenumbernullableStation latitude in decimal degrees.
longitudenumbernullableStation longitude in decimal degrees.
elevationMnumbernullableStation elevation in meters.
forecastTafForecast[]nullableForecast periods within the TAF.
fcstTimeFromstringnullable
fcstTimeTostringnullable
changeIndicatorstringnullable
timeBecomingstringnullable
probabilityintegernullable
windDirDegreesstringnullable
windSpeedKtintegernullable
windGustKtintegernullable
windShearHgtFtAglintegernullable
windShearDirDegreesintegernullable
windShearSpeedKtintegernullable
visibilityStatuteMistringnullable
altimInHgnumbernullable
vertVisFtintegernullable
wxStringstringnullable
notDecodedstringnullable
skyConditionsTafSkyCondition[]nullable
turbulenceConditionsTafTurbulenceCondition[]nullable
icingConditionsTafIcingCondition[]nullable
temperatureTafTemperature[]nullable
404If the TAF or airport is not foundApiErrorResponse
codestringMachine-readable error code (e.g., "AIRCRAFT_NOT_FOUND").
messagestringHuman-readable error message suitable for display.
detailsstringnullableAdditional error details (only included in development environment).
validationErrorsRecord<string, string[]>nullableField-level validation errors (only for validation failures).
timestampstringUTC timestamp when the error occurred.
traceIdstringnullableCorrelation ID for tracing the request.
pathstringnullableRequest path that generated the error.

Code Examples

curl \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://preflightapi-apim-service.azure-api.net/api/v1/tafs/KJFK"