Skip to content

Flight Information API

Aggregates live flight information from public aviation sources. Endpoints cover airport operational status (FAA NAS delays, METAR weather), live departure and arrival boards (Flightradar24), per-flight position tracks (OpenSky ADS-B), scheduled vs actual flight status, and one-way or round-trip fare search (Skiplagged). All airport identifiers are 3-letter IATA codes; flight numbers use 2-letter IATA airline codes (AA100, UA1, DL42). Responses are wrapped in a meta/data envelope with source attribution, freshness timestamps, and cache info.

Inspect every route, parameter, and response schema straight from your agent:

Terminal window
agent-data docs bd63936c-8611-45a8-8ad8-083aa4c51aa9

Call any route below by its slug:

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 <route-slug> [--param value ...]
Route slugMethod & pathDescription
get-airportGET /api/v1/airports/{iata}Return current operational status for one airport. Combines FAA NAS status (delays, ground stops, ground delay programs) with the most recent METAR weather observation. Reliabili…
list-airport-departuresGET /api/v1/airports/{iata}/departuresReturn the live departure board for an airport from Flightradar24.
list-airport-arrivalsGET /api/v1/airports/{iata}/arrivalsReturn the live arrival board for an airport from Flightradar24.
track-flightGET /api/v1/flights/{flight_number}/trackReturn the latest ADS-B position fix for a flight from OpenSky.
get-flight-statusGET /api/v1/flights/{flight_number}/statusReturn the scheduled-vs-actual status for one flight on a given date.
search-flightsPOST /api/v1/flight-searchesKick off an asynchronous one-way or round-trip fare search (Skiplagged).
get-flight-searchGET /api/v1/flight-searches/{job_id}Poll a flight-search job and return its current result envelope.
get-operationGET /api/v1/operations/{operation_id}Return the state of a long-running flight-search operation.
POST /api/v1/booking-urlsExchange a booking_token from a prior flight-search result for a live third-party booking URL. Synchronous upstream redirect lookup against Skiplagged; typically returns in 3-6 s…

GET /api/v1/airports/{iata}

Return current operational status for one airport.

Combines FAA NAS status (delays, ground stops, ground delay programs) with the most recent METAR weather observation. Reliability fields are placeholders until a vetted historical source is wired in.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-airport --iata <iata>
ParameterInTypeRequiredDescription
iatapathstringyesSpecify the 3-letter IATA airport code to look up. The server normalizes the value to uppercase before validation and returns 404 if the code is not present in the built-in airport reference set.

Full REST reference — parameters, schemas, and curl →

GET /api/v1/airports/{iata}/departures

Return the live departure board for an airport from Flightradar24.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 list-airport-departures --iata <iata> [--window_minutes <window_minutes>] [--airline <airline>] [--limit <limit>]
ParameterInTypeRequiredDescription
iatapathstringyesSpecify the 3-letter IATA airport code whose departure board you want to read. The server normalizes the value to uppercase before validation and returns 404 for unknown airports.
window_minutesqueryinteger, min: 1, max: 1440, default: 180noLimit results to departures whose scheduled board time falls within this many minutes of the source timestamp. Send an integer minute window between 1 and 1440 (24 hours).
airlinequerystring | nullnoFilter the departure board to a single airline by its 2-letter IATA carrier code. The server normalizes the value to uppercase and performs an exact carrier-code match. Omit this parameter to include all airlines.
limitqueryinteger, min: 1, max: 100, default: 10noCap how many departure records the API returns from the filtered board snapshot. Send an integer count between 1 and 100.

Full REST reference — parameters, schemas, and curl →

GET /api/v1/airports/{iata}/arrivals

