Registration Ultra Resolver

Image in. Aircraft out.

One API turns an aircraft photo into a confident registration — even when the tail isn’t readable — plus identity, valuation, and embeds. Backed by the Tail aircraft graph. Try every endpoint right here, free, no signup.

Free API key

Create a key & go

Instant. No approval, no credit card. ~10 seconds.

Built for agents & GPTs

Plug it into your model

Every endpoint is a clean JSON tool. Import the OpenAPI spec as a custom-GPT Action, or register them as function-calling tools in your own app. For “what aircraft is this photo?”, hand the resolver an image_url — the agent-friendly path. Text endpoints work with zero friction.

Endpoints

Four APIs, one key

One key works across everything. Photos flow keyless; programmatic use needs a free key.

POST/v1/resolveFree · key for volume

Ultra Resolve

A photo in, a confident aircraft registration out — even when the tail isn’t readable. Returns ranked candidates, each with a confidence score and the verified record behind it. Add any context you have (a partial tail, the airport, the date) to sharpen the result.

ParameterTypeDescription
imagefileMultipart upload of the aircraft photo.
image_urlstringAlternative to a file — a URL to the image. Best path for agents/GPTs.
consentbooleanRequired for uploads — grants a license to process the image.
context.registration_hintstring?A partial or uncertain tail number, any format.
context.airportstring?ICAO/IATA where the photo was taken.
context.photo_datedate?When the photo was taken (ISO).
context.make / modelstring?Your best guess at the type.
Try it live
Try it live — no signup

Upload a photo, get a tail number

Drop any aircraft photo. You’ll get ranked candidates with the evidence behind each one.

🛩️
Drop an image here, or click to choose
JPG / PNG · tails, fuselages, ramp shots — anything
GET/v1/identityFree · key for volume

Identity

A registration, serial, or free-text type name → a verified aircraft record from the graph: normalized make/model, category, registry status, year, and our licensed photos with attribution. We return truth from the graph, not an LLM guess.

ParameterTypeDescription
registrationstringe.g. N526JS — exact tail lookup.
serialstringAirframe serial number.
free_textstringFuzzy type, e.g. “Grob 103 Twin II”.
countrystring?Narrow by registry country.
Try it live
POST/v1/valuationFree · attribution required

Valuation

An aircraft → a value estimate with a range, condition, and the lowest active market ask, drawn from the Tail comps graph. Free to use — you just display a “Powered by Tailestimate” attribution wherever the number appears.

ParameterTypeDescription
registrationstringPreferred — values that specific airframe.
modelstringFallback — a representative estimate for the model.
yearint?Narrow the model estimate by year.
Try it live
GET/embed/aircraft/:registrationFree · preview

Embeds

Drop-in cards and widgets for an aircraft, listing, or gallery — iframe or JSON, “Powered by TailExchange.” Built for clubs, schools, and brokers to surface live data on their own sites. Preview the aircraft card below.

ParameterTypeDescription
registrationpathThe aircraft to render.
formatstring?iframe (default) or json.
Try it live
Quickstart

Two lines to your first resolve

# Anonymous (capped) — no key needed:
curl -X POST https://api.tailid.app/v1/resolve \
  -F image=@tail.jpg -F consent=true

# With a free key — higher limits:
curl -X POST https://api.tailid.app/v1/resolve \
  -H "X-Api-Key: tk_live_..." \
  -F image=@tail.jpg -F consent=true