Airlines · Checked October 25, 2026

United Airlines API for flight status

United does not publish a self-serve API for flight status. What it offers developers is NDC: booking and servicing for travel agencies and corporate travel, reached through a GDS, an aggregator or a direct connection. If you need to know whether UA1 leaves on time, which gate it uses or when it lands, that comes from a flight status provider. FlightByte answers for any UA flight number on any date in its live window, and pushes every change to you.

In thirty seconds

United
FlightByte
Flight status API
Not offered
Developer access is NDC, for booking and servicing through agencies.
One GET
/v1/flights/UA/1/2026-10-25, any UA number in the live window.
Who hears about a change
The traveller
United's app and alerts serve the person flying, not your system.
Your backend
A signed POST for each gate, delay, departure, arrival and belt change.
United Express
Sold as UA
Flown by regional partners such as SkyWest, Republic and Mesa.
Same UA number
operatedBy names the airline flying it.
Codeshares
UA numbers on partner aircraft
Star Alliance and joint-venture flights carry UA numbers.
Resolved to one aircraft
UA8841 returns Lufthansa's LH400, with the same flight ID.
Getting access
Agency, aggregator or contract
NDC through a GDS or an approved aggregator, or a direct connection on request.
A key from the dashboard
3 watched flights a month free; Hobby is $9 for 100.
Documentation
None for status
Endpoints reverse-engineered from the app are undocumented and unlicensed.
REST, OpenAPI, MCP
Typed events, an OpenAPI document and an MCP server for AI assistants.

United’s developer offer as described on united.business, checked October 25, 2026. If something here is out of date, tell us and we will fix it.

What United offers developers

A booking channel for agencies and corporate travel, not a status feed.

United’s developer-facing programme is New Distribution Capability: United fares and bookings, and the changes to them, for travel agencies and corporate travel programmes. A company connects through its travel agency, a GDS or an approved aggregator, or asks United for a direct connection, which United itself describes as the longer route that needs real IT resources. Corporate programmes can also receive booking changes through their duty-of-care providers. None of it is a flight status API you can sign up for.

Search for a United API and you will also find endpoints reverse-engineered from United’s mobile app, written up on GitHub and Reddit. They work until they don’t: nothing documents them, any app release can change them, and nothing licenses them for your product.

Looking up a United flight

Carrier, number and the local departure date. This is UA1 as FlightByte returned it on October 25, 2026, trimmed.

GET https://api.flightbyte.dev/v1/flights/UA/1/2026-10-25
x-api-key: $FLIGHTBYTE_KEY
{
  "flightKey": "UA1:2026-10-25@SFO-SIN",
  "carrier": { "iata": "UA", "icao": "UAL", "name": "United Airlines" },
  "departure": {
    "airport": { "iata": "SFO", "timezone": "America/Los_Angeles" },
    "terminal": "INTL",
    "gate": "G1",
    "times": {
      "scheduledGate": {
        "utc": "2026-10-26T05:40:00.000Z",
        "local": "2026-10-25T22:40:00.000"
      }
    },
    "delayMinutes": 0
  },
  "arrival": {
    "airport": { "iata": "SIN", "timezone": "Asia/Singapore" },
    "terminal": "2",
    "times": {
      "scheduledGate": {
        "utc": "2026-10-26T23:00:00.000Z",
        "local": "2026-10-27T07:00:00.000"
      }
    }
  },
  "status": {
    "label": "Scheduled",
    "phase": "scheduled",
    "delayed": false
  },
  "equipment": {
    "tailNumber": "N61101",
    "iata": "789",
    "name": "Boeing 787-9"
  },
  "timeline": [
    {
      "title": "Time Adjustment",
      "source": "Airline",
      "events": [
        "Departure Gate changed to G1",
        "Tail Number changed to N61101"
      ]
    }
  ]
}

The date is where the flight leaves

UA1 leaves San Francisco at 22:40 on the 25th and reaches Singapore at 07:00 on the 27th, local time. It is still the flight of the 25th: the date is always the local departure date at the origin.

Both clocks

Every time comes in UTC and in the airport's local time, with the timezone. A driver in Singapore and a server in Virginia read the same field.

United's own record

The timeline is the airline's history of changes for this leg, newest first: the gate assignment, the tail swap, each new estimate.

United Express and codeshares

A UA number is not always a United aircraft. Look up the number the passenger holds; the snapshot says who flies it.

United Express flights are sold as UA and flown by regional airlines: SkyWest, Republic, Mesa, GoJet and CommuteAir among them. In the other direction, UA numbers ride on partner aircraft across Star Alliance and United’s joint ventures. On October 25, 2026, UA8841 was Lufthansa’s LH400 from Frankfurt to New York:

