Skip to main content
Free Β· No API Key Β· CORS Enabled

Free Aviation REST API

3,500+ ATPL exam questions, 500+ airports, 500+ glossary terms. Build aviation apps, quizzes, and study tools. No signup required.

Quick Start

curl
curl https://rotatepilot.com/api/v1/question?subject=meteorology&count=2
JavaScript
const res = await fetch("https://rotatepilot.com/api/v1/question?subject=meteorology");
const data = await res.json();
console.log(data.questions[0].question);
Python
import requests
data = requests.get("https://rotatepilot.com/api/v1/question?count=3").json()
for q in data["questions"]:
    print(q["question"])

API Endpoints

Base URL: https://rotatepilot.com/api/v1

GET/metar

Get the latest METAR for any ICAO airport, plus a derived flight category (VFR/MVFR/IFR/LIFR). Adds optional TAF when ?taf=1.

Parameters

icaostringICAO 3-4 char code (e.g. KJFK, EGLL)
taf0|1Set to 1 to also include the latest TAF
Request
curl "https://rotatepilot.com/api/v1/metar?icao=KJFK&taf=1"
Response
{
  "icao": "KJFK",
  "raw": "KJFK 121856Z 31015G25KT 10SM FEW250 ...",
  "category": "VFR",
  "ceilingFt": null,
  "windDir": 310,
  "windSpeedKt": 15,
  "windGustKt": 25,
  "temperatureC": -2,
  "dewpointC": -17,
  "altimeterInHg": 30.42,
  "taf": { "raw": "KJFK 121720Z 1218/1324 ..." }
}
GET/quiz-of-day

Returns a deterministic daily ATPL/PPL question β€” the same question for every visitor on a given UTC day. Cached at the edge for 1h.

Request
curl "https://rotatepilot.com/api/v1/quiz-of-day"
Response
{
  "date": "2026-05-05",
  "question": {
    "id": "abc123",
    "subject": "meteorology",
    "authority": "FAA",
    "question": "Which weather phenomenon...",
    "options": [...],
    "correctAnswer": 2,
    "explanation": "..."
  }
}
GET/aircraft/{slug}

Static aircraft type lookup. Returns manufacturer, performance numbers (range, cruise speed, ceiling, MTOW), and whether a type rating is required.

Parameters

slugstringSlug like cessna-172-skyhawk, airbus-a320neo
Request
curl "https://rotatepilot.com/api/v1/aircraft/cessna-172-skyhawk"
Response
{
  "slug": "cessna-172-skyhawk",
  "name": "Cessna 172 Skyhawk",
  "manufacturer": "Cessna",
  "engines": 1,
  "rangeNm": 640,
  "cruiseSpeedKt": 124,
  "ceilingFt": 14000,
  "mtowKg": 1111,
  "typeRatingRequired": false
}
GET/quote

Returns a deterministic pilot quote of the day. Cached for 1h.

Request
curl "https://rotatepilot.com/api/v1/quote"
Response
{
  "date": "2026-05-05",
  "text": "Aviate, navigate, communicate.",
  "author": "Pilot's Universal Mantra"
}
GET/question

Get random ATPL exam questions. Each includes the question, multiple-choice options, correct answer, and a detailed explanation.

Parameters

subjectstring?Filter by ATPL subject (e.g. meteorology, air-law)
countnumber?Number of questions (1-5, default: 1)
Request
curl "https://rotatepilot.com/api/v1/question?subject=air-law&count=2"
Response
{
  "count": 2,
  "questions": [
    {
      "id": "abc123",
      "subject": "air-law",
      "authority": "FAA",
      "question": "What is the minimum rest period...",
      "options": [
        {"label": "A", "text": "8 hours"},
        {"label": "B", "text": "10 hours"},
        {"label": "C", "text": "12 hours"},
        {"label": "D", "text": "14 hours"}
      ],
      "correctAnswer": 1,
      "explanation": "According to FAR 91...."
    }
  ],
  "attribution": {
    "source": "Rotate Pilot",
    "url": "https://rotatepilot.com"
  }
}
GET/airport/{code}

Look up airport by ICAO or IATA code. Returns location, elevation, runway count, and whether the airport has flight training facilities.

Parameters

codestringICAO (KJFK) or IATA (JFK) code
Request
curl "https://rotatepilot.com/api/v1/airport/KJFK"
Response
{
  "icao": "KJFK",
  "iata": "JFK",
  "name": "John F. Kennedy International Airport",
  "city": "New York",
  "country": "United States",
  "coordinates": {"lat": 40.6413, "lon": -73.7781},
  "elevation": 13,
  "runways": 4,
  "hasTraining": false,
  "description": "Major international gateway..."
}
GET/glossary/{term}

Look up aviation terminology by slug, term name, or abbreviation. Returns definition, category, and related terms.

Parameters

termstringSlug (angle-of-attack), name, or abbreviation (aoa)
Request
curl "https://rotatepilot.com/api/v1/glossary/tcas"
Response
{
  "slug": "tcas",
  "term": "TCAS",
  "abbreviation": "TCAS",
  "category": "avionics",
  "definition": "Traffic Collision Avoidance System...",
  "related": ["transponder", "ads-b"],
  "url": "https://rotatepilot.com/glossary/tcas"
}
GET/stats

Get current platform statistics including total questions, airports, glossary terms, and available subjects.

Request
curl "https://rotatepilot.com/api/v1/stats"
Response
{
  "platform": "Rotate Pilot",
  "data": {
    "questions": 2204,
    "courses": 13,
    "flashcards": 500,
    "airports": 500,
    "glossaryTerms": 500,
    "subjects": 13,
    "languages": 16
  }
}

Available Subjects

air-lawairframes-systemscommunicationsflight-planninggeneral-navigationhuman-performanceinstrumentsmass-balancemeteorologyoperational-proceduresperformanceprinciples-of-flightradio-navigation

What You Can Build

Quiz Apps

Build aviation quiz apps for iOS, Android, or web using our question bank.

Study Bots

Create Telegram, Discord, or WhatsApp bots that send daily pilot questions.

Flashcard Tools

Generate flashcard decks for Anki or custom spaced repetition apps.

Flight Planners

Use airport data for flight planning tools and airport briefing apps.

Training Platforms

Integrate real exam questions into your flight school LMS or training portal.

Research

Access structured aviation terminology data for academic or NLP projects.

Rate Limits & Terms

Rate limits

60 requests per minute per IP. Generous enough for any app.

Authentication

None required. No API keys, no signup, no tokens.

CORS

Enabled for all origins. Call from any frontend.

Attribution

Please include "Powered by Rotate Pilot" with a link to rotatepilot.com in your app.

Commercial use

Free for any use including commercial. Attribution required.

SLA

Best-effort. 99%+ uptime on Vercel Edge. No guaranteed SLA.

Prefer Drop-In Widgets?

10 ready-made iframes β€” METAR, weight & balance, runway analysis, daily quiz, and more. Live builder lets you set theme, size, and defaults. Free, attribution-only.