Overview
`icao` matches the ICAO type designator or the FAA designator exactly (case-insensitive) and returns that one type. Without it, `manufacturer` and `model` are substring matches after stripping punctuation, so `model=737` finds every 737 variant and `manufacturer=deHavilland` finds DE HAVILLAND; `engineType`, `wakeCategory` and `engines` narrow the result, or search on their own (`wakeCategory=super` lists every Super type). Searches are ordered by annual flight-plan operations, so the types you meet most often come first, and `count` reports every match while `limit` (default 10, at most 50) caps `types`.
The figures come from the FAA Aircraft Characteristics Database, which the FAA compiles from manufacturer airport planning manuals and Flight Standardization Board reports for airport design under AC 150/5300-13B. `approachCategory` follows the highest approach speed at maximum landing weight; where the FAA gives two values, `approachSpeedRangeKnots` carries both. `designGroup` combines tail height and wingspan, and `airport.taxiwayDesignGroup` combines main gear width and cockpit to main gear distance. Metric values are converted from the published feet and pounds.
No match returns 404. The ICAO wake category is normalised to Light, Medium, Heavy or Super; a few light-sport types are listed by the FAA as Light/Medium and keep that value. On the Free plan the airport, wake and usage leaves and `remarks` are null.
Live Test Aircraft Types Source →
The tool
Once your client is connected to the VerveContext server, this appears in its tool list as AircraftTypes. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "AircraftTypes",
"arguments": {}
}Connecting
One server URL covers every source in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervecontext": {
"url": "https://api.vervecontext.com/v1/mcp"
}
}
}https://api.vervecontext.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
icaoOptional | string | ICAO aircraft type designator, for example B738, A20N or C172. When given, the other search parameters are ignored length 0–4 |
manufacturerOptional | string | Manufacturer name or part of it, for example Boeing, Airbus or Cessna length 0–60 |
modelOptional | string | Model name or part of it, for example 737, A320 or Citation length 0–60 |
engineTypeOptional | string | Only types with this engine classjetturboproppistonturboshaftelectric |
wakeCategoryOptional | string | Only types in this ICAO wake turbulence categorylightmediumheavysuper |
enginesOptional | integer | Only types with this number of engines range 1–8 |
limitOptional | integer | Maximum number of types to return, 1-50 default 10 · range 1–50 |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"count": 1,
"returned": 1,
"types": [
{
"icaoCode": "B738",
"faaDesignator": "B738",
"manufacturer": "BOEING",
"model": "Boeing 737-800",
"variant": "Boeing B737-800",
"aircraftClass": "Fixed-wing",
"engineType": "Jet",
"engineCount": 2,
"wingspanFt": 117.4,
"wingspanWithoutWingletsFt": 112.6,
"hasWinglets": true,
"lengthFt": 129.5,
"tailHeightFt": 41.4,
"maxTakeoffWeightLb": 174200,
"maxLandingWeightLb": 146275,
"approachSpeedKnots": 144,
"approachSpeedRangeKnots": {
"min": 140,
"max": 144
},
"approachCategory": "D",
"designGroup": "III",
"icaoWakeCategory": "Medium",
"faaWeightClass": "Large",
"metric": {
"wingspanM": 35.78,
"lengthM": 39.47,
"tailHeightM": 12.62,
"maxTakeoffWeightKg": 79016,
"maxLandingWeightKg": 66349
},
"airport": {
"taxiwayDesignGroup": "3",
"wheelbaseFt": 51.2,
"cockpitToMainGearFt": 56.4,
"mainGearWidthFt": 23,
"mainGearConfig": "D",
"parkingAreaFt2": 16487,
"parkingAreaM2": 1532,
"rotorDiameterFt": null
},
"wake": {
"consolidatedCategory": "F",
"recat15Category": "D",
"recat2CategoryA": "D",
"recat2CategoryB": "C",
"sameRunwaySeparation": "III",
"lahsoGroup": "8"
},
"usage": {
"usRegistered": true,
"usRegistrations": 971,
"annualFlightPlanOperations": 2484764,
"operationsYear": 2024
},
"remarks": "Depending on flaps configuration and MALW, AAC could be C. AAC validated by Flight Standardization Board (FSB) report.",
"lastUpdated": null
}
]
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
count | number | 1 | Number of types that match |
returned | number | 1 | Number of types in this response |
types | array[1] | Matching aircraft types, the most-flown first | |
types.0.icaoCode | string | B738 | ICAO aircraft type designator |
types.0.faaDesignator | string | B738 | FAA aircraft type designator |
types.0.manufacturer | string | BOEING | Aircraft manufacturer |
types.0.model | string | Boeing 737-800 | FAA model name |
types.0.variant | string | Boeing B737-800 | Representative variant the figures describe |
types.0.aircraftClass | string | Fixed-wing | Fixed-wing, Amphibian, Tiltrotor, Helicopter or Gyrocopter |
types.0.engineType | string | Jet | Engine class: Jet, Turboprop, Piston, Turboshaft or Electric |
types.0.engineCount | number | 2 | Number of engines |
types.0.wingspanFt | number | 117.4 | Wingspan in feet, with winglets where the type has them |
types.0.wingspanWithoutWingletsFt | number | 112.6 | Wingspan in feet without winglets or sharklets |
types.0.hasWinglets | boolean | true | Whether a winglet or sharklet version has a larger span |
types.0.lengthFt | number | 129.5 | Overall length in feet |
types.0.tailHeightFt | number | 41.4 | Tail height at operating empty weight, in feet |
types.0.maxTakeoffWeightLb | number | 174200 | Maximum takeoff weight in pounds |
types.0.maxLandingWeightLb | number | 146275 | Maximum allowable landing weight in pounds |
types.0.approachSpeedKnots | number | 144 | Approach speed at maximum landing weight, in knots |
types.0.approachSpeedRangeKnots | object | {…} | Lowest and highest approach speed where the FAA lists two |
types.0.approachSpeedRangeKnots.min | number | 140 | Lowest approach speed in knots |
types.0.approachSpeedRangeKnots.max | number | 144 | Highest approach speed in knots |
types.0.approachCategory | string | D | Aircraft approach category, A to E |
types.0.designGroup | string | III | Airplane design group, I to VI, from wingspan and tail height |
types.0.icaoWakeCategory | string | Medium | ICAO wake turbulence category: Light, Medium, Heavy or Super |
types.0.faaWeightClass | string | Large | FAA weight class: Small, Small+, Large, Heavy or Super |
types.0.metric | object | {…} | Dimensions and weights in metric units |
types.0.metric.wingspanM | number | 35.78 | Wingspan in metres |
types.0.metric.lengthM | number | 39.47 | Length in metres |
types.0.metric.tailHeightM | number | 12.62 | Tail height in metres |
types.0.metric.maxTakeoffWeightKg | number | 79016 | Maximum takeoff weight in kilograms |
types.0.metric.maxLandingWeightKg | number | 66349 | Maximum landing weight in kilograms |
types.0.airportPremium | object | {…} | Airport planning geometry |
types.0.airport.taxiwayDesignGroupPremium | string | 3 | Taxiway design group (1A to 7) |
types.0.airport.wheelbaseFtPremium | number | 51.2 | Distance between main and nose gear in feet |
types.0.airport.cockpitToMainGearFtPremium | number | 56.4 | Cockpit to main gear distance in feet |
types.0.airport.mainGearWidthFtPremium | number | 23 | Distance between the outer main gear tires in feet |
types.0.airport.mainGearConfigPremium | string | D | Main gear configuration code, for example S, D or 2D |
types.0.airport.parkingAreaFt2Premium | number | 16487 | Minimum parking position area in square feet |
types.0.airport.parkingAreaM2Premium | number | 1532 | Minimum parking position area in square metres |
types.0.airport.rotorDiameterFtPremium | object | null | Rotor diameter of helicopters and tiltrotors, in feet |
types.0.wakePremium | object | {…} | Wake turbulence and runway separation categories |
types.0.wake.consolidatedCategoryPremium | string | F | FAA consolidated wake turbulence category, A (largest) to I |
types.0.wake.recat15CategoryPremium | string | D | RECAT 1.5 wake category, A to F |
types.0.wake.recat2CategoryAPremium | string | D | RECAT 2 wake category (Appendix A) |
types.0.wake.recat2CategoryBPremium | string | C | RECAT 2 wake category (Appendix B) |
types.0.wake.sameRunwaySeparationPremium | string | III | Same runway separation category, I to III |
types.0.wake.lahsoGroupPremium | string | 8 | Land and hold short operations group, 1 to 10 |
types.0.usagePremium | object | {…} | US registration and traffic |
types.0.usage.usRegisteredPremium | boolean | true | Whether the type appears on the FAA aircraft register |
types.0.usage.usRegistrationsPremium | number | 971 | Number of US-registered aircraft of the type |
types.0.usage.annualFlightPlanOperationsPremium | number | 2484764 | Flight-plan operations of the type in the US National Airspace System over the year |
types.0.usage.operationsYearPremium | number | 2024 | Fiscal year of the operations count |
types.0.remarksPremium | string | Depending on flaps configuration and MALW, AAC could be C. AAC validated by Flight Standardization B… | The FAA's remarks on the type's figures |
types.0.lastUpdated | object | null | Date the FAA last revised the record, when given |
Why ground on it
A model can produce something that looks like this answer from its training data, and be confidently out of date or simply wrong. This source returns the current value in a shape you can check, which is the difference between an answer you can cite and one you have to hedge.
Point an evaluation at count: it is the field most worth pinning a claim to, and it is either present and current or absent — never plausibly invented.
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This source is not part of VerveContext. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 1 credit each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Airport Planning
- Check whether an aircraft type fits a gate, taxiway or hangar from its wingspan, length, tail height, design group and taxiway design group.
- Flight Tracking Apps
- Show the aircraft behind an ADS-B type code with its manufacturer, model, size and wake category.
- Aviation Training
- Look up approach speeds and categories, wake turbulence classes and separation categories for study material and simulators.
- Operations and Fees
- Price landing or parking fees by maximum takeoff weight and parking area, and group fleets by weight class.
Other ways to use Aircraft Types
Set up Aircraft Types on VerveContext, or reach the same source a different way. Your VerveContext account and credits work on all of them — one key, one balance.
Related
More in Transportation: