Every aircraft carries three identities: a registration painted on the tail (G-STBC), a hex code broadcast by its transponder (40621D), and a type designator describing what kind of machine it is (B77W). Any real aviation product has to move between them — a tracker receives hex codes, a booking row has a type, a spotter app has a tail number. The usual sources are FAA registry ZIP downloads (US-only, monthly) or enterprise datasets. Here's the API version: three endpoints that cover the whole query family.
The three identities
| Identity | Example | Where you get it | What it's for |
|---|---|---|---|
| Registration | G-STBC | Painted on the airframe | Human-facing identity, ownership |
| ICAO24 hex | 40621D | Broadcast over ADS-B | Machine identity in live feeds |
| Type designator | B77W | Resolved from the above | Performance, capacity, wake category |
Registration prefixes encode the country of registry — N for the US, G- for the UK — which we break down in aircraft registration prefixes by country. The hex code is a different animal entirely: a 24-bit address assigned to the transponder, explained in Mode S hex codes.

Lookup by registration
The tail-number path — for flight cards, fleet pages, and spotter apps. SkyLink API's aircraft lookup resolves a registration against a registry of 615,000+ records refreshed daily:
curl "https://skylink-api.p.rapidapi.com/aircraft/registration/G-STBC" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: skylink-api.p.rapidapi.com"{
"query": "G-STBC",
"found": true,
"aircraft": {
"registration": "G-STBC",
"icao24": "40621D",
"icao_type": "B77W",
"type_name": "BOEING 777-36NER",
"manufacturer": "Boeing Company",
"manufacturer_and_model": "Boeing Company BOEING 777-36NER",
"owner_operator": "British Airways",
"serial_number": "38287",
"is_private_operator": false
}
}One integration detail that catches people out: a miss returns HTTP 200 with found: false and aircraft: null — never a 404. Check the found flag in the body rather than treating it as an HTTP error. Also pass photos=false on list views and batch jobs; photos default to true and add latency you don't want on a map overlay.
Lookup by hex code
Same record, different key. This is the one you need when you're consuming a live feed, because ADS-B gives you icao24 and nothing else human-readable:
curl "https://skylink-api.p.rapidapi.com/aircraft/icao24/40621D" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: skylink-api.p.rapidapi.com"This is the enrichment step that turns a raw position into a labelled flight — though if you're pulling positions from SkyLink's ADS-B endpoint, registration, type, and airline already arrive joined to each aircraft, so you only need this endpoint for standalone lookups.

From type code to performance
Once you've resolved icao_type, chain to aircraft performance for the reference specs of that type — drawn from ICAO Doc 8643:
curl "https://skylink-api.p.rapidapi.com/aircraft/performance/B738" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: skylink-api.p.rapidapi.com"{
"icao_type": "B738",
"name": "BOEING 737-800",
"engine_type": "Jet",
"wake_category": "M",
"cruise_speed_ktas": 460.0,
"service_ceiling_ft": 35000.0,
"max_range_nm": 2900.0,
"mtow_t": 78.2,
"max_passengers": 189
}That gives you range rings on a map, wake-separation hints in a dispatch tool, and capacity for a schedule view. Note the distinction: performance is static reference data for a type, not values for a specific airframe — the correct workflow is registration or hex → icao_type → performance.
How it compares
| SkyLink API | FAA registry download | Enterprise datasets | |
|---|---|---|---|
| Coverage | 615,000+ airframes, global | US registrations only | Global |
| Lookup by hex (ICAO24) | Yes | No | Varies |
| Type performance specs | Yes (Doc 8643) | No | Usually |
| Freshness | Refreshed daily | Periodic bulk file | Vendor schedule |
| Access | REST, instant | ZIP you parse & host | Sales process |
| Free tier | 1,000 req/mo | Free | No |
Competitor details reflect public positioning as of mid-2026 — verify before committing.
The FAA registry is authoritative and free, but it's US-only and it's a file you have to download, parse, host, and refresh — and it has no concept of a hex-code lookup. For deeper dives on each identity, see tail number lookup and Mode S hex codes.
SkyLink API gives you a free tier of 1,000 requests/month across aircraft lookup, performance, and the rest of the stack, with paid plans starting at $18.59/mo for production. It's available through the free trial — sign up, grab a key, and resolve any aircraft from any of its three identities.