GET https://api.flightbyte.dev/v1/flights/UA/8841/2026-10-25
x-api-key: $FLIGHTBYTE_KEY
{
  "flightKey": "UA8841:2026-10-25@FRA-JFK",
  "providerFlightId": "1416161131",
  "carrier": { "iata": "UA", "name": "United Airlines" },
  "operatedBy": "Operated by Lufthansa 400",
  "codeshares": [
    { "carrier": "ET", "flightNumber": "1610" },
    { "carrier": "NZ", "flightNumber": "4226" },
    { "carrier": "SN", "flightNumber": "7230" },
    { "carrier": "TG", "flightNumber": "7722" }
  ],
  "departure": {
    "airport": { "iata": "FRA" },
    "terminal": "1",
    "gate": "Z19"
  },
  "equipment": { "tailNumber": "D-AIXA", "name": "Airbus A350-900" }
}

Looking up LH400 on the same date returns the same providerFlightId and lists UA 8841 among its codeshares. Two numbers, one aircraft: keep one watch for both. The guide From a booking email to a watched flight shows the alias table that stops two passengers on one aircraft becoming two subscriptions, and Codeshare flight explains the operating and marketing carrier.

Being told instead of asking

Subscribe once, up to seven days ahead, and the changes come to you as signed webhooks.

POST https://api.flightbyte.dev/v1/subscriptions
x-api-key: $FLIGHTBYTE_KEY

{
  "carrier": "UA",
  "flightNumber": "1",
  "date": "2026-10-25",
  "origin": "SFO",
  "webhookUrl": "https://yourapp.com/hooks/flights",
  "delayThresholdMinutes": 15,
  "events": ["departure.gate.changed", "delay.increased", "delay.decreased",
             "flight.departed", "flight.arrived", "arrival.baggage.changed",
             "flight.cancelled", "flight.diverted"],
  "metadata": { "bookingId": "BK-1042" }
}
Change types a United trip usually needs
EventWhen it fires
departure.gate.changedThe gate moved. At a hub the first assignment is often not the last.
delay.increasedThe gate delay grew past your threshold; delay.decreased when it recovers.
flight.departedPushed back from the gate.
flight.arrivedAt the arrival gate; status.phase says landed before that.
arrival.baggage.changedThe belt for checked bags, usually set after the aircraft reaches the gate.
flight.cancelledCancelled; flight.reinstated if it comes back.
flight.divertedLanding somewhere other than planned.

origin picks the leg when a number flies more than one that day. The quickstart has a receiver in Node and Python; Webhooks lists all 23 change types.

Connections through United's hubs

Where a late first leg becomes a problem on the second.

Most United itineraries pass through a hub: Chicago O’Hare, Denver, Houston Intercontinental, Newark, San Francisco, Washington Dulles or Los Angeles, and Guam in the Pacific. A connection is not a property of either flight; it lives in the gap between them. Watch both legs and compute the gap yourself: Missed connection alerts shows how, with a threshold per airport and the rules that keep it quiet until it matters.

What it costs

You pay per flight you watch. Lookups and deliveries are included.

Free: 3 watched flights a month
$0
Hobby: 100 watched flights
$9 / month
Starter: 500 watched flights
$19 / month

Every feature is on every plan, the free one included, and commercial use is allowed. Larger plans are on the pricing page.

Questions people ask about a United API

Does United Airlines have a public API?
Not for flight status. What United offers developers is NDC: booking and servicing United content for travel agencies and corporate travel, through a GDS, an approved aggregator or a direct connection United agrees to. There is no self-serve key that returns the status of a UA flight.
How do I get United flight status in my app?
From a flight status provider that covers United. With FlightByte it is one request, GET /v1/flights/UA/1/2026-10-25 with an x-api-key header, for any UA number in the live window: a few days back to a couple of days ahead. To be told about changes instead of asking, subscribe to the flight up to seven days ahead.
Can I track United Express flights?
Yes, by their UA number. United Express flights are sold as UA and flown by regional airlines; the snapshot's operatedBy names the airline flying the leg when it is not United, and the times, gates and events work the same as on mainline flights.
Why does a UA flight number show a Lufthansa aircraft?
Because it is a codeshare. United sells seats on partner flights under its own numbers: on October 25, 2026, UA8841 was Lufthansa's LH400 from Frankfurt to New York JFK. A lookup of either number returns the same aircraft with the same flight ID, so keep one watch for both.
Can I get notified when a United flight lands?
Yes. Subscribe to the flight with a webhook URL and the events you want, such as flight.arrived and arrival.baggage.changed. FlightByte sends a signed POST when each one happens, retries if your endpoint is down, and ends the subscription itself once the flight is in.
Can I use the endpoints from the United app instead?
They are not an API anyone offers you. Reverse-engineered app endpoints are undocumented, can change with any app release, and come with no licence to build a product on. A documented API with a free tier costs less than the outage when they break.
Get started

Watch a United flight tonight.

Three flights a month free, a hundred for nine dollars. Every gate, delay and landing, pushed to you and signed.

A free key in a minute, no card. Paid plans are paid by card in the dashboard.