Skip to content

SkyLink-API/aircraft-registration-lookup-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aircraft Registration Lookup API — 615,000+ Aircraft

RapidAPI Free Tier Python JavaScript

Look up any aircraft by tail number (N12345, G-STBC, D-AIZY) or ICAO24 hex code. Returns aircraft type, manufacturer, operator/airline, year built, military status, and optional photos. 615,000+ aircraft records worldwide.

The SkyLink Aircraft Registration Lookup API is the largest aircraft database available through a REST API. It covers commercial airliners, general aviation, military aircraft, helicopters, and more — searchable by registration number (tail number) in any country's format, or by the 6-character ICAO24 hex address broadcast by the aircraft's ADS-B transponder.


Features

  • 615,000+ aircraft records — the most complete aircraft DB via API
  • Look up by registration — any country format: N12345 (USA), G-STBC (UK), D-AIZY (Germany), VH-OQA (Australia), C-FHIZ (Canada)
  • Look up by ICAO24 hex — 6-character hex from ADS-B transponder (e.g., 400BE3, A12B3C)
  • Returned data:
    • Registration (tail number)
    • ICAO24 hex address
    • Aircraft type code (e.g., B77W, A320)
    • Aircraft type name (e.g., Boeing 777-300ER)
    • Manufacturer
    • Owner / operator / airline
    • Year built
    • Military flag (true/false)
    • Country of registration
  • Optional aircraft photos — toggle high-res photos from airport-data.com (up to 50 per request)
  • Database statistics endpoint — total records, coverage breakdown

Endpoints

GET /v3/aircraft/registration/{registration}   # look up by tail number
GET /v3/aircraft/icao24/{icao24}               # look up by ICAO24 hex
GET /v3/aircraft/stats                         # database statistics

# Examples:
GET /v3/aircraft/registration/G-STBC           # British Airways 777
GET /v3/aircraft/registration/N12345           # US registered aircraft
GET /v3/aircraft/registration/D-AIZY           # Lufthansa aircraft
GET /v3/aircraft/registration/VH-OQA           # Qantas A380
GET /v3/aircraft/icao24/400BE3                 # lookup by ADS-B hex
GET /v3/aircraft/icao24/a12b3c                 # case-insensitive
GET /v3/aircraft/registration/G-STBC?photos=true  # include photos

Quick Start

Get Your Free API Key

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

Python — Look Up by Registration

import requests

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

r = requests.get(
    "https://skylink-api.p.rapidapi.com/v3/aircraft/registration/G-STBC",
    headers=headers
)
aircraft = r.json()["aircraft"]

print(f"Registration: {aircraft['registration']}")
print(f"ICAO24: {aircraft['icao24']}")
print(f"Type: {aircraft['type_name']}")          # Boeing 777-36N
print(f"Manufacturer: {aircraft['manufacturer']}")
print(f"Operator: {aircraft['owner_operator']}")  # British Airways
print(f"Year built: {aircraft['year_built']}")    # 2013
print(f"Military: {aircraft['is_military']}")     # False
print(f"Country: {aircraft['country']}")          # United Kingdom

Python — Look Up by ICAO24 (Enrich ADS-B Data)

# Common pattern: you have an ICAO24 from a live ADS-B feed — look up the registration
icao24 = "400BE3"

r = requests.get(
    f"https://skylink-api.p.rapidapi.com/v3/aircraft/icao24/{icao24}",
    headers=headers
)
aircraft = r.json()["aircraft"]
print(f"{aircraft['icao24']}{aircraft['registration']} "
      f"({aircraft['type_name']} operated by {aircraft['owner_operator']})")

Python — Enrich a Live ADS-B Feed

import requests

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

# Step 1: Get live aircraft over a location
adsb_r = requests.get(
    "https://skylink-api.p.rapidapi.com/v3/adsb/aircraft",
    headers=headers,
    params={"lat": 51.5, "lon": -0.12, "radius": 50}
)
live_aircraft = adsb_r.json()["aircraft"]

# Step 2: Enrich each aircraft with full registration details
for ac in live_aircraft[:10]:
    if ac.get("icao24"):
        detail_r = requests.get(
            f"https://skylink-api.p.rapidapi.com/v3/aircraft/icao24/{ac['icao24']}",
            headers=headers
        )
        if detail_r.status_code == 200:
            db = detail_r.json()["aircraft"]
            print(f"{ac['callsign']} | {db['registration']} | "
                  f"{db['type_name']} | {db['owner_operator']}")

JavaScript (Node.js)

const axios = require('axios');

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

// Look up by registration
const { data } = await axios.get(
  'https://skylink-api.p.rapidapi.com/v3/aircraft/registration/VH-OQA',
  { headers }
);

const ac = data.aircraft;
console.log(`${ac.registration}: ${ac.type_name}`);
console.log(`Operator: ${ac.owner_operator}`);
console.log(`Built: ${ac.year_built}`);

cURL

# Look up by registration
curl "https://skylink-api.p.rapidapi.com/v3/aircraft/registration/N12345" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

# Look up by ICAO24 with photos
curl "https://skylink-api.p.rapidapi.com/v3/aircraft/icao24/400be3?photos=true" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

# Database statistics
curl "https://skylink-api.p.rapidapi.com/v3/aircraft/stats" \
  -H "x-rapidapi-key: YOUR_API_KEY" \
  -H "x-rapidapi-host: skylink-api.p.rapidapi.com"

Response Schema

{
  "aircraft": {
    "registration": "G-STBC",
    "icao24": "40621d",
    "type_code": "B77W",
    "type_name": "Boeing 777-36N",
    "manufacturer": "Boeing",
    "owner_operator": "British Airways",
    "year_built": 2013,
    "is_military": false,
    "country": "United Kingdom",
    "photos": [
      {
        "url": "https://cdn.airport-data.com/aircraft/full/001/234/001234567.jpg",
        "thumbnail_url": "https://cdn.airport-data.com/aircraft/thumbnails/...",
        "photographer": "John Smith",
        "date": "2024-06-15"
      }
    ]
  }
}

Use Cases

  • Flight tracking apps — enrich ADS-B ICAO24 addresses with readable registration and operator data
  • Fleet management tools — track your own aircraft fleet by tail number
  • ADS-B decoder pipelines — add aircraft type and operator context to raw transponder data
  • Aviation photography tools — identify aircraft types and operators at airports, find photos
  • Security and customs systems — verify aircraft ownership and operator for a given registration
  • Aviation education apps — explore aircraft types, operators, and registration formats by country
  • Spotting apps — identify aircraft by hex code from a handheld ADS-B receiver

Related Repositories


GitHub Topics

aircraft-registration tail-number icao24 aircraft-database aviation-api faa-registry python javascript rest-api n-number ads-b aircraft-lookup


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

Look up any aircraft by tail number (N12345, G-STBC, D-AIZY) or ICAO24 hex code. Returns aircraft type, manufacturer, operator/airline, year built, military status, and optional photos. 615,000+ aircraft records worldwide.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors