Aircraft API
FAA Registry
ICAO Hex
Type Lookup

Tail number in. Aircraft out.

Resolve FAA tail numbers, ICAO hex codes, and aircraft type codes into registration and aircraft details. Clean JSON with correlation IDs on every request.

3 · lookup keysFAA · registration sourceICAO · hex resolutionJSON · responses

Look up an aircraft.

This calls the live Aircraft API. Resolve by FAA tail number, ICAO hex code, or aircraft type designator.

Request builder
Three ways to identify an aircraft.
GET /aircraft/type

Aircraft type designator. Try B737 or A320.

Registration and details
Tail lookups return FAA registration data; type lookups return category and seating. A batch endpoint is on the roadmap.
Output preview
Live response from the API, plus the exact request to reproduce it.

Looking up aircraft...

Why Aircraft API

Aircraft identity, three ways.

FAA tail lookups

Resolve N-number tail registrations into manufacturer, model, owner, and year straight from FAA registry data.

ICAO hex resolution

Turn a 6-character ICAO 24-bit address into the matching tail number and aircraft type, ideal for ADS-B pipelines.

Type designators

Look up aircraft type codes like B737 or A320 for category, seating, and manufacturer details.

Input validation

Tail, hex, and type inputs are validated before lookup, so malformed identifiers return a clear 422 instead of noise.

Clean JSON with tracing

Flat, predictable JSON fields and a correlationId on every response make troubleshooting and logging simple.

GET-first design

Core lookups are simple GETs, friendly to browsers, MCP tools, and CLI scripts. A batch endpoint is on the roadmap.

/api/v1/aircraft

Endpoints, at a glance.

Three GET lookups keyed on tail number, ICAO hex, or type code. A POST batch endpoint is scaffolded and returns 501 until it ships.
GET/api/v1/aircraft/lookup

Tail lookup

Requires tail. Returns FAA registration details for the N-number.

PRIMARY
GET/api/v1/aircraft/icao/:hex

ICAO hex lookup

Resolve a 6-character ICAO hex address to tail number and aircraft type.

GET/api/v1/aircraft/type/:code

Type lookup

Return category, seating, and manufacturer for an aircraft type designator.

GET/health

Service health

Status, service name, version, and timestamp.

GET/metrics

Prometheus metrics

Process and service metrics in Prometheus exposition format.

ParameterTypeRequiredDescription
tailquerylookupFAA tail number matching the N-number pattern, e.g. N12345.
hexpathicaoICAO 24-bit address, exactly 6 hexadecimal characters.
codepathtypeAircraft type designator, e.g. B737 or A320.

Error reference

Predictable, traceable errors.

Identifier problems return a 422 before any lookup, and every response carries a correlationId.

422Validation Error

Missing tail query, or an invalid tail, ICAO hex, or type format. The error message names the failing input.

401Authentication Error

Missing or invalid API key at the gateway. Send x-api-key or api_key with every request.

404Not Found

Unknown route, or no registration matched the identifier. The response lists available endpoints.

501Not Implemented

The batch endpoint is a scaffold and returns 501 for valid requests until it ships.

500Internal Error

Unhandled route or middleware failure, or an FAA upstream problem during lookup.

Example error response

{
  "error": "Invalid ICAO hex code",
  "success": false,
  "correlationId": "1780976423031-g7uxmrg22"
}

FAQ

API questions developers ask first.

How can I identify an aircraft with this API?

Three ways: GET /lookup?tail= resolves an FAA N-number, GET /icao/:hex resolves a 6-character ICAO 24-bit address, and GET /type/:code returns details for an aircraft type designator like B737.

What details does a tail lookup return?

FAA registration data including manufacturer, model, owner, year, and a validity flag, returned as flat JSON with a correlationId for tracing.

Is the ICAO hex lookup useful for ADS-B data?

Yes. ADS-B feeds broadcast the ICAO 24-bit hex address; GET /icao/:hex maps that address to the tail number and aircraft type so you can enrich flight tracking data.

Is there a batch endpoint?

A POST /batch endpoint is scaffolded but currently returns 501 for valid requests. Use the individual GET lookups today; batch support is on the roadmap.

How do I authenticate requests?

Send your Datpaq API key as an x-api-key header or an api_key query parameter. Keys are created in the Datpaq dashboard and a free tier is included.

Identify any aircraft, fast.

Tail numbers, ICAO hex codes, and type designators resolved to registration and aircraft details from one GET-first API.