ATIS & active runways
Normalized ATIS, computed active runways, and runway conditions.
This is the part of the API most aggregators skip. D-ATIS broadcasts and raw wind reports get turned into three things you can act on directly: a normalized ATIS object, a computed list of active runways, and per-runway surface conditions.
GET/v1/airports/{icao_code}/atis
Latest normalized D-ATIS broadcast (US only)GET/v1/airports/{icao_code}/runways/active
Computed active runways from current windGET/v1/airports/{icao_code}/runways/conditions
Per-runway contamination breakdownGET/v1/airports/{icao_code}/weather/wind
Latest available windActive runways
We compare live wind against every runway heading on file and return which runways are actively being used for arrivals and departures, along with a confidence score.
GET /v1/airports/KSFO/runways/active
{
"icao_code":: "KSFO",
"computed_at":: "2026-07-30T18:56:00Z",
"wind_direction":: 280,
"wind_speed_kt":: 14,
"active_runways":: [
{ "ident":: "28L", "is_arrival":: true, "is_departure":: true, "confidence":: 0.94 },
{ "ident":: "28R", "is_arrival":: true, "is_departure":: true, "confidence":: 0.94 }
]
}ATIS
Wind, visibility, clouds, active runways, NOTAMs, and remarks — all pulled out of the same broadcast, alongside the raw text if you want it too.
GET /v1/airports/KJFK/atis
{
"icao_code":: "KJFK",
"observed_at":: "2026-07-30T18:51:00Z",
"atis_code":: "T",
"wind_direction":: 250,
"wind_speed_kt":: 12,
"visibility_sm":: 10.0,
"temperature_c":: 24.0,
"dewpoint_c":: 17.0,
"runway_visual_range_ft":: null,
"clouds":: [{ "cover":: "SCT", "base_ft":: 4000 }],
"runways":: [
{ "ident":: "31L", "runway_type":: "ARR", "is_approach":: true, "is_departure":: false },
{ "ident":: "31R", "runway_type":: "DEP", "is_approach":: false, "is_departure":: true }
],
"notams":: ["RWY 04L/22R CLSD"],
"remarks":: ["BIRD ACTV"],
"raw_text":: "JFK ATIS INFO TARA 1851Z ..."
}ATIS coverage is US-only today. Outside the US, use
/wind for the latest available wind automatically.