Discover/AOPA API
live

AOPA APIaopa.org

Search US airports, get runways, METARs, TAFs, NOTAMs, and find aviation events near any coordinate via the AOPA.org API.

Endpoint health
verified 21h ago
search_airports
get_airport_overview
search_events
get_airport_runways
get_airport_weather
6/6 passing latest checkself-healing
Endpoints
6
Updated
22d ago

What is the AOPA API?

The AOPA API provides 6 endpoints covering US airport search, detailed airport records, runway specifications, weather (METARs and TAFs), NOTAMs, and nearby aviation events. The get_airport_overview endpoint alone returns over a dozen fields including field elevation, communication frequencies, operational status, and terminal procedures. The search_events endpoint surfaces fly-ins, air shows, and seminars sorted by proximity to any coordinate.

Try it
Search query matching airport ICAO code, FAA code, name, city, or state.
api.parse.bot/scraper/21222cd8-3859-4e17-8616-d5b80527fa75/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/21222cd8-3859-4e17-8616-d5b80527fa75/search_airports?query=Chicago' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace aopa-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""AOPA Airports API — flight planning workflow with bounded calls."""
from parse_apis.aopa_airports_api import AOPA, AirportNotFound

client = AOPA()

# Search for airports near Chicago — limit caps total items returned.
for airport in client.airportsummaries.search(query="Chicago", limit=5):
    print(airport.name, airport.faa_id, airport.location.latitude)

# Drill into one airport's full detail via .first() then .details().
summary = client.airportsummaries.search(query="Orlando", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.name, detail.elev, detail.status, detail.tower_present)

# Construct an airport by key and check its runways.
ohare = client.airport(faa_id="ORD")
for runway in ohare.runways.list(limit=3):
    print(runway.name, runway.length, runway.surface_readable)

# Get live weather for the constructed airport.
wx = ohare.weather()
for metar in wx.metars[:2]:
    print(metar.icao_code, metar.flight_category, metar.temp_c, metar.raw_text[:60])

# Check NOTAMs — empty list is a valid outcome (all-clear).
for notam in ohare.notams.list(limit=3):
    print(notam.notam_id, notam.is_tfr, notam.report[:60] if notam.report else "")

# Typed error handling for a nonexistent airport.
try:
    bad = client.airport(faa_id="ZZZZ")
    bad.weather()
except AirportNotFound as exc:
    print(f"Not found: {exc.airport_id}")

# Search upcoming aviation events near Chicago coordinates.
for event in client.events.search(lat=41.88, lon=-87.63, radius=50, limit=3):
    print(event.title, event.format, event.distance)

print("exercised: airportsummaries.search / details / airport construct / runways.list / weather / notams.list / events.search")
All endpoints · 6 totalmissing one? ·

Full-text search over US airports by ICAO code, FAA code, name, city, or state. Returns lightweight summaries with identifiers and coordinates. A single query string matches across all fields; no field-specific filtering. Results are not paginated — the server returns all matches (typically 5–20 for a city name).

Input
ParamTypeDescription
queryrequiredstringSearch query matching airport ICAO code, FAA code, name, city, or state.
Response
{
  "type": "object",
  "fields": {
    "airports": "array of airport summary objects with airportId, faaId, icaoId, name, city, stateProvince, country, airportUsage, location"
  }
}

About the AOPA API

Airport Search and Overview

The search_airports endpoint accepts a single query string matched against ICAO code, FAA code, airport name, city, and state simultaneously — no field-specific filtering is available. Results return lightweight summaries including airportId, faaId, icaoId, name, city, stateProvince, country, airportUsage, and location coordinates. For a full record, pass the FAA or ICAO identifier to get_airport_overview, which returns a heavy 50–150 KB response containing field elevation (elev), operational status, NOTAM arrays (notaMsUS), and associated metadata.

Runways and Weather

The get_airport_runways endpoint returns each landing surface at an airport — runways and helipads — with length, width, materialType1, condition, edgeLighting, and per-end takeoff/landing area details such as ILS type, obstacle notes, and gradient. Weather is available via get_airport_weather, which accepts either an airport_id (auto-resolving coordinates) or explicit lat/lon values. It searches within 25 nm for METARs and 50 nm for TAFs, returning fields like flight_category, wind_speed_kt, visibility_statute_mi, and full raw_text for both products.

NOTAMs and Events

