# FlightAware API

> FlightAware returns flight status, airport flight boards, and delay data as a workflow and API.

FlightAware checks an airline flight number and departure date for flight status, times, route, and aircraft details. FlightAware lists airport arrivals or departures using an airport name, city, code, or link, with an optional direction and result count. FlightAware checks airport delays, cancellations, weather, and reported ground programs using an airport name or code.

- Page: https://fous.com/workflows/flightaware
- Handle: `@flightaware`
- Category: [Travel](https://fous.com/workflows/category/travel)
- Source website: https://flightaware.com
- Last verified: Sep 29, 2026
- Fous is not affiliated with FlightAware.

## Methods

### Check flight status

Operation `check_flight_status`, version 1. 1 credit per call.

Check the public status and flight details for an airline flight number on a departure date. Dates outside the displayed flight history may not be available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2026-09-27"` | Departure date at the departure airport, for example 2026-09-28. Defaults to today at that airport. |
| `flight` | string | yes | `"BA 283"` | Airline name or code and flight number, for example United 1234 or BA 283. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "flight"
  ],
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Departure date at the departure airport, for example 2026-09-28. Defaults to today at that airport.",
      "examples": [
        "2026-09-27",
        "2026-09-28"
      ]
    },
    "flight": {
      "type": "string",
      "description": "Airline name or code and flight number, for example United 1234 or BA 283.",
      "examples": [
        "BA 283",
        "UA1234",
        "United 1234"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2026-09-27",
      "flight": "BA 283"
    },
    {
      "flight": "UA1234"
    },
    {
      "date": "2026-09-28",
      "flight": "United 1234"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `status` | string or null | `"Landed"` | Flight status in plain words. |
| `airline_name` | string or null | `"British Airways"` | Airline name. |
| `arrival_gate` | string or null | `"157"` | Arrival gate. |
| `aircraft_type` | string or null | `"Boeing 777-300ER"` | Aircraft model in words. |
| `baggage_claim` | string or null |  | Baggage claim, if displayed. |
| `flight_number` | string | `"BA283"` | Airline flight number, for example UA1234. |
| `actual_arrival` | string or null | `"2026-09-27T14:12:00-07:00"` | Actual gate arrival time, with airport local offset. |
| `departure_gate` | string or null | `"C65"` | Departure gate. |
| `actual_departure` | string or null | `"2026-09-27T10:45:00+01:00"` | Actual gate departure time, with airport local offset. |
| `arrival_terminal` | string or null | `"B"` | Arrival terminal. |
| `flightaware_link` | string | `"https://www.flightaware.com/live/flight/BAW283/history/20260927/0940Z/EGLL/KLAX"` | FlightAware page for this flight. |
| `estimated_arrival` | string or null | `"2026-09-27T14:10:00-07:00"` | Estimated gate arrival time, with airport local offset. |
| `scheduled_arrival` | string or null | `"2026-09-27T13:50:00-07:00"` | Scheduled gate arrival time, with airport local offset. |
| `departure_terminal` | string or null | `"5"` | Departure terminal. |
| `estimated_departure` | string or null | `"2026-09-27T10:40:00+01:00"` | Estimated gate departure time, with airport local offset. |
| `origin_airport_code` | string or null | `"LHR"` | Departure airport IATA code, or ICAO code if IATA is unavailable. |
| `origin_airport_name` | string or null | `"London Heathrow"` | Departure airport name. |
| `scheduled_departure` | string or null | `"2026-09-27T10:30:00+01:00"` | Scheduled gate departure time, with airport local offset. |
| `route_distance_miles` | number or null | `4999` | Route distance in miles. |
| `aircraft_registration` | string or null |  | Aircraft registration, if displayed. |
| `arrival_delay_minutes` | integer or null | `22` | Minutes late at arrival; negative means early. |
| `flightaware_flight_id` | string or null | `"BAW283-1790315269-airline-1943p:0"` | FlightAware flight ID. |
| `departure_delay_minutes` | integer or null | `15` | Minutes late at departure; negative means early. |
| `destination_airport_code` | string or null | `"LAX"` | Arrival airport IATA code, or ICAO code if IATA is unavailable. |
| `destination_airport_name` | string or null | `"Los Angeles Intl"` | Arrival airport name. |

**Example input**

```json
{
  "date": "2026-09-27",
  "flight": "BA 283"
}
```

**Example output**

```json
{
  "status": "Landed",
  "airline_name": "British Airways",
  "arrival_gate": "157",
  "aircraft_type": "Boeing 777-300ER",
  "baggage_claim": null,
  "flight_number": "BA283",
  "actual_arrival": "2026-09-27T14:12:00-07:00",
  "departure_gate": "C65",
  "actual_departure": "2026-09-27T10:45:00+01:00",
  "arrival_terminal": "B",
  "flightaware_link": "https://www.flightaware.com/live/flight/BAW283/history/20260927/0940Z/EGLL/KLAX",
  "estimated_arrival": "2026-09-27T14:10:00-07:00",
  "scheduled_arrival": "2026-09-27T13:50:00-07:00",
  "departure_terminal": "5",
  "estimated_departure": "2026-09-27T10:40:00+01:00",
  "origin_airport_code": "LHR",
  "origin_airport_name": "London Heathrow",
  "scheduled_departure": "2026-09-27T10:30:00+01:00",
  "route_distance_miles": 4999,
  "aircraft_registration": null,
  "arrival_delay_minutes": 22,
  "flightaware_flight_id": "BAW283-1790315269-airline-1943p:0",
  "departure_delay_minutes": 15,
  "destination_airport_code": "LAX",
  "destination_airport_name": "Los Angeles Intl"
}
```

### Get airport delays

Operation `get_airport_delays`, version 1. 1 credit per call.

Check today’s delayed and cancelled departures and arrivals at an airport, plus current weather and reported airport delay status. Delay averages and active FAA ground programs are returned only when shown; counts may be unavailable for airports without a displayed statistics row.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `airport` | string | yes | `"Newark"` | City, airport name or airport code, for example Newark or EWR. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "airport"
  ],
  "properties": {
    "airport": {
      "type": "string",
      "description": "City, airport name or airport code, for example Newark or EWR.",
      "examples": [
        "Newark",
        "KLAS"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "airport": "Newark"
    },
    {
      "airport": "KLAS"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `date` | string | `"2026-09-28"` | Date for today’s statistics in the FlightAware U.S. Eastern reporting day. |
| `wind` | string or null | `"Light winds"` | Current wind description shown by FlightAware. |
| `airport_code` | string | `"EWR"` | Airport code displayed by FlightAware. |
| `airport_name` | string | `"Newark Liberty Intl"` | Airport name. |
| `temperature_f` | number or null | `62` | Current temperature in degrees Fahrenheit. |
| `flightaware_link` | string | `"https://www.flightaware.com/live/airport/KEWR"` | FlightAware airport page link. |
| `weather_conditions` | string or null | `"Partly cloudy"` | Current weather conditions shown by FlightAware. |
| `arrivals_delayed_count` | integer or null | `64` | Delayed arrivals today. |
| `arrivals_cancelled_count` | integer or null | `10` | Cancelled arrivals today. |
| `arrivals_delayed_percent` | number or null | `10` | Percent of arrivals delayed today. |
| `departures_delayed_count` | integer or null | `51` | Delayed departures today. |
| `active_faa_ground_program` | string or null |  | Current FAA ground delay or ground stop, when reported. |
| `faa_ground_program_reason` | string or null |  | Reason or status details for an active ground program, when reported. |
| `arrivals_cancelled_percent` | number or null | `1` | Percent of arrivals cancelled today. |
| `departures_cancelled_count` | integer or null | `8` | Cancelled departures today. |
| `departures_delayed_percent` | number or null | `8` | Percent of departures delayed today. |
| `departures_cancelled_percent` | number or null | `1` | Percent of departures cancelled today. |
| `average_arrival_delay_minutes` | integer or null | `63` | Reported current average airborne arrival delay in minutes, when shown. |
| `average_departure_delay_minutes` | integer or null |  | Reported current average departure delay in minutes, when shown. |

**Example input**

```json
{
  "airport": "Newark"
}
```

**Example output**

```json
{
  "date": "2026-09-28",
  "wind": "Light winds",
  "airport_code": "EWR",
  "airport_name": "Newark Liberty Intl",
  "temperature_f": 62,
  "flightaware_link": "https://www.flightaware.com/live/airport/KEWR",
  "weather_conditions": "Partly cloudy",
  "arrivals_delayed_count": 64,
  "arrivals_cancelled_count": 10,
  "arrivals_delayed_percent": 10,
  "departures_delayed_count": 51,
  "active_faa_ground_program": null,
  "faa_ground_program_reason": null,
  "arrivals_cancelled_percent": 1,
  "departures_cancelled_count": 8,
  "departures_delayed_percent": 8,
  "departures_cancelled_percent": 1,
  "average_arrival_delay_minutes": null,
  "average_departure_delay_minutes": null
}
```

### List airport flights

Operation `list_airport_flights`, version 1. 1 credit per call.

List the public arrivals or departures shown for an airport, with flight times and status when available. For a city with several airports, selects the busiest listed airport and notes the choice. The public board shows up to 20 flights per direction; additional flights require sign-in.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `airport` | string | yes | `"Chicago"` | Airport name, city, IATA code, ICAO code or FlightAware airport link, such as Chicago O'Hare, Chicago, ORD, or Heathrow. |
| `direction` | string | no | `"departures"` | Which board to show, for example arrivals. |
| `max_results` | integer | no | `5` | Maximum flights to return, for example 10. Public boards show up to 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "airport"
  ],
  "properties": {
    "airport": {
      "type": "string",
      "description": "Airport name, city, IATA code, ICAO code or FlightAware airport link, such as Chicago O'Hare, Chicago, ORD, or Heathrow.",
      "examples": [
        "Chicago",
        "Heathrow"
      ]
    },
    "direction": {
      "enum": [
        "departures",
        "arrivals"
      ],
      "type": "string",
      "default": "departures",
      "description": "Which board to show, for example arrivals.",
      "examples": [
        "departures",
        "arrivals"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum flights to return, for example 10. Public boards show up to 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "airport": "Chicago",
      "direction": "departures",
      "max_results": 5
    },
    {
      "airport": "Heathrow",
      "direction": "arrivals",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `flights` | array |  |  |
| `flights[].city` | string or null | `"Zurich"` | Destination city for departures, origin city for arrivals. |
| `flights[].status` | string or null | `"Departed"` |  |
| `flights[].airline` | string or null | `"Swiss"` |  |
| `flights[].flight_link` | string | `"https://www.flightaware.com/live/flight/SWR9/history/20260929/0015Z/KORD/LSZH"` |  |
| `flights[].airport_code` | string or null | `"ZRH"` | Destination airport code for departures, origin airport code for arrivals. |
| `flights[].aircraft_type` | string or null | `"BOEING 777-300ER (twin-jet)"` |  |
| `flights[].flight_number` | string or null | `"SWR9"` |  |
| `flights[].scheduled_time` | string or null | `"2026-09-28T19:05:00-05:00"` | Scheduled departure or arrival time, ISO 8601 with offset. |
| `flights[].estimated_or_actual_time` | string or null | `"2026-09-28T19:04:00-05:00"` | Latest estimated or actual departure or arrival time, ISO 8601 with offset. |
| `airport_code` | string | `"ORD"` |  |
| `airport_name` | string | `"Chicago O'Hare Intl"` |  |
| `airport_selection_note` | string or null | `"Selected the busiest listed airport for Chicago: Chicago O'Hare Intl."` | Notes when the busiest airport was chosen for a city. |

**Example input**

```json
{
  "airport": "Chicago",
  "direction": "departures",
  "max_results": 5
}
```

**Example output**

```json
{
  "flights": [
    {
      "city": "Zurich",
      "status": "Departed",
      "airline": "Swiss",
      "flight_link": "https://www.flightaware.com/live/flight/SWR9/history/20260929/0015Z/KORD/LSZH",
      "airport_code": "ZRH",
      "aircraft_type": "BOEING 777-300ER (twin-jet)",
      "flight_number": "SWR9",
      "scheduled_time": "2026-09-28T19:05:00-05:00",
      "estimated_or_actual_time": "2026-09-28T19:04:00-05:00"
    },
    {
      "city": "New Haven",
      "status": "Departed",
      "airline": "Avelo Airlines",
      "flight_link": "https://www.flightaware.com/live/flight/VXP422/history/20260929/0027Z/KORD/KHVN",
      "airport_code": "HVN",
      "aircraft_type": "Boeing 737-800 (twin-jet)",
      "flight_number": "VXP422",
      "scheduled_time": "2026-09-28T19:17:00-05:00",
      "estimated_or_actual_time": "2026-09-28T19:01:00-05:00"
    },
    {
      "city": "San Francisco",
      "status": "Departed",
      "airline": "United",
      "flight_link": "https://www.flightaware.com/live/flight/UAL649/history/20260928/2335Z/KORD/KSFO",
      "airport_code": "SFO",
      "aircraft_type": "Airbus A321neo (twin-jet)",
      "flight_number": "UAL649",
      "scheduled_time": "2026-09-28T18:25:00-05:00",
      "estimated_or_actual_time": "2026-09-28T19:01:00-05:00"
    }
  ],
  "airport_code": "ORD",
  "airport_name": "Chicago O'Hare Intl",
  "airport_selection_note": "Selected the busiest listed airport for Chicago: Chicago O'Hare Intl."
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@flightaware",
  "visibility": "public",
  "operation": "check_flight_status",
  "version": 1,
  "input": {
    "date": "2026-09-27",
    "flight": "BA 283"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@flightaware\",\n  \"visibility\": \"public\",\n  \"operation\": \"check_flight_status\",\n  \"version\": 1,\n  \"input\": {\n    \"date\": \"2026-09-27\",\n    \"flight\": \"BA 283\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@flightaware",
  "visibility": "public",
  "operation": "check_flight_status",
  "version": 1,
  "input": {
    "date": "2026-09-27",
    "flight": "BA 283"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@flightaware","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Track a flight’s status and gate times
- Review arrivals or departures at an airport
- Monitor airport delays and cancellations
- Compare delay and cancellation counts across airports
- Check whether an airport has a reported ground program

## FAQ

### Is Fous affiliated with FlightAware?

No. Fous is not affiliated with FlightAware. This workflow reads the public flightaware.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a FlightAware account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from flightaware.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### What is the status of a specific flight?

Use Check flight status with an airline name or code, flight number, and departure date.

### Which flights are arriving or departing at an airport?

Use List airport flights with an airport and, optionally, a direction and maximum result count.

### How many flights are delayed or cancelled at an airport?

Use Get airport delays with a city, airport name, or airport code.

## Related

- [Flightradar24 API](https://fous.com/workflows/flightradar24.md): Flightradar24 provides live flight tracking, recent history, flight status and times, plus upcoming airport departures and arrivals; history and schedules are limited to recent and upcoming flights.
- [FAA API](https://fous.com/workflows/faa.md): Federal Aviation Administration airport status and air traffic information.
- [Expedia API](https://fous.com/workflows/expedia.md): Expedia helps travelers find hotels, vacation stays, and travel deals, with hotel prices and flight options for selected destinations and dates; flight listings may be limited.
- [Amtrak API](https://fous.com/workflows/amtrak.md): Amtrak passenger train travel and status.
- [TSA Wait Times API](https://fous.com/workflows/tsa-wait-times.md): Security wait time estimates at US airports.
- [Kayak API](https://fous.com/workflows/kayak.md): Kayak compares flight and hotel prices across booking sites and current rental car offers; hotel rates assume two adults per room and cover public location pages, while prices and availability can change at booking.
- [Google Flights API](https://fous.com/workflows/google-flights.md): Google Flights returns route schedules, public fares, monthly lowest prices, and flight or destination options with times, stops, emissions, and fares that may change.
- [Ryanair API](https://fous.com/workflows/ryanair.md): Ryanair provides flights and fares, including lowest one-way prices by destination or day for selected dates; prices and availability can change.
- [All Travel workflows](https://fous.com/workflows/category/travel)
