Real-Time Flights
curl --request GET \
--url https://api.flystack.dev/v1/flights \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.flystack.dev/v1/flights"
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', 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",
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"
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")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flystack.dev/v1/flights")
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": "39D2A2",
"reg_number": "F-HUVC",
"flag": "FR",
"lat": 48.882457,
"lng": -68.940221,
"alt": 12192.0,
"dir": 241.7,
"speed": 807.8,
"v_speed": 0.0,
"squawk": "2420",
"flight_number": "66",
"flight_icao": "AFR66",
"flight_iata": "AF66",
"dep_icao": "LFPG",
"dep_iata": "CDG",
"arr_icao": "KLAX",
"arr_iata": "LAX",
"airline_icao": "AFR",
"airline_iata": "AF",
"aircraft_icao": "A359",
"updated": 1793732805,
"status": "en-route"
}
]
Real-time
Real-Time Flights
Track live flights worldwide with near real-time position, speed, heading, and status.
GET
/
v1
/
flights
Real-Time Flights
curl --request GET \
--url https://api.flystack.dev/v1/flights \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.flystack.dev/v1/flights"
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', 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",
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"
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")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flystack.dev/v1/flights")
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": "39D2A2",
"reg_number": "F-HUVC",
"flag": "FR",
"lat": 48.882457,
"lng": -68.940221,
"alt": 12192.0,
"dir": 241.7,
"speed": 807.8,
"v_speed": 0.0,
"squawk": "2420",
"flight_number": "66",
"flight_icao": "AFR66",
"flight_iata": "AF66",
"dep_icao": "LFPG",
"dep_iata": "CDG",
"arr_icao": "KLAX",
"arr_iata": "LAX",
"airline_icao": "AFR",
"airline_iata": "AF",
"aircraft_icao": "A359",
"updated": 1793732805,
"status": "en-route"
}
]
Integrate real-time flight tracking (live ADS-B style data) into your product: monitor individual flights, power flight status screens, visualize traffic on a map, or analyze airspace density and regularity.
Authentication
string
required
Your FlyStack API token. You can create one from the dashboard (see Authentication).
Query parameters
Area & performance
string
Bounding box:
south_lat,south_lng,north_lat,north_lng.number
Map zoom level to reduce the number of returned flights (0–11).
Aircraft / airline / flight filters
string
Filter by ICAO24 hex address.
string
Filter by aircraft registration number.
string
Filter by airline ICAO code.
string
Filter by airline IATA code.
string
Filter by the aircraft’s country of registration (ISO-2 code, the
flag field).string
Filter by flight ICAO code-number.
string
Filter by flight IATA code-number.
string
Filter by flight number only.
string
Filter by departure airport ICAO code.
string
Filter by departure airport IATA code.
string
Filter by arrival airport ICAO code.
string
Filter by arrival airport IATA code.
Response shaping
string
Comma-separated list of fields to return (e.g.,
hex,airline_iata,lat,lng).string
default:"object"
View format:
object: default JSON objectsarray: array rows (useful for browsers / fast rendering)
For
_view=array, make sure _fields lists fields in the exact order you want in the returned arrays.Only aircraft reported in the last 15 minutes are returned, on the ground or in the air. Responses are cached for 10 seconds.
Response (object view)
Flight response fields
Show Live tracking
Show Live tracking
string
ICAO24 hex address.
number
Latitude.
number
Longitude.
number
Altitude (meters).
number
Heading (degrees).
number
Horizontal speed (km/h).
number
Vertical speed (m/s, positive when climbing).
string
Squawk code (when available).
number
UNIX timestamp of last update.
string
Flight status (
scheduled, en-route, landed).Show Flight & airline identifiers
Show Flight & airline identifiers
Show Route
Show Route
[
{
"hex": "39D2A2",
"reg_number": "F-HUVC",
"flag": "FR",
"lat": 48.882457,
"lng": -68.940221,
"alt": 12192.0,
"dir": 241.7,
"speed": 807.8,
"v_speed": 0.0,
"squawk": "2420",
"flight_number": "66",
"flight_icao": "AFR66",
"flight_iata": "AF66",
"dep_icao": "LFPG",
"dep_iata": "CDG",
"arr_icao": "KLAX",
"arr_iata": "LAX",
"airline_icao": "AFR",
"airline_iata": "AF",
"aircraft_icao": "A359",
"updated": 1793732805,
"status": "en-route"
}
]
Response (array view)
Each flight is an array of the_fields values, in the order requested:
[
["39CF04", "AF470", 35.561208, 6.799485, 11277.6, 168.7],
["3949EB", "AF401", -11.89284, -45.951956, 10668.0, 31.0],
["39CF03", "AF872", 34.563446, 0.8043, 10972.8, 164.9]
]