TailTracker for developers
Build on your aviation story.
Connect your scripts, dashboards and personal tools to TailTracker with a straightforward JSON API and secure Bearer tokens.
Make your first request
Add your API key as a Bearer token to every request. Keys identify your account, so never expose them in public frontend code or a Git repository.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://tailtracker.app/api/planes
Available endpoints
Read your account information, collection and insights, or resolve a registration before integrating it into your own workflow.
/apiAPI health check/api/meAuthenticated account information/api/planesYour complete aircraft history/api/statsCollection totals grouped by encounter type/api/insightsAdvanced insights for the authenticated user/api/planes/lookup?tail=XX-XXXRegistration, operator, photo and history matchPredictable JSON responses
Aircraft records combine the registration, encounter details and structured type information needed by modern integrations.
{
"planes": [{
"id": 123,
"tail_number": "HB-JVJ",
"tag": "on board",
"flight_number": "SWR1069",
"destination": "ZRH",
"flight_date": "2025-07-06",
"operator": "SWISS",
"aircraft_type": {
"icao": "A20N",
"manufacturer": "Airbus",
"model": "A320neo",
"family": "A320 family",
"display_name": "Airbus A320neo",
"is_missing": false,
"is_legacy": false
},
"image_url": "/uploads/xxxx.jpg"
}]
}
Structured aircraft types
Prefer the structured aircraft_type object over the older free-text type field. Legacy records may temporarily expose both while the catalogue is completed.
aircraft_type.icaoICAO code such as A20N, A320 or B77W.
aircraft_type.display_nameHuman-friendly model such as Airbus A320neo.
aircraft_type.familyThe wider aircraft family used for collection insights.
Errors and security
Errors use stable machine-readable identifiers. Applications should handle authentication failures and retry rate-limited requests later.
missing_api_keyThe Authorization header is missing.invalid_api_keyThe token is invalid, expired or revoked.rate_limitedToo many requests were made. Wait before retrying.