Skip to content

SkyLink-API/airport-database-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Airport Database API — 74,000+ Airports Worldwide

RapidAPI Free Tier Python JavaScript

The most complete airport lookup API. Search 74,000+ airports by ICAO code, IATA code, coordinates, IP address, or free text. Returns runways, radio frequencies, elevation, timezone, and more. Free tier available.

The SkyLink Airport Database API covers all airports in the OurAirports dataset including international airports, regional airports, heliports, seaplane bases, and private airstrips — all searchable via a clean REST API.


Features

  • 74,000+ airports — large, medium, small airports, heliports, seaplane bases
  • Multiple search modes:
    • ICAO code (e.g., KJFK, EGLL, YSSY)
    • IATA code (e.g., JFK, LHR, SYD)
    • Free text — search by airport name, city, or country
    • Geographic radius — find airports within N km of coordinates
    • IP address — find nearest airports to a user's IP (or auto-detect caller)
  • Full airport data — name, ICAO/IATA codes, lat/lon, elevation (ft), municipality, region, country, timezone
  • Runway data — length (ft), surface type, heading, displaced thresholds, lighted
  • Radio frequencies — ATIS, ground, tower, approach, departure (MHz)
  • Filter by typelarge_airport, medium_airport, small_airport, heliport, seaplane_base
  • Sort by distance when searching by coordinates or IP
  • Sub-second response via Redis cache

Endpoints

GET /v3/airports/search/text?q=Heathrow                 # free text search
GET /v3/airports/search/text?q=JFK                      # search by name or code
GET /v3/airports/search/location?lat=51.5&lon=-0.12&radius_km=80   # radius search
GET /v3/airports/search/ip                               # auto-detect caller's IP
GET /v3/airports/search/ip?ip=8.8.8.8                   # explicit IP lookup
GET /v2/airports/search?icao=KJFK                       # lookup by ICAO
GET /v2/airports/search?iata=JFK                        # lookup by IATA
GET /v2/frequencies?icao=KJFK                           # radio frequencies

Quick Start

Get Your Free API Key

Sign up at RapidAPI — SkyLink API — 1,000 free requests/month, no credit card required.

Python — Find Airports Near Coordinates

import requests

headers = {
    "x-rapidapi-key": "YOUR_API_KEY",
    "x-rapidapi-host": "skylink-api.p.rapidapi.com"
}

# Find large airports within 80 km of London
params = {
    "lat": 51.5074,
    "lon": -0.1278,
    "radius_km": 80,
    "type": "large_airport"
}
r = requests.get(
    "https://skylink-api.p.rapidapi.com/v3/airports/search/location",
    headers=headers,
    params=params
)
for airport in r.json()["airports"]:
    print(f"{airport['ident']} ({airport['iata_code']}) — "
          f"{airport['name']}{airport['distance_km']:.1f} km")
# EGLL (LHR) — Heathrow Airport — 23.4 km
# EGKK (LGW) — London Gatwick Airport — 44.1 km

Python — Look Up by ICAO Code

r = requests.get(
    "https://skylink-api.p.rapidapi.com/v2/airports/search",
    headers=headers,
    params={"icao": "KJFK"}
)
ap = r.json()["airport"]
print(f"{ap['name']}{ap['municipality']}, {ap['iso_country']}")
print(f"Elevation: {ap['elevation_ft']} ft")
print(f"Coordinates: {ap['latitude_deg']}, {ap['longitude_deg']}")
print(f"Runways: {len(ap['runways'])}")
for rwy in ap["runways"]:
    print(f"  RWY {rwy['le_ident']}/{rwy['he_ident']}: "
          f"{rwy['length_ft']}ft, {rwy['surface']}")

Python — Find Nearest Airport to Caller's IP

r = requests.get(
    "https://skylink-api.p.rapidapi.com/v3/airports/search/ip",
    headers=headers
)
data = r.json()
nearest = data["airports"][0]
print(f"Nearest airport: {nearest['name']} ({nearest['ident']})")
print(f"Distance: {nearest['distance_km']:.1f} km")

JavaScript (Node.js)

const axios = require('axios');

const headers = {
  'x-rapidapi-key': 'YOUR_API_KEY',
  'x-rapidapi-host': 'skylink-api.p.rapidapi.com'
};

// Search airports near Sydney
const { data } = await axios.get(
  'https://skylink-api.p.rapidapi.com/v3/airports/search/location',
  { headers, params: { lat: -33.8688, lon: 151.2093, radius_km: 60 } }
);

data.airports.forEach(ap => {
  console.log(`${ap.ident}${ap.name} (${ap.distance_km.toFixed(1)} km)`);
});

cURL

# Search by ICAO
curl "https://skylink-api.p.rapidapi.com/v2/airports/search?icao=YSSY" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

# Text search
curl "https://skylink-api.p.rapidapi.com/v3/airports/search/text?q=Frankfurt" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

# Radio frequencies
curl "https://skylink-api.p.rapidapi.com/v2/frequencies?icao=KJFK" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

Response Schema

{
  "airport": {
    "ident": "KJFK",
    "type": "large_airport",
    "name": "John F Kennedy International Airport",
    "latitude_deg": 40.63972,
    "longitude_deg": -73.77889,
    "elevation_ft": 13,
    "continent": "NA",
    "iso_country": "US",
    "iso_region": "US-NY",
    "municipality": "New York",
    "iata_code": "JFK",
    "runways": [
      {
        "le_ident": "04L",
        "he_ident": "22R",
        "length_ft": 11351,
        "width_ft": 150,
        "surface": "ASP",
        "lighted": true,
        "le_heading_degT": 40,
        "he_heading_degT": 220
      }
    ]
  }
}

Use Cases

  • Flight booking / search UIs — autocomplete airport names by text or IP
  • Nearest airport features in mobile apps and GPS tools
  • Runway analysis for dispatch and performance software
  • ATC frequency lookup for pilot apps and radio scanners
  • Aviation weather apps — need ICAO code to query METAR/TAF
  • Distance calculators — get coordinates for great-circle distance calculation
  • Airport map widgets — plot airports on an interactive map

Related Repositories


GitHub Topics

airports airport-api icao iata aviation-api geolocation python javascript rest-api airport-database runway free-api


Part of SkyLink API — The All-In-One Aviation Data API

All features are included in a single SkyLink API subscription. No juggling 5 different providers. One key, one schema, one bill.

About

The most complete airport lookup API. Search 74,000+ airports by ICAO code, IATA code, coordinates, IP address, or free text. Returns runways, radio frequencies, elevation, timezone, and more. Free tier available.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors