Free REST API for aviation data. 2,200+ ATPL exam questions, 500+ airports, 500+ glossary terms. No API key required.
Base URL: https://rotatepilot.com/api/v1
| Method | Endpoint | Description |
|---|---|---|
| GET | /question |
Random ATPL exam question(s) |
| GET | /airport/{code} |
Airport by ICAO or IATA code |
| GET | /glossary/{term} |
Aviation term definition |
| GET | /stats |
Platform statistics |
# Get a random ATPL question
curl https://rotatepilot.com/api/v1/question
# Get 3 meteorology questions
curl "https://rotatepilot.com/api/v1/question?subject=meteorology&count=3"
# Look up an airport
curl https://rotatepilot.com/api/v1/airport/KJFK
# Look up a term
curl https://rotatepilot.com/api/v1/glossary/tcas
# Get platform stats
curl https://rotatepilot.com/api/v1/statsconst res = await fetch("https://rotatepilot.com/api/v1/question?subject=meteorology");
const data = await res.json();
console.log(data.questions[0].question);
// "The three stages of a thunderstorm are:"import requests
data = requests.get("https://rotatepilot.com/api/v1/question?count=3").json()
for q in data["questions"]:
print(q["question"])const https = require("https");
https.get("https://rotatepilot.com/api/v1/airport/EGLL", (res) => {
let data = "";
res.on("data", (chunk) => (data += chunk));
res.on("end", () => {
const airport = JSON.parse(data);
console.log(`${airport.name} - ${airport.city}, ${airport.country}`);
// "Heathrow Airport - London, United Kingdom"
});
});Returns random ATPL exam questions with multiple-choice options, correct answer, and explanation.
Parameters:
| Param | Type | Default | Description |
|---|---|---|---|
subject |
string | (all) | Filter by ATPL subject |
count |
number | 1 | Number of questions (1-5) |
Available subjects: air-law, airframes-systems, communications, flight-planning, general-navigation, human-performance, instruments, mass-balance, meteorology, operational-procedures, performance, principles-of-flight, radio-navigation
Response:
{
"count": 1,
"questions": [
{
"id": "abc123",
"subject": "meteorology",
"authority": "EASA",
"question": "The three stages of a thunderstorm are:",
"options": [
"Forming, active, dissipating",
"Initial, middle, final",
"Cumulus, mature, dissipating",
"Growth, peak, decay"
],
"correctAnswer": 2,
"explanation": "The three stages are: cumulus (developing), mature (heaviest precipitation), and dissipating (downdrafts dominate).",
"difficulty": 2
}
],
"attribution": {
"source": "Rotate Pilot",
"url": "https://rotatepilot.com"
}
}Look up airport by ICAO (KJFK) or IATA (JFK) code.
Response:
{
"icao": "KJFK",
"iata": "JFK",
"name": "John F. Kennedy International Airport",
"city": "New York",
"country": "United States",
"region": "North America",
"coordinates": { "lat": 40.6413, "lon": -73.7781 },
"elevation": 13,
"runways": 4,
"hasTraining": false,
"description": "Major international gateway..."
}Look up aviation terminology by slug, term name, or abbreviation.
Response:
{
"slug": "tcas",
"term": "Traffic Collision Avoidance System",
"abbreviation": "TCAS",
"category": "instruments",
"definition": "An airborne system that monitors transponder signals...",
"related": ["transponder", "ra", "ta"],
"url": "https://rotatepilot.com/glossary/tcas"
}Returns current platform statistics.
Response:
{
"platform": "Rotate Pilot",
"data": {
"questions": 2204,
"courses": 13,
"flashcards": 500,
"airports": 500,
"glossaryTerms": 500,
"subjects": 13,
"languages": 16
}
}- 60 requests per minute per IP address
- No authentication required
- CORS enabled for all origins
- Free for any use, including commercial
- Please include attribution: "Powered by Rotate Pilot"
- No guaranteed SLA (99%+ uptime on Vercel Edge)
- Free METAR Decoder - Decode aviation weather reports instantly
- Embeddable Quiz Widget - Add a pilot quiz to any website with one script tag
- ATPL Question Bank - 2,200+ free practice questions
- Pilot Salary Calculator - Compare pay across 40+ airlines
- Training Cost Estimator - Personalized cost breakdown
MIT - Free to use, modify, and distribute.