A comprehensive REST API built with Express & Node.js that provides detailed aircraft information including IATA/ICAO codes, manufacturer details, technical specifications (service ceiling, maximum range), and complete engine data with thrust, dimensions, RPM, and variants.
Retrieve the full list of aircraft models.
GET /api/
cURL: curl -X GET https://api-aircraft-models.vercel.app/api/
JavaScript (Fetch):
fetch('https://api-aircraft-models.vercel.app/api/')
.then(response => response.json())
.then(data => console.log(data));
Python:
import requests
response = requests.get('https://api-aircraft-models.vercel.app/api/')
print(response.json())
C#:
using System.Net.Http;
using System.Threading.Tasks;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://api-aircraft-models.vercel.app/api/");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
Retrieve an aircraft model using its IATA code, including ICAO code, manufacturer, engine type, and number of engines.
GET /api/<IATA_CODE>
cURL: curl -X GET https://api-aircraft-models.vercel.app/api/789
JavaScript (Fetch):
fetch('https://api-aircraft-models.vercel.app/api/789')
.then(response => response.json())
.then(data => console.log(data));
Python:
import requests
response = requests.get('https://api-aircraft-models.vercel.app/api/789')
print(response.json())
C#:
using System.Net.Http;
using System.Threading.Tasks;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://api-aircraft-models.vercel.app/api/789");
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
Filter aircraft models based on their service ceiling (maximum altitude). Supports operator-based filtering and range filtering.
POST /api/filter/ceiling
1. Operator-based: Use operator and value parameters
gt: Greater thanlt: Less thangte: Greater than or equallte: Less than or equaleq: Equal2. Range-based: Use min and max parameters for inclusive range filtering
cURL (Operator-based):
curl -X POST https://api-aircraft-models.vercel.app/api/filter/ceiling \
-H "Content-Type: application/json" \
-d '{"operator": "gt", "value": 40000}'
cURL (Range-based):
curl -X POST https://api-aircraft-models.vercel.app/api/filter/ceiling \
-H "Content-Type: application/json" \
-d '{"min": 35000, "max": 45000}'
JavaScript (Operator-based):
fetch('https://api-aircraft-models.vercel.app/api/filter/ceiling', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ operator: 'gt', value: 40000 })
})
.then(response => response.json())
.then(data => console.log(data));
JavaScript (Range-based):
fetch('https://api-aircraft-models.vercel.app/api/filter/ceiling', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ min: 35000, max: 45000 })
})
.then(response => response.json())
.then(data => console.log(data));
Python (Operator-based):
import requests
response = requests.post(
'https://api-aircraft-models.vercel.app/api/filter/ceiling',
json={'operator': 'gt', 'value': 40000}
)
print(response.json())
Python (Range-based):
import requests
response = requests.post(
'https://api-aircraft-models.vercel.app/api/filter/ceiling',
json={'min': 35000, 'max': 45000}
)
print(response.json())
C# (Operator-based):
using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
var payload = new { @operator = "gt", value = 40000 };
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api-aircraft-models.vercel.app/api/filter/ceiling", content);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
C# (Range-based):
var payload = new { min = 35000, max = 45000 };
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api-aircraft-models.vercel.app/api/filter/ceiling", content);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
All responses now include detailed engine information automatically joined from our engines database:
{
"IATA_Code": "789",
"ICAO_Code": "B789",
"Model": "Boeing 787-9 Dreamliner",
"Manufacturer": "Boeing",
"Engine_Type": "Turbofan",
"Number_of_Engines": 2,
"Service_Ceiling_ft": 43000,
"Max_Range_nm": 7635,
"Engine": {
"ID": "ENG007",
"Name": "General Electric GEnx-1B",
"Type": "Turbofan",
"Manufacturer": "General Electric",
"Takeoff_Thrust_lbf": 66500,
"Max_Power_HP": null,
"Weight_lb": 12250,
"Dimensions": {
"Length_in": 181,
"Diameter_in": 111
},
"Max_RPM": 2700,
"Bypass_Ratio": 9.6,
"Variants": ["GEnx-1B64", "GEnx-1B67", "GEnx-1B70", "GEnx-1B75"]
}
}
Our API now includes a comprehensive engine database with 157 aircraft engines covering all categories: Turbofans (commercial jets like Boeing 737, A320, 787), Turboprops (regional aircraft like ATR, Dash 8, C-130), Turboshaft (helicopters like Bell, AgustaWestland, Eurocopter), Turbojets (legacy aircraft), and Piston engines (general aviation like Cessna, Piper). Each aircraft response automatically includes detailed engine specifications: thrust/power ratings, weight, physical dimensions, maximum RPM, bypass ratio, and all available engine variants.