Aa APIaa.com ↗
Get real-time American Airlines flight status, gate/terminal info, aircraft amenities, airport search, and country listings via a clean REST API.
What is the Aa API?
The American Airlines API provides 3 endpoints covering live flight status, airport search, and country listings. The get_flight_status endpoint returns per-flight departure and arrival times, gate assignments, terminal numbers, aircraft type, and amenities such as WiFi and power ports for any AA flight number and date. A single flight number can resolve to multiple legs, each with its own status.
curl -X GET 'https://api.parse.bot/scraper/df32c5ac-b62e-4b2d-a725-8d47ade6e261/get_flight_status?date=2026-07-11&carrier=AA&flight_number=100' \ -H 'X-API-Key: $PARSE_API_KEY'
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 aa-com-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.
"""Walkthrough: American Airlines API — flight status, airports, countries."""
from parse_apis.american_airlines_api import (
AmericanAirlines, Carrier, FlightNotFound,
)
client = AmericanAirlines()
# Search airports by city name — limit caps total items fetched.
for airport in client.airports.search(query="Chicago", limit=5):
print(airport.name, airport.code, airport.country_name)
# Get flight status for a known route (may return multiple legs).
flight = client.flights.status(flight_number="100", carrier=Carrier.AA, limit=1).first()
if flight:
print(flight.status, flight.departure.city, "->", flight.arrival.city)
print(flight.aircraft.type, "| WiFi:", flight.amenities.wifi)
print("Gate:", flight.departure.gate, "Terminal:", flight.departure.terminal)
# List countries served by American Airlines.
for country in client.countries.list(limit=5):
print(country.code, country.name)
# Typed error handling for a nonexistent flight.
try:
result = client.flights.status(flight_number="9999", limit=1).first()
except FlightNotFound as exc:
print(f"Flight not found: {exc.flight_number}")
print("exercised: airports.search / flights.status / countries.list / FlightNotFound")Get real-time flight status by flight number and date. Returns detailed information including departure/arrival times, gates, terminals, aircraft type, amenities (WiFi, power ports), and current status (on time, delayed, canceled). A single flight number may resolve to multiple legs. The response always includes a `found` boolean; when false the `flights` array is empty.
| Param | Type | Description |
|---|---|---|
| date | string | Flight date in YYYY-MM-DD format. When omitted, defaults to today's date (UTC). |
| carrier | string | Airline code (e.g., 'AA' for American Airlines) |
| flight_numberrequired | string | Flight number (e.g., '100', '2345') |
{
"type": "object",
"fields": {
"date": "string, date queried in YYYY-MM-DD format",
"found": "boolean, whether any flights matched",
"carrier": "string, airline code used in the query",
"flights": "array of flight objects with status, departure, arrival, aircraft, amenities, codeshare, and leg_status details",
"flight_number": "string, flight number queried"
},
"sample": {
"data": {
"date": "2026-06-11",
"found": true,
"carrier": "AA",
"flights": [
{
"status": "On time",
"arrival": {
"city": "London",
"gate": "",
"state": null,
"country": "United Kingdom",
"terminal": "3",
"actual_time": null,
"airport_code": "LHR",
"baggage_claim": null,
"estimated_time": "2026-06-12T06:25:00.000+01:00",
"scheduled_time": "2026-06-12T06:25:00.000+01:00"
},
"aircraft": {
"code": "78P",
"type": "Boeing 787-9",
"tail_number": "8MK"
},
"amenities": {
"wifi": true,
"fast_wifi": false,
"power_ports": true
},
"codeshare": {
"operated_by": null,
"is_codeshare": false,
"marketing_carrier": "American Airlines"
},
"departure": {
"city": "New York",
"gate": "2",
"state": "NY",
"country": "United States",
"terminal": "8",
"actual_time": null,
"airport_code": "JFK",
"estimated_time": "2026-06-11T18:05:00.000-04:00",
"scheduled_time": "2026-06-11T18:05:00.000-04:00",
"estimated_boarding_time": "2026-06-11T17:15:00.000-04:00",
"scheduled_boarding_time": "2026-06-11T17:15:00.000-04:00"
},
"leg_status": {
"description": "NORMAL",
"arrival_status": "SCHEDULED",
"departure_status": "SCHEDULED"
},
"airline_code": "AA",
"status_color": "GREEN",
"flight_number": "100",
"status_detail": {
"landed": false,
"primary": "ON TIME",
"canceled": false,
"diverted": false,
"in_flight": false,
"secondary": ""
}
}
],
"flight_number": "100"
},
"status": "success"
}
}About the Aa API
Flight Status
The get_flight_status endpoint accepts a flight_number (required), an optional carrier code (e.g. AA), and an optional date in YYYY-MM-DD format — defaulting to today in UTC when omitted. The response includes a flights array where each object carries departure and arrival details (times, gates, terminals), the aircraft type, amenity flags for WiFi and power ports, codeshare information, and per-leg status values such as on time, delayed, or canceled. A single flight number may map to multiple legs, so always iterate the full flights array.
Airport Search
The search_airports endpoint takes a free-text query and returns matching airports with their IATA code, name, state_code, country_code, and country_name. Partial strings work — querying New returns New York area airports alongside other matches. The response includes a count field so callers know the result set size without manually counting the array.
Countries Served
The get_countries endpoint returns the full list of countries where American Airlines operates or has partner service. An optional locale parameter (e.g. en_US) controls the language of country names in the response. Each country object contains a code and a localized name, and the response includes a count field for the total number of countries returned.
The Aa API is a managed, monitored endpoint for aa.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aa.com 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 aa.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display live departure and arrival times with gate numbers in a travel dashboard
- Alert travelers when a specific AA flight is delayed or canceled using the status field
- Build an airport autocomplete field using partial-text queries against search_airports
- Show in-flight amenity availability (WiFi, power ports) for a given flight before booking
- Populate a country selector for itinerary planning using the get_countries response
- Verify terminal and gate assignments for connecting flight logistics apps
- Correlate codeshare flight numbers against operating carrier data returned per leg
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does American Airlines offer an official developer API?+
What does get_flight_status return when a flight number covers multiple legs?+
flights field, with one object per leg. Each leg carries its own departure/arrival details, gate, terminal, aircraft type, amenity flags, codeshare info, and a leg_status value. You should iterate the full array rather than reading only the first element.Does the API return fare prices, seat maps, or booking data?+
How current is the flight status data — is there a known delay or cache window?+
Can I retrieve historical flight status for dates in the past?+
date parameter accepts a YYYY-MM-DD value, but coverage of past dates depends on what aa.com surfaces. Historical data for flights well in the past may not be available. The API currently focuses on present-day and near-term flight status. You can fork it on Parse and revise to target any historical data endpoints that aa.com exposes.