{"openapi":"3.1.0","info":{"title":"Runways API","version":"1.0.0","description":"Every runway in the world as an API — 47,000+ runways at 40,000+ airports, from the OurAirports dataset. List all the runways at any airport by ICAO/local ident (e.g. KJFK → four runways, the longest 13R/31L at 14,511 ft), with each runway's length (feet and metres), width, surface (asphalt, concrete, grass, …), lighting and both-end designators, true headings and coordinates. Or filter runways fleet-wide by surface, minimum length and lighting. Ideal for flight planning, flight simulators, EFB and aeronautical apps, and aviation analytics.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/runways-api","description":"oanor gateway"}],"tags":[{"name":"Runways"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/airport":{"get":{"operationId":"get_v1_airport","tags":["Runways"],"summary":"All runways at an airport","description":"","parameters":[{"name":"ident","in":"query","required":true,"description":"Airport ident, e.g. KJFK","schema":{"type":"string"},"example":"KJFK"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":4,"airport":"KJFK","runways":[{"closed":false,"airport":"KJFK","lighted":true,"low_end":{"ident":"13R","latitude":40.6484,"longitude":-73.8167,"heading_deg":121},"surface":"PEM","high_end":{"ident":"31L","latitude":40.6279,"longitude":-73.7716,"heading_deg":301},"length_m":4423,"width_ft":200,"length_ft":14511,"designation":"13R/31L"},{"closed":false,"airport":"KJFK","lighted":true,"low_end":{"ident":"04L","latitude":40.622,"longitude":-73.7856,"heading_deg":31},"surface":"PEM","high_end":{"ident":"22R","latitude":40.6488,"longitude":-73.7647,"heading_deg":211},"length_m":3682,"width_ft":200,"length_ft":12079,"designation":"04L/22R"},{"closed":false,"airport":"KJFK","lighted":true,"low_end":{"ident":"13L","latitude":40.6578,"longitude":-73.7902,"heading_deg":121},"surface":"PEM","high_end":{"ident":"31R","latitude":40.6437,"longitude":-73.7593,"heading_deg":301},"length_m":3048,"width_ft":200,"length_ft":10000,"designation":"13L/31R"},{"closed":false,"airport":"KJFK","lighted":true,"low_end":{"ident":"04R","latitude":40.6254,"longitude":-73.7703,"heading_deg":30.6},"surface":"ASP","high_end":{"ident":"22L","latitude":40.6452,"longitude":-73.7549,"heading_deg":210.6},"length_m":2560,"width_ft":200,"length_ft":8400,"designation":"04R/22L"}],"longest_ft":14511},"meta":{"timestamp":"2026-05-31T07:00:18.941Z","request_id":"621801a5-c47d-46fa-8eb4-102688faf401"},"status":"ok","message":"Runways retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Runways"],"summary":"Filter runways by surface / length / lighting","description":"","parameters":[{"name":"airport","in":"query","required":false,"description":"Restrict to an airport ident","schema":{"type":"string"}},{"name":"surface","in":"query","required":false,"description":"Surface code, e.g. ASP (asphalt), CON (concrete), TURF (grass)","schema":{"type":"string"},"example":"ASP"},{"name":"min_length_ft","in":"query","required":false,"description":"Minimum runway length in feet","schema":{"type":"string"}},{"name":"lighted","in":"query","required":false,"description":"true = lighted runways only","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Results per page (1-100, default 20)","schema":{"type":"string"},"example":"20"},{"name":"offset","in":"query","required":false,"description":"Pagination offset","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"limit":20,"total":11359,"offset":0,"filters":{"surface":"ASP"},"results":[{"airport":"04CA","lighted":false,"surface":"ASP","length_m":2438,"length_ft":8000,"designation":"8/26"},{"airport":"04TT","lighted":false,"surface":"ASP","length_m":1565,"length_ft":5134,"designation":"18/36"},{"airport":"05OG","lighted":true,"surface":"ASP","length_m":15,"length_ft":50,"designation":"H1"},{"airport":"10CN","lighted":false,"surface":"ASP","length_m":18,"length_ft":60,"designation":"H1/H1"},{"airport":"10FL","lighted":false,"surface":"ASP","length_m":20,"length_ft":65,"designation":"H1"},{"airport":"10NK","lighted":true,"surface":"ASP","length_m":12,"length_ft":40,"designation":"H1"},{"airport":"10SC","lighted":false,"surface":"ASP","length_m":61,"length_ft":200,"designation":"H1"},{"airport":"10VG","lighted":true,"surface":"ASP","length_m":9,"length_ft":30,"designation":"H1/H1"},{"airport":"10XA","lighted":false,"surface":"ASP","length_m":701,"length_ft":2300,"designation":"14/32"},{"airport":"19MT","lighted":false,"surface":"ASP","length_m":1829,"length_ft":6000,"designation":"6/24"},{"airport":"1FA9","lighted":false,"surface":"ASP","length_m":808,"length_ft":2650,"designation":"18/36"},{"airport":"1MO3","lighted":false,"surface":"ASP","length_m":975,"length_ft":3200,"designation":"SE/NW"},{"airport":"1PN4","lighted":true,"surface":"ASP","length_m":20,"length_ft":65,"designation":"H1"},{"airport":"1PN5","lighted":true,"surface":"ASP","length_m":20,"length_ft":65,"designation":"H1"},{"airport":"22IA","lighted":false,"surface":"ASP","length_m":12,"length_ft":40,"designation":"H1"},{"airport":"23ND","lighted":true,"surface":"ASP","length_m":1219,"length_ft":4000,"designation":"08/26"},{"airport":"27MD","lighted":false,"surface":"ASP","length_m":991,"length_ft":3250,"designation":"12/30"},{"airport":"28VT","lighted":false,"surface":"ASP","length_m":30,"length_ft":100,"designation":"H1"},{"airport":"29ID","lighted":false,"surface":"ASP","length_m":525,"length_ft":1724,"designation":"12/30"},{"airport":"2VG2","lighted":true,"surface":"ASP","length_m":1554,"length_ft":5100,"designation":"NW/SE"}]},"meta":{"timestamp":"2026-05-31T07:00:19.015Z","request_id":"513c9354-1ecc-4604-98e7-4bbbdaf1acdf"},"status":"ok","message":"Runways listed","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Totals & surface breakdown","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Surface codes are as published (ASP/ASPH = asphalt, CON/CONC = concrete, TURF/GRS = grass, PEM = porous friction course, …). Headings in degrees true.","total":47984,"fields":["airport","designation","length_ft","length_m","width_ft","surface","lighted","closed","low_end","high_end"],"source":"OurAirports runways dataset","lighted":12302,"airports":40895,"top_surfaces":[{"count":11355,"surface":"ASP"},{"count":7490,"surface":"TURF"},{"count":3620,"surface":"CON"},{"count":3102,"surface":"CONC"},{"count":2229,"surface":"GRS"},{"count":1676,"surface":"ASPH"},{"count":1539,"surface":"GRE"},{"count":1280,"surface":"Turf"},{"count":1055,"surface":"GVL"},{"count":1013,"surface":"TURF-G"},{"count":662,"surface":"WATER"},{"count":624,"surface":"Earth"}]},"meta":{"timestamp":"2026-05-31T07:00:19.094Z","request_id":"852f6d91-153e-4225-866a-6f8580fc2e19"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":520,"monthly_call_quota":45000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1650,"monthly_call_quota":250000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4200,"monthly_call_quota":1250000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/runways-api"}