United APIunited.com ↗
Search United Airlines flights, check real-time flight status, retrieve seat maps, and compare fare options via 5 structured API endpoints.
What is the United API?
The United Airlines API exposes 5 endpoints covering flight search, real-time status, seat maps, fare options, and airport autocomplete against united.com data. The search_flights endpoint streams back fare family columns, cabin codes, and per-flight booking hashes for one-way or roundtrip itineraries. get_seat_map returns row-level seat availability and cabin layout details. Together these endpoints cover the core booking research workflow without requiring a browser session.
curl -X POST 'https://api.parse.bot/scraper/5572e8f3-c457-4d99-86e9-b81c39820c26/search_flights' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"origin": "EWR",
"destination": "SFO",
"departure_date": "2026-07-22"
}'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 united-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.
from parse_apis.united_airlines_api import United, CabinClass, FlightNotFound
united = United()
# Search for airports by city name
for airport in united.airports.search(query="San Francisco"):
print(airport.iata_code, airport.name, airport.state_province_code)
# Search for flights using the CabinClass enum
for flight in united.flightoptions.search(
origin="EWR",
destination="SFO",
departure_date="2026-06-24",
cabin_class=CabinClass.ECONOMY,
):
print(flight.flight_number, flight.depart_date_time, flight.travel_minutes_total, flight.hash)
# Get flight status with error handling
try:
status = united.flightstatuses.get(flight_number="1960", date="2026-06-10")
print(status.flight_number, status.origination_date)
except FlightNotFound as e:
print(e.flight_number, e.date)
# Get seat map for a specific flight
seat_map = united.seatmaps.get(
origin="EWR",
destination="SFO",
flight_number="1960",
departure_date="2026-06-24",
departure_time="07:00",
)
for cabin in seat_map.cabins:
print(cabin.cabin_brand, cabin.available_seats, cabin.total_seats)
Search for available United Airlines flights between two airports. Returns a cart_id for session continuity, a list of flight options with per-cabin pricing, and fare family metadata. Each flight option includes a hash identifier for downstream fare selection via get_fare_options. All results arrive in one response (no pagination needed).
| Param | Type | Description |
|---|---|---|
| originrequired | string | Origin airport IATA code (e.g. EWR, LAX, ORD) |
| trip_type | integer | 1 for one-way, 2 for roundtrip |
| num_adults | integer | Number of adult passengers |
| cabin_class | string | Cabin class preference |
| destinationrequired | string | Destination airport IATA code (e.g. SFO, JFK, ORD) |
| return_date | string | Return date in YYYY-MM-DD format, required when trip_type is 2 |
| departure_daterequired | string | Departure date in YYYY-MM-DD format |
| flexible_dates | boolean | Search for refundable fares only |
| book_with_miles | boolean | Search for award travel with miles |
{
"type": "object",
"fields": {
"cart_id": "string, session identifier for use with get_fare_options",
"columns": "array of fare column metadata",
"flights": "array of flight option objects with prices and booking hashes",
"fare_families": "array of fare family definitions"
},
"sample": {
"data": {
"cart_id": "F8B92F8B-02DA-4F1E-A664-10B34AC9BBD5",
"columns": [
{
"title": "Economy",
"fareFamily": "ECO-BASIC"
}
],
"flights": [
{
"hash": "175-2115-UA",
"origin": "EWR",
"products": [
{
"prices": [
{
"amount": 389,
"currency": "USD"
}
],
"productType": "ECO-BASIC"
}
],
"destination": "SFO",
"flightNumber": "2115",
"departDateTime": "2026-06-24 06:00",
"marketingCarrier": "UA",
"operatingCarrier": "UA",
"travelMinutesTotal": 369,
"destinationDateTime": "2026-06-24 09:09",
"equipmentDisclosures": {
"equipmentType": "752"
}
}
],
"fare_families": [
{
"name": "ECO-BASIC",
"productType": "Basic Economy"
}
]
},
"status": "success"
}
}About the United API
Flight Search and Fare Data
search_flights accepts required origin and destination IATA codes plus a departure_date, and optionally trip_type (1 = one-way, 2 = roundtrip), num_adults, cabin_class (economy, business, or first), and return_date for roundtrips. Results arrive as SSE-streamed chunks containing a cartId in the meta chunk, fare family column definitions, flight options with prices, and a hash per flight option. That hash is required by get_fare_options to retrieve detailed fare quotes while the server-side cart session remains active.
Seat Maps and Flight Status
get_seat_map takes origin, destination, flight_number, and departure_date, with an optional departure_time in HH:mm format that should match the actual scheduled time — mismatches can return empty cabin data. The response includes a cabins array with cabinType, cabinBrand, layout, rowCount, availableSeats, totalSeats, and a rows array with per-seat detail, plus flightInfo and aircraftInfo (tail number and aircraft type code).
get_flight_status returns operational data for a given flight_number and date. The date window is limited to roughly ±2 days from the current date. The response includes flightLegs with OperationalFlightSegments covering departure and arrival times, gates, terminals, and equipment. This is useful for monitoring active flights but not for historical lookups.
Airport Autocomplete
search_airport_autocomplete accepts a free-text query (city name or IATA code) and returns an airports array. Each airport object includes IATACode, Name, IATACityCode, IATACountryCode, and StateProvince. This is the right starting point when an end user's input is a city name rather than a known airport code.
The United API is a managed, monitored endpoint for united.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when united.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 united.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?+
- Compare economy vs. business fare families across multiple United flights for a given city pair and date.
- Display a live departure board for United flights at a specific airport using get_flight_status.
- Render an interactive seat map showing available and occupied seats before booking a United flight.
- Build a fare-tracking tool that polls search_flights daily and records price changes via the fare family columns.
- Auto-suggest valid IATA codes in a trip-planning UI using search_airport_autocomplete city-name queries.
- Retrieve booking hashes and cart IDs from search_flights to feed into get_fare_options for full fare breakdowns.
- Monitor gate and terminal assignments for connecting flights using the flightLegs data in get_flight_status.
| 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.