Flight Lookup
curl --request GET \
--url https://api.flystack.dev/v1/flights/lookup \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.flystack.dev/v1/flights/lookup"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.flystack.dev/v1/flights/lookup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flystack.dev/v1/flights/lookup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.flystack.dev/v1/flights/lookup"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.flystack.dev/v1/flights/lookup")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flystack.dev/v1/flights/lookup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"hex": "AAB812",
"reg_number": "N790AN",
"aircraft_icao": "B772",
"flag": "US",
"lat": 33.455017,
"lng": -118.738312,
"alt": 10668,
"dir": 80,
"speed": 942,
"v_speed": 0,
"squawk": "3726",
"airline_icao": "AAL",
"airline_iata": "AA",
"flight_number": "6",
"flight_icao": "AAL6",
"flight_iata": "AA6",
"cs_airline_iata": null,
"cs_flight_number": null,
"cs_flight_iata": null,
"dep_icao": "PHOG",
"dep_iata": "OGG",
"dep_terminal": null,
"dep_gate": "29",
"dep_time": "2021-07-21 18:50",
"dep_time_ts": 1626929400,
"dep_time_utc": "2021-07-22 04:50",
"arr_icao": "KDFW",
"arr_iata": "DFW",
"arr_terminal": "A",
"arr_gate": "A24",
"arr_baggage": "A28",
"arr_time": "2021-07-22 07:04",
"arr_time_ts": 1626955440,
"arr_time_utc": "2021-07-22 12:04",
"duration": 434,
"delayed": null,
"dep_delayed": null,
"arr_delayed": null,
"updated": 1626858778,
"status": "en-route",
"age": 6,
"built": 2015,
"engine": "jet",
"engine_count": "2",
"model": "Airbus A321-100/200 Ceo",
"manufacturer": "AIRBUS",
"msn": "5938",
"type": "landplane"
}
Real-time
Flight Lookup
Lookup a single flight and get detailed information by IATA or ICAO flight code.
GET
/
v1
/
flights
/
lookup
Flight Lookup
curl --request GET \
--url https://api.flystack.dev/v1/flights/lookup \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.flystack.dev/v1/flights/lookup"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.flystack.dev/v1/flights/lookup', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flystack.dev/v1/flights/lookup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.flystack.dev/v1/flights/lookup"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.flystack.dev/v1/flights/lookup")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flystack.dev/v1/flights/lookup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"hex": "AAB812",
"reg_number": "N790AN",
"aircraft_icao": "B772",
"flag": "US",
"lat": 33.455017,
"lng": -118.738312,
"alt": 10668,
"dir": 80,
"speed": 942,
"v_speed": 0,
"squawk": "3726",
"airline_icao": "AAL",
"airline_iata": "AA",
"flight_number": "6",
"flight_icao": "AAL6",
"flight_iata": "AA6",
"cs_airline_iata": null,
"cs_flight_number": null,
"cs_flight_iata": null,
"dep_icao": "PHOG",
"dep_iata": "OGG",
"dep_terminal": null,
"dep_gate": "29",
"dep_time": "2021-07-21 18:50",
"dep_time_ts": 1626929400,
"dep_time_utc": "2021-07-22 04:50",
"arr_icao": "KDFW",
"arr_iata": "DFW",
"arr_terminal": "A",
"arr_gate": "A24",
"arr_baggage": "A28",
"arr_time": "2021-07-22 07:04",
"arr_time_ts": 1626955440,
"arr_time_utc": "2021-07-22 12:04",
"duration": 434,
"delayed": null,
"dep_delayed": null,
"arr_delayed": null,
"updated": 1626858778,
"status": "en-route",
"age": 6,
"built": 2015,
"engine": "jet",
"engine_count": "2",
"model": "Airbus A321-100/200 Ceo",
"manufacturer": "AIRBUS",
"msn": "5938",
"type": "landplane"
}
The Flight Lookup API combines schedule data, near real-time tracking, and aircraft details for a single scheduled & live flight. It’s ideal for flight detail screens: status changes, times, gates, terminals, and aircraft information in one response.
This endpoint returns the closest matching flight (live, scheduled, or landed). If you need all occurrences of a flight number across a day, use the Flight Schedules API and query by
flight_iata or flight_icao.Authentication
string
required
Your FlyStack API token. You can create one from the dashboard (see Authentication).
Query parameters
string
Search by flight ICAO code-number (e.g.,
AAL6).string
Or search by flight IATA code-number (e.g.,
AA6).Provide either
flight_iata or flight_icao.Response
Show Live tracking
Show Live tracking
Show Airline & flight identifiers
Show Airline & flight identifiers
Show Route
Show Route
Show Airport operations
Show Airport operations
Show Times & delays
Show Times & delays
string
Scheduled departure time (local).
number
Scheduled departure time (unix).
string
Scheduled departure time (UTC).
string
Scheduled arrival time (local).
number
Scheduled arrival time (unix).
string
Scheduled arrival time (UTC).
number
Estimated flight duration (minutes).
number
Estimated total delay (minutes, when available).
number
Departure delay (minutes, when available).
number
Arrival delay (minutes, when available).
Show Aircraft details
Show Aircraft details
string
Aircraft registration number (when available).
string
Aircraft ICAO type designator.
string
Aircraft model (when available).
string
Aircraft manufacturer (when available).
string
Manufacturer serial number (when available).
string
Engine type (when available).
string
Engine count (when available).
number
Build year (when available).
number
Aircraft age (years, when available).
string
Airframe type (when available).
string
ISO-2 country code (when available).
{
"hex": "AAB812",
"reg_number": "N790AN",
"aircraft_icao": "B772",
"flag": "US",
"lat": 33.455017,
"lng": -118.738312,
"alt": 10668,
"dir": 80,
"speed": 942,
"v_speed": 0,
"squawk": "3726",
"airline_icao": "AAL",
"airline_iata": "AA",
"flight_number": "6",
"flight_icao": "AAL6",
"flight_iata": "AA6",
"cs_airline_iata": null,
"cs_flight_number": null,
"cs_flight_iata": null,
"dep_icao": "PHOG",
"dep_iata": "OGG",
"dep_terminal": null,
"dep_gate": "29",
"dep_time": "2021-07-21 18:50",
"dep_time_ts": 1626929400,
"dep_time_utc": "2021-07-22 04:50",
"arr_icao": "KDFW",
"arr_iata": "DFW",
"arr_terminal": "A",
"arr_gate": "A24",
"arr_baggage": "A28",
"arr_time": "2021-07-22 07:04",
"arr_time_ts": 1626955440,
"arr_time_utc": "2021-07-22 12:04",
"duration": 434,
"delayed": null,
"dep_delayed": null,
"arr_delayed": null,
"updated": 1626858778,
"status": "en-route",
"age": 6,
"built": 2015,
"engine": "jet",
"engine_count": "2",
"model": "Airbus A321-100/200 Ceo",
"manufacturer": "AIRBUS",
"msn": "5938",
"type": "landplane"
}
If there is no result, you can often find future occurrences using the Routes Dataset.
See also
⌘I