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 →
Formula
One function covers the whole catalog: the first argument names the source, the next are its inputs, and the field after them says which single value lands in the cell. Formulas covers the grammar that applies to all of them.
=VERVE("aircrafttypes", "count")=VERVE.CALL("aircrafttypes", "count")Inputs
Required inputs are positional, in the order below, followed by the field. Everything else is passed as a "name", value pair after that — the same shape as SUMIFS. Premium inputs are accepted on every plan but only take effect on plans that include them.
| Input | Type | Where it goes | Description |
|---|---|---|---|
icaoOptional | string | "icao", value | ICAO aircraft type designator, for example B738, A20N or C172. When given, the other search parameters are ignored length 0–4 |
manufacturerOptional | string | "manufacturer", value | Manufacturer name or part of it, for example Boeing, Airbus or Cessna length 0–60 |
modelOptional | string | "model", value | Model name or part of it, for example 737, A320 or Citation length 0–60 |
engineTypeOptional | string | "engineType", value | Only types with this engine classjetturboproppistonturboshaftelectric |
wakeCategoryOptional | string | "wakeCategory", value | Only types in this ICAO wake turbulence categorylightmediumheavysuper |
enginesOptional | integer | "engines", value | Only types with this number of engines range 1–8 |
limitOptional | integer | "limit", value | Maximum number of types to return, 1-50 default 10 · range 1–50 |
Passing an option
=VERVE("aircrafttypes", "count", "icao", "B738")=VERVE.CALL("aircrafttypes", "count", "icao", "B738")What lands in your sheet
The field — the argument after the inputs — is what makes the formula resolve to one cell. Its value is a dot-path from the table below, so swapping it is how you pull a different value — one formula per column.
Seeing everything at once
Leave the field out and the formula returns the whole response instead: two columns, field name on the left and value on the right, spilling from the cell you typed in.
=VERVE("aircrafttypes")=VERVE.CALL("aircrafttypes")The second row's table would land on top of the first's, and every cell after the first reads #REF! (#SPILL! in Excel). Keep one per sheet, or name a field, and leave the cells below and to the right empty.
Response fields
Paths are relative to data. Each one is exactly what the field argument accepts, so swapping it is how you pull a different value into a cell. On a plan without a Premium field the cell reads #PREMIUM(field) rather than a value, so a locked field never looks like a real answer.
| Use as the field | Type | Example cell value | 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 |
When a cell doesn't fill
A failed lookup returns readable text starting with #ERR rather than a spreadsheet error, because Excel cannot show a custom message on a real error — you would get a bare #VALUE! with no reason. The trade-off is that IFERROR() will not catch it; test with LEFT(cell, 4) = "#ERR" instead. Error handling covers the rest.
| Cell reads | What happened |
|---|---|
#ERR Not connected | No API key saved. Open the side panel and connect your account. |
#ERR Replace <name> with a cell or value | A preview formula was copied as-is. Swap the placeholder for a cell reference. |
#ERR No "x" in aircrafttypes | An option name this source does not take. The message lists the ones it does. |
#ERR No data point "…" | The field path is not in the response. Check it against the table above. |
#PREMIUM(field) | The field exists but your plan does not include it. |
#ERR Out of credits | The cycle's credits are spent. Usage resets on your billing date. |
Before the formula works
The add-in reads the API key you saved once in the side panel — the key never goes in the formula, so a shared sheet does not leak it and a collaborator without access simply sees the last calculated values.
- Install the add-in for Google Sheets or Excel.
- Open the side panel and sign in, or paste a key from your dashboard.
- Type the formula above into any cell.
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 VerveSheets, or reach the same source a different way. Your VerveSheets account and credits work on all of them — one key, one balance.
Related
More in Transportation: