Aircraft and airport references

Reference lookups are free. They describe published aircraft families and supported airports; they do not confirm a particular aircraft's configuration, availability or suitability for a flight.

Aircraft families

bash
curl 'https://basifly.angel.ink/api/v1/reference/aircraft-types?q=PC12&limit=10'
curl 'https://basifly.angel.ink/api/v1/reference/aircraft-types/pc12'

The list accepts an optional q of 2–80 characters, searching published ICAO codes, name and manufacturer. limit is 1–100 (default 50). Pass the returned next_cursor as after while retaining the same search. A full final page can return a cursor followed by an empty page. Unknown parameters are rejected. Slugs and cursors are at most 150 characters.

A record retains its public specifications and photo credits and adds reference: schema version, stable type_id, immutable publication_version, published_at, and collector cohort ID/version. Pagination reads the current publications; a refresh between pages can change versions. Save the versions of the records used in your analysis.

ICAO designators identify families, sometimes covering multiple commercial variants. They are separate from FAA registry model codes, registrations and airframe UUIDs. Only published codes and names are searchable aliases; pending alias tables and registry crosswalks are private. Results can be ambiguous: select a returned slug rather than assuming the first match is an exact variant.

Each populated specification retains its source URL, source date when known, review date, units, assumptions and variant. A missing source date remains unknown. reviewedAt and publication time do not mean every fact was freshly rechecked. completeness: partial and missing photos or specifications remain explicit. Photos represent a family, never an exact tracked airframe.

Airports and source snapshots

bash
curl 'https://basifly.angel.ink/api/v1/airports?q=TEB'
curl 'https://basifly.angel.ink/api/v1/airports/KTEB'
# Use the returned snapshot_id in this path:
curl 'https://basifly.angel.ink/api/v1/reference/airports/snapshots/<snapshot_id>'

Airport search accepts q of 2–80 characters and returns at most 12 results. Search covers canonical code, ICAO, IATA, local/GPS/source code, name and municipality. Send the returned code in trip requests: it is ICAO when available, otherwise OA- followed by the OurAirports source ID. ICAO can be null.

Lookup accepts an unambiguous alias. An exact canonical code takes precedence; ambiguous aliases return unknown_airport, not a guessed airport. Airport aliases can change between snapshots. Preserve snapshot_id and source_id for reproducible joins; never join airports to operators by name or infer participation from observed visits.

The snapshot endpoint returns only ID, retrieval/import date, transform version, timezone method, source URL and license. It resolves the specified retained snapshot even after a newer publication. Missing snapshots return 404. Private source paths, quarantine records and raw manifests are excluded. Airports derive from OurAirports; date fields describe reference evidence, not current runway conditions or operator approval.

For a traveler's location use the body-only POST /v1/airport-discovery/nearby interface. It accepts latitude, longitude, a 30/100/250 statute-mile radius and distance/smaller-airport sorting, returning at most 30 results with source metadata. Place and airport searches are also available through body-only discovery routes. Nearby means straight-line distance, not driving time.

MCP and access boundaries

search_aircraft_types, get_aircraft_type, search_airports, get_airport and get_airport_snapshot use the same validation and reference operations as REST. tools/list is the current schema catalog; list_capabilities matches REST discovery.

Individual aircraft dossiers require a scoped API key and a current account entitlement, including both read and export permission for exports. Login, payment metadata, a legacy key or an operator profile claim does not grant dossier access. Private responses are not cacheable.

Operator recruitment remains open. Public operator directories, profiles, ratings and directory activity collection are currently hidden. Aircraft references contain no tail-level activity, internal assessments, claimant proof or staff records. Existing live-map observations are a separate interface and do not establish charter availability.

Freshness

Aircraft identity refreshes weekly; manufacturer/discovery and missing-photo jobs recur monthly. Failures retain the last sourced publication, with missing fields visible. Airport and place snapshots follow a monthly reference-maintenance policy, with earlier corrections when needed. Use the returned evidence dates; a successful lookup is not proof that a scheduled refresh succeeded.

Type and snapshot REST responses have a 60-second cache lifetime. Location searches and private responses use no-store. An API publication and a static aircraft page can temporarily carry different versions while the site publisher rebuilds.