Return the live arrival board for an airport from Flightradar24.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 list-airport-arrivals --iata <iata> [--window_minutes <window_minutes>] [--airline <airline>] [--limit <limit>]
ParameterInTypeRequiredDescription
iatapathstringyesSpecify the 3-letter IATA airport code whose arrival board you want to read. The server normalizes the value to uppercase before validation and returns 404 for unknown airports.
window_minutesqueryinteger, min: 1, max: 1440, default: 180noLimit results to arrivals whose scheduled board time falls within this many minutes of the source timestamp. Send an integer minute window between 1 and 1440 (24 hours).
airlinequerystring | nullnoFilter the arrival board to a single airline by its 2-letter IATA carrier code. The server normalizes the value to uppercase and performs an exact carrier-code match. Omit this parameter to include all airlines.
limitqueryinteger, min: 1, max: 100, default: 10noCap how many arrival records the API returns from the filtered board snapshot. Send an integer count between 1 and 100.

Full REST reference — parameters, schemas, and curl →

GET /api/v1/flights/{flight_number}/track

Return the latest ADS-B position fix for a flight from OpenSky.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 track-flight --flight_number <flight_number>
ParameterInTypeRequiredDescription
flight_numberpathstringyesSpecify the marketing flight number to track, such as UA237 or UA 237. The server strips spaces and normalizes casing before resolving the expected callsign, so send the airline designator plus flight number rather than…

Full REST reference — parameters, schemas, and curl →

GET /api/v1/flights/{flight_number}/status

Return the scheduled-vs-actual status for one flight on a given date.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-flight-status --flight_number <flight_number> --date <date> [--include_position <include_position>] [--include_weather <include_weather>]
ParameterInTypeRequiredDescription
flight_numberpathstringyesSpecify the marketing flight number whose status you want to retrieve, such as UA237 or UA 237. The server strips spaces and normalizes casing before matching candidate flights.
datequerystring (date)yesSpecify the operating date used to disambiguate repeated flight numbers across different days. Send an ISO 8601 calendar date in YYYY-MM-DD format. This parameter is required; omit it and the API returns 422.
include_positionqueryboolean, default: truenoSet this flag to true to merge the latest available position report into the flight-status response when tracking data is available. Set it to false to skip the extra position lookup. Send a real boolean value; unparsea…
include_weatherqueryboolean, default: falsenoTreat this as a forward-compatibility placeholder. The API accepts the flag today, but the backend currently ignores it and does not add weather data or alter the response.

Full REST reference — parameters, schemas, and curl →

POST /api/v1/flight-searches

Kick off an asynchronous one-way or round-trip fare search (Skiplagged).

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 search-flights --date <date> [--sort <sort>] [--cabin <cabin>] [--limit <limit>] [--compact <compact>] [--max_stops <max_stops>] [--passengers <passengers>] [--request_id <request_id>] --origin_iata <origin_iata> [--return_date <return_date>] --destination_iata <destination_iata>

Accepts a JSON request body — see the REST reference below for the full schema.

Full REST reference — parameters, schemas, and curl →

GET /api/v1/flight-searches/{job_id}

Poll a flight-search job and return its current result envelope.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-flight-search --job_id <job_id>
ParameterInTypeRequiredDescription
job_idpathstringyesSpecify the flight-search job identifier returned by POST /api/v1/flight-searches. Use this value to poll the current job state and retrieve the completed result. The API returns 404 if the job ID is unknown.

Full REST reference — parameters, schemas, and curl →

GET /api/v1/operations/{operation_id}

Return the state of a long-running flight-search operation.

Terminal window
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-operation --operation_id <operation_id>
ParameterInTypeRequiredDescription
operation_idpathstringyesSpecify the operation identifier returned alongside an asynchronous flight-search job. You may send either the bare operation suffix or the full operations/… resource name; the server normalizes missing prefixes autom…

Full REST reference — parameters, schemas, and curl →

POST /api/v1/booking-urls

Exchange a booking_token from a prior flight-search result for a live third-party booking URL.

Synchronous upstream redirect lookup against Skiplagged; typically returns in 3-6 seconds. Call this lazily — only for offers the user actually intends to book — to avoid paying the upstream cost for the full result set returned by /api/v1/flight-searches.

Accepts a JSON request body — see the REST reference below for the full schema.

Full REST reference — parameters, schemas, and curl →

Prefer plain HTTP? The Flight Information API REST reference documents every operation with full request/response schemas and ready-to-run curl and agent-data CLI examples.