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.
Use with the agent-data CLI
Section titled “Use with the agent-data CLI”Inspect every route, parameter, and response schema straight from your agent:
agent-data docs bd63936c-8611-45a8-8ad8-083aa4c51aa9Call any route below by its slug:
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 <route-slug> [--param value ...]Routes
Section titled “Routes”| Route slug | Method & path | Description |
|---|---|---|
get-airport | 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. Reliabili… |
list-airport-departures | GET /api/v1/airports/{iata}/departures | Return the live departure board for an airport from Flightradar24. |
list-airport-arrivals | GET /api/v1/airports/{iata}/arrivals | Return the live arrival board for an airport from Flightradar24. |
track-flight | GET /api/v1/flights/{flight_number}/track | Return the latest ADS-B position fix for a flight from OpenSky. |
get-flight-status | GET /api/v1/flights/{flight_number}/status | Return the scheduled-vs-actual status for one flight on a given date. |
search-flights | POST /api/v1/flight-searches | Kick off an asynchronous one-way or round-trip fare search (Skiplagged). |
get-flight-search | GET /api/v1/flight-searches/{job_id} | Poll a flight-search job and return its current result envelope. |
get-operation | GET /api/v1/operations/{operation_id} | Return the state of a long-running flight-search operation. |
| — | 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 s… |
get-airport
Section titled “get-airport”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.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-airport --iata <iata>| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
iata | path | string | yes | Specify 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 →
list-airport-departures
Section titled “list-airport-departures”GET /api/v1/airports/{iata}/departures
Return the live departure board for an airport from Flightradar24.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 list-airport-departures --iata <iata> [--window_minutes <window_minutes>] [--airline <airline>] [--limit <limit>]| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
iata | path | string | yes | Specify 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_minutes | query | integer, min: 1, max: 1440, default: 180 | no | Limit 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). |
airline | query | string | null | no | Filter 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. |
limit | query | integer, min: 1, max: 100, default: 10 | no | Cap 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 →
list-airport-arrivals
Section titled “list-airport-arrivals”GET /api/v1/airports/{iata}/arrivals
Return the live arrival board for an airport from Flightradar24.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 list-airport-arrivals --iata <iata> [--window_minutes <window_minutes>] [--airline <airline>] [--limit <limit>]| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
iata | path | string | yes | Specify 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_minutes | query | integer, min: 1, max: 1440, default: 180 | no | Limit 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). |
airline | query | string | null | no | Filter 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. |
limit | query | integer, min: 1, max: 100, default: 10 | no | Cap 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 →
track-flight
Section titled “track-flight”GET /api/v1/flights/{flight_number}/track
Return the latest ADS-B position fix for a flight from OpenSky.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 track-flight --flight_number <flight_number>| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
flight_number | path | string | yes | Specify 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-flight-status
Section titled “get-flight-status”GET /api/v1/flights/{flight_number}/status
Return the scheduled-vs-actual status for one flight on a given date.
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>]| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
flight_number | path | string | yes | Specify 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. |
date | query | string (date) | yes | Specify 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_position | query | boolean, default: true | no | Set 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_weather | query | boolean, default: false | no | Treat 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 →
search-flights
Section titled “search-flights”POST /api/v1/flight-searches
Kick off an asynchronous one-way or round-trip fare search (Skiplagged).
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-flight-search
Section titled “get-flight-search”GET /api/v1/flight-searches/{job_id}
Poll a flight-search job and return its current result envelope.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-flight-search --job_id <job_id>| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
job_id | path | string | yes | Specify 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-operation
Section titled “get-operation”GET /api/v1/operations/{operation_id}
Return the state of a long-running flight-search operation.
agent-data call bd63936c-8611-45a8-8ad8-083aa4c51aa9 get-operation --operation_id <operation_id>| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
operation_id | path | string | yes | Specify 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
Section titled “POST /api/v1/booking-urls”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 →
REST reference
Section titled “REST reference”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.