Airfleets APIairfleets.net ↗
Access aircraft specs, operator history, airline fleet composition, age stats, and delivery tracking via the Airfleets.net API. 9 endpoints.
What is the Airfleets API?
The Airfleets.net API exposes 9 endpoints covering aircraft search, detailed specification and operator history, airline fleet composition, fleet age statistics, country-level airline browsing, and live delivery and update feeds. The get_aircraft_details endpoint returns fields including first flight date, engine configuration, subtype, and a full chronological operator history — all keyed by MSN and type code.
curl -X GET 'https://api.parse.bot/scraper/359ab7ca-96d6-40f0-909e-de207236e50f/search_aircraft?query=F-GKXS' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace airfleets-net-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Airfleets SDK — search aircraft, explore airline fleets, track deliveries."""
from parse_apis.airfleets_net_api import Airfleets, FleetStatus, AirlineNotFound
client = Airfleets()
# Search for an aircraft by registration — limit caps total items fetched.
for ac in client.aircrafts.search(query="F-GKXS", limit=5):
print(ac.registration, ac.type, ac.airline, ac.status)
# Get full aircraft details by type code and MSN.
detail = client.aircraftdetails.get(type="a320", msn="3825")
print(detail.subtype, detail.first_flight_date, detail.status)
for op in detail.history:
print(op.registration, op.airline, op.delivery_date)
# Construct an airline and explore its fleet sub-resources.
air_france = client.airline(name="Air France")
for entry in air_france.fleet.list(limit=5):
print(entry.aircraft_type, entry.active, entry.total)
# Fleet age breakdown for the same airline.
for age in air_france.fleet_age.list(limit=3):
print(age.aircraft_type, age.count, age.average_age)
# List active A320s using the FleetStatus enum.
for ac in air_france.aircraft_by_type.list(aircraft_type="a320", status=FleetStatus.ACTIVE, limit=3):
print(ac.msn, ac.registration, ac.subtype, ac.from_)
# Typed error handling — catch AirlineNotFound on a bad airline name.
try:
bogus = client.airline(name="NonexistentAirline999")
for entry in bogus.fleet.list(limit=1):
print(entry.aircraft_type)
except AirlineNotFound as exc:
print(f"Airline not found: {exc}")
# Latest deliveries — no params needed.
for d in client.deliveries.latest(limit=3):
print(d.aircraft_type, d.registration, d.airline, d.date)
print("exercised: aircrafts.search / aircraftdetails.get / airline.fleet.list / airline.fleet_age.list / airline.aircraft_by_type.list / deliveries.latest")
Full-text search for aircraft by registration code or manufacturer serial number (MSN). Returns matching aircraft with type, airline, status, and a URL to their detail page. Results are not paginated; the server returns all matches for the query.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Aircraft registration (e.g. F-GKXS) or MSN (e.g. 3825). |
{
"type": "object",
"fields": {
"query": "string, the search term used",
"results": "array of aircraft objects with registration, msn, type, airline, status, details_url"
},
"sample": {
"data": {
"query": "F-GKXS",
"results": [
{
"msn": "3825",
"type": "Airbus A320",
"status": "Active",
"airline": "Air France",
"details_url": "https://www.airfleets.net/ficheapp/plane-a320-3825.htm",
"registration": "F-GKXS"
}
]
},
"status": "success"
}
}About the Airfleets API
Aircraft Search and Detail
The search_aircraft endpoint accepts a registration code or MSN string and returns matching aircraft with type, airline, current status, and a link to the detail page. From there, get_aircraft_details takes an MSN and a type code (such as a320 or b737ng) and returns the aircraft's subtype, first flight date, engine configuration, calculated age, and a chronological history array listing every operator, registration, and delivery date on record.
Fleet Composition and Age
The get_airline_fleet endpoint returns a breakdown of an airline's fleet by aircraft type, with separate counts for active, parked, stored/scrapped, historical, and on-order aircraft. get_airline_fleet_age returns average age per aircraft type plus an overall fleet average. Both endpoints require the airline name to match the exact spelling used on Airfleets.net — use search_airline first to resolve the correct form. For individual aircraft within a fleet type, get_airline_fleet_history_by_type accepts an optional status filter (active, history, or stored) and returns per-aircraft records with MSN, subtype, registration, from/to dates, and remarks.
Country Browsing and Live Feeds
get_airlines_by_country paginates airlines by country, returning up to 20 per page. Country names follow Airfleets.net conventions — USA for the United States, for example. The two feed endpoints, get_new_aircraft_deliveries and get_last_aircraft_updates, require no inputs and return the most recent delivery events and database record updates respectively, each with aircraft type, MSN, registration, airline, and date.
The Airfleets API is a managed, monitored endpoint for airfleets.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airfleets.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official airfleets.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track new aircraft deliveries by polling
get_new_aircraft_deliveriesto monitor when specific types enter service. - Build a fleet-age comparison tool across airlines using
get_airline_fleet_agebreakdown data. - Reconstruct an aircraft's full ownership chain from the
historyarray returned byget_aircraft_details. - Map all airlines in a given country using
get_airlines_by_countrywith pagination. - Alert on fleet composition changes by diffing
get_airline_fleetresults for on-order versus active counts. - Filter stored or retired aircraft for a specific type and airline using
get_airline_fleet_history_by_typewithstatus=stored. - Resolve airline name variants before querying fleet endpoints by calling
search_airlinewith partial names.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Airfleets.net offer an official developer API?+
What does `get_aircraft_details` return beyond basic specs?+
history array with one entry per operator — each including registration, delivery date, airline name, and any remarks such as lease notes or accident records.Does `get_airline_fleet_history_by_type` return individual tail numbers or just counts?+
status parameter narrows results to active, history, or stored aircraft for a given airline and type code.Is real-time flight position or schedule data available through this API?+
Are there pagination limitations when searching aircraft or airlines?+
search_aircraft and search_airline return all matches in a single unpaginated response. get_airlines_by_country is paginated at 20 airlines per page using a 1-based page parameter. get_airline_fleet_history_by_type returns all matching aircraft for the given airline, type, and status in one response with no pagination.