The get_airport_notams endpoint combines US domestic and international NOTAMs into a single array, each entry carrying effectiveDate, expirationDate, rawData, a decoded report, and an isTfr flag marking Temporary Flight Restrictions. For event discovery, the search_events POST endpoint accepts lat, lon, and an optional radius in miles, returning aviation events with startDateTimeUTC, endDateTimeUTC, format, cost, and proximity dist. Webinar or online events may appear with null coordinates and null distance.

Reliability & maintenanceVerified

The AOPA API is a managed, monitored endpoint for aopa.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aopa.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official aopa.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
21h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a preflight briefing tool that pulls METARs, TAFs, and NOTAMs for any airport in one workflow
  • Display runway dimensions and surface conditions on a pilot's airport information app
  • Alert pilots to active TFRs at a destination by filtering NOTAMs where isTfr is true
  • Find fly-ins and air shows within a custom radius of a user's home airport coordinate
  • Populate an aviation mapping tool with airport identifiers, coordinates, and operational status
  • Check flight_category across multiple nearby METARs to assess area VFR/IFR conditions
  • Cross-reference runway weight-bearing capacity data for flight planning with specific aircraft
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does AOPA offer an official public developer API?+
AOPA does not publish a documented public developer API or issue API keys to third parties. The data accessible here is available on the AOPA website but is not offered as a supported developer product.
What does `get_airport_weather` return, and how wide is its search radius?+
It returns arrays of METAR and TAF objects for weather stations near the requested point. METARs are sourced within 25 nautical miles; TAFs within 50 nautical miles. Each METAR includes icao_code, raw_text, temp_c, wind_speed_kt, visibility_statute_mi, flight_category, and observation_time. Each TAF includes raw_text, valid_time_from, valid_time_to, and a forecasts array.
Does the search_airports endpoint support pagination or field-specific filtering?+
No — the endpoint returns all matches for a query in a single response with no pagination. The query parameter matches across ICAO code, FAA code, name, city, and state simultaneously; you cannot restrict the match to a single field. If you need server-side field filtering or paginated results, you can fork this API on Parse and revise it to add that logic.
Does this API cover international airports outside the US?+
Coverage is centered on US airports. The search_airports and detail endpoints reference US FAA identifiers and domestic NOTAM sources. International airports are not currently covered. You can fork this API on Parse and revise it to add endpoints targeting international data sources.
Are historical METARs or archived NOTAMs available?+
Not currently. get_airport_weather returns current observations and forecasts, and get_airport_notams returns only active NOTAMs with future expiration dates. Historical weather or expired NOTAM archives are not exposed. You can fork this API on Parse and revise it to point at a historical METAR archive such as the NOAA Aviation Weather Center's historical data service.
Page content last updated . Spec covers 6 endpoints from aopa.org.
Related APIs in TravelSee all →
nasstatus.faa.gov API
Monitor real-time FAA airspace conditions to check airport delays, closures, ground stops, and active events affecting flights. Track forecasts, reroutes, and flow program changes to stay informed about current and upcoming disruptions across the National Airspace System.
aa.com API
Search for real-time American Airlines flight information including departure/arrival times, gates, terminals, and aircraft details, plus look up airports and countries to plan your travel. Get live flight status updates and discover available amenities for your journey.
flightradar.com API
Track flights in real-time, search for specific flight details, and look up information about airports and airlines worldwide. Monitor nearby aircraft by location, identify which airlines operate specific routes, and get comprehensive aviation data all in one place.
flightradar24.com API
Track live flights worldwide, view real-time airport schedules, and search for specific flights with detailed information about aircraft and routes. Monitor the most tracked flights and get comprehensive airport details including gates, terminals, and operational status.
airnav.com API
Find current aviation fuel prices at any US airport, including pricing for 100LL, Jet A, UL94, SAF, and Mogas from Fixed Base Operators along with their service type and contact details. Compare fuel availability and costs across multiple FBOs at your destination airport to plan your flight operations.
adsbexchange.com API
Track live aircraft worldwide by location, flight number, registration, or type to monitor real-time positions, altitudes, and flight identifiers. Filter results by geographic areas, airports, countries, or custom radius searches to find exactly the flights you're interested in.
wunderground.com API
Access real-time weather conditions, multi-day forecasts, and detailed historical weather data from thousands of personal and airport weather stations worldwide. Search and retrieve current observations, hourly history, and monthly records to power your weather applications and analysis.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.