Flightradar24 Live Positions API
Real-time aircraft position data
Real-time aircraft position data
openapi: 3.1.0
info:
title: Flightradar24 Airlines Live Positions API
description: Flightradar24 is the world's most popular real-time flight tracking platform, monitoring over 250,000 daily flights using data from a global network of ADS-B, MLAT, and radar receivers. The FR24 API provides developers with programmatic access to live aircraft positions, historical flight data, flight summaries, and reference data for airports and airlines. The credit-based subscription API uses Bearer token authentication and is available at https://fr24api.flightradar24.com/api with three tiers — Explorer, Essential, and Advanced — covering hobby projects through high-volume commercial applications.
version: 1.0.0
contact:
url: https://support.fr24.com/support/solutions/folders/3000022922
license:
name: Proprietary
url: https://fr24api.flightradar24.com/docs/getting-started
servers:
- url: https://fr24api.flightradar24.com/api
description: Flightradar24 API
security:
- bearerAuth: []
tags:
- name: Live Positions
description: Real-time aircraft position data
paths:
/live/flight-positions/light:
get:
operationId: getLiveFlightPositionsLight
summary: Get live flight positions (light)
description: Returns a lightweight snapshot of real-time aircraft positions worldwide, including latitude, longitude, altitude, speed, heading, callsign, and aircraft registration. Optimised for mapping use cases that require low-latency positional data without the full set of flight metadata. At least one filter parameter is required.
tags:
- Live Positions
parameters:
- $ref: '#/components/parameters/bounds'
- $ref: '#/components/parameters/flights'
- $ref: '#/components/parameters/callsigns'
- $ref: '#/components/parameters/registrations'
- $ref: '#/components/parameters/painted_as'
- $ref: '#/components/parameters/operating_as'
- $ref: '#/components/parameters/airports'
- $ref: '#/components/parameters/routes'
- $ref: '#/components/parameters/aircraft'
- $ref: '#/components/parameters/altitude_ranges'
- $ref: '#/components/parameters/squawks'
- $ref: '#/components/parameters/categories'
- $ref: '#/components/parameters/data_sources'
- $ref: '#/components/parameters/airspaces'
- $ref: '#/components/parameters/gspeed'
- $ref: '#/components/parameters/limit_30000'
responses:
'200':
description: Successful response with live flight position data
content:
application/json:
schema:
$ref: '#/components/schemas/FlightPositionsLightResponse'
example:
data:
- fr24_id: 34242a02
lat: 51.4706
lon: -0.4619
track: 270
alt: 35000
gspeed: 450
vspeed: 0
squawk: '7700'
timestamp: '2024-01-15T10:30:00Z'
source: ADSB
hex: 400A10
callsign: BAW123
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/live/flight-positions/full:
get:
operationId: getLiveFlightPositionsFull
summary: Get live flight positions (full)
description: Returns complete real-time aircraft flight movement records including latitude, longitude, speed, altitude, and heading alongside enriched flight information such as origin and destination airports, callsign, aircraft registration, aircraft type, operator, and flight number. At least one filter parameter is required.
tags:
- Live Positions
parameters:
- $ref: '#/components/parameters/bounds'
- $ref: '#/components/parameters/flights'
- $ref: '#/components/parameters/callsigns'
- $ref: '#/components/parameters/registrations'
- $ref: '#/components/parameters/painted_as'
- $ref: '#/components/parameters/operating_as'
- $ref: '#/components/parameters/airports'
- $ref: '#/components/parameters/routes'
- $ref: '#/components/parameters/aircraft'
- $ref: '#/components/parameters/altitude_ranges'
- $ref: '#/components/parameters/squawks'
- $ref: '#/components/parameters/categories'
- $ref: '#/components/parameters/data_sources'
- $ref: '#/components/parameters/airspaces'
- $ref: '#/components/parameters/gspeed'
- $ref: '#/components/parameters/limit_30000'
responses:
'200':
description: Successful response with full live flight position data
content:
application/json:
schema:
$ref: '#/components/schemas/FlightPositionsFullResponse'
example:
data:
- fr24_id: 34242a02
lat: 51.4706
lon: -0.4619
track: 270
alt: 35000
gspeed: 450
vspeed: 0
squawk: '7700'
timestamp: '2024-01-15T10:30:00Z'
source: ADSB
flight: BA123
callsign: BAW123
hex: 400A10
type: B77W
reg: G-STBK
painted_as: BAW
operating_as: BAW
orig_iata: LHR
orig_icao: EGLL
dest_iata: JFK
dest_icao: KJFK
eta: '2024-01-15T15:45:00Z'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/live/flight-positions/count:
get:
operationId: getLiveFlightPositionsCount
summary: Count live flight positions
description: Returns the number of live aircraft positions that match the given filters. At least one filter parameter is required.
tags:
- Live Positions
parameters:
- $ref: '#/components/parameters/bounds'
- $ref: '#/components/parameters/flights'
- $ref: '#/components/parameters/callsigns'
- $ref: '#/components/parameters/registrations'
- $ref: '#/components/parameters/painted_as'
- $ref: '#/components/parameters/operating_as'
- $ref: '#/components/parameters/airports'
- $ref: '#/components/parameters/routes'
- $ref: '#/components/parameters/aircraft'
- $ref: '#/components/parameters/altitude_ranges'
- $ref: '#/components/parameters/squawks'
- $ref: '#/components/parameters/categories'
- $ref: '#/components/parameters/data_sources'
- $ref: '#/components/parameters/gspeed'
responses:
'200':
description: Successful response with count of matching records
content:
application/json:
schema:
$ref: '#/components/schemas/CountResponse'
example:
record_count: 1247
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
schemas:
FlightPositionsLight:
type: object
description: Lightweight real-time or historical aircraft position data point.
required:
- fr24_id
- lat
- lon
- track
- alt
- gspeed
- vspeed
- squawk
- timestamp
- source
properties:
fr24_id:
type: string
description: Flightradar24 unique identifier for the flight (hexadecimal).
example: 34242a02
lat:
type: number
format: float
description: Latitude in decimal degrees.
example: 51.4706
lon:
type: number
format: float
description: Longitude in decimal degrees.
example: -0.4619
track:
type: integer
description: True heading in degrees (0-360).
example: 270
alt:
type: integer
description: Altitude in feet.
example: 35000
gspeed:
type: integer
description: Ground speed in knots.
example: 450
vspeed:
type: integer
description: Vertical speed in feet per minute.
example: 0
squawk:
type: string
description: Transponder squawk code (4-digit octal).
example: '7700'
timestamp:
type: string
format: date-time
description: ISO 8601 date-time of the position fix.
example: '2024-01-15T10:30:00Z'
source:
type: string
description: Data source (e.g., ADSB, MLAT, RADAR).
example: ADSB
hex:
type: string
description: ICAO 24-bit aircraft address in hexadecimal (Mode S hex code).
nullable: true
example: 400A10
callsign:
type: string
description: ATC callsign.
nullable: true
example: BAW123
CountResponse:
type: object
description: Generic count response.
required:
- record_count
properties:
record_count:
type: integer
description: Number of records matching the query filters.
example: 1247
FlightPositionsLightResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/FlightPositionsLight'
FlightPositionsFullResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/FlightPositionsFull'
FlightPositionsFull:
type: object
description: Detailed real-time or historical aircraft position data point with full flight metadata.
required:
- fr24_id
- lat
- lon
- track
- alt
- gspeed
- vspeed
- squawk
- timestamp
- source
properties:
fr24_id:
type: string
description: Flightradar24 unique identifier for the flight (hexadecimal).
example: 34242a02
lat:
type: number
format: float
description: Latitude in decimal degrees.
example: 51.4706
lon:
type: number
format: float
description: Longitude in decimal degrees.
example: -0.4619
track:
type: integer
description: True heading in degrees (0-360).
example: 270
alt:
type: integer
description: Altitude in feet.
example: 35000
gspeed:
type: integer
description: Ground speed in knots.
example: 450
vspeed:
type: integer
description: Vertical speed in feet per minute.
example: 0
squawk:
type: string
description: Transponder squawk code (4-digit octal).
example: '7700'
timestamp:
type: string
format: date-time
description: ISO 8601 date-time of the position fix.
example: '2024-01-15T10:30:00Z'
source:
type: string
description: Data source (e.g., ADSB, MLAT, RADAR).
example: ADSB
flight:
type: string
description: Flight number (e.g., "BA123").
nullable: true
example: BA123
callsign:
type: string
description: ATC callsign.
nullable: true
example: BAW123
hex:
type: string
description: ICAO 24-bit aircraft address in hexadecimal.
nullable: true
example: 400A10
type:
type: string
description: ICAO aircraft type code (e.g., "B77W", "A320").
nullable: true
example: B77W
reg:
type: string
description: Aircraft registration number.
nullable: true
example: G-STBK
painted_as:
type: string
description: Airline ICAO code for the livery carrier.
nullable: true
example: BAW
operating_as:
type: string
description: Airline ICAO code for the operating carrier.
nullable: true
example: BAW
orig_iata:
type: string
description: Origin airport IATA code.
nullable: true
example: LHR
orig_icao:
type: string
description: Origin airport ICAO code.
nullable: true
example: EGLL
dest_iata:
type: string
description: Destination airport IATA code.
nullable: true
example: JFK
dest_icao:
type: string
description: Destination airport ICAO code.
nullable: true
example: KJFK
eta:
type: string
format: date-time
description: Estimated time of arrival (ISO 8601).
nullable: true
example: '2024-01-15T15:45:00Z'
Error:
type: object
properties:
message:
type: string
description: Human-readable error description.
code:
type: string
description: Machine-readable error code.
parameters:
operating_as:
name: operating_as
in: query
required: false
description: Comma-separated list of airline ICAO codes for the operating carrier. Maximum 15 values.
schema:
type: string
example: BAW,DLH
airports:
name: airports
in: query
required: false
description: Comma-separated list of airport IATA or ICAO codes. Matches flights departing or arriving at these airports. Maximum 15 values.
schema:
type: string
example: LHR,EDDF
flights:
name: flights
in: query
required: false
description: Comma-separated list of flight numbers (e.g., "BA123,LH456"). Maximum 15 values.
schema:
type: string
example: BA123,LH456
airspaces:
name: airspaces
in: query
required: false
description: Comma-separated list of airspace identifiers. Maximum 15 values. Not available on count endpoints.
schema:
type: string
example: EGTT,EGPX
limit_30000:
name: limit
in: query
required: false
description: Maximum number of records to return (1-30000).
schema:
type: integer
minimum: 1
maximum: 30000
example: 1000
categories:
name: categories
in: query
required: false
description: Comma-separated list of aircraft/vehicle category codes. Maximum 15 values. P=Passenger, C=Cargo, M=Military and Government, J=Business Jets, T=General Aviation, H=Helicopters, B=Lighter than Air, G=Gliders, D=Drones, V=Ground Vehicles, O=Other, N=Non-Categorized.
schema:
type: string
enum:
- P
- C
- M
- J
- T
- H
- B
- G
- D
- V
- O
- N
example: P,C
routes:
name: routes
in: query
required: false
description: Comma-separated list of routes in origin-destination format (e.g., "LHR-JFK"). Maximum 15 values.
schema:
type: string
example: LHR-JFK,CDG-LAX
registrations:
name: registrations
in: query
required: false
description: Comma-separated list of aircraft registration codes (e.g., "G-STBK,D-ABCD"). Maximum 15 values.
schema:
type: string
example: G-STBK,D-ABCD
squawks:
name: squawks
in: query
required: false
description: Comma-separated list of transponder squawk codes (4-digit octal, e.g., "7700,7600"). Maximum 15 values.
schema:
type: string
example: 7700,7600
callsigns:
name: callsigns
in: query
required: false
description: Comma-separated list of ATC callsigns (e.g., "BAW123,DLH456"). Maximum 15 values.
schema:
type: string
example: BAW123,DLH456
altitude_ranges:
name: altitude_ranges
in: query
required: false
description: Comma-separated altitude ranges in feet using "min-max" format (e.g., "0-5000,35000-45000"). Minimum altitude is -2000 ft. Maximum 15 ranges.
schema:
type: string
example: 0-5000,35000-45000
aircraft:
name: aircraft
in: query
required: false
description: ICAO aircraft type code (e.g., "B77W", "A320").
schema:
type: string
example: B77W
bounds:
name: bounds
in: query
required: false
description: Geographic bounding box in the format "north,south,west,east" (e.g., "51.5,51.0,-0.5,0.5"). Latitudes range -90 to 90; longitudes -180 to 180. North must be greater than south.
schema:
type: string
pattern: ^-?\d+(\.\d+)?,-?\d+(\.\d+)?,-?\d+(\.\d+)?,-?\d+(\.\d+)?$
example: 51.5,51.0,-0.5,0.5
gspeed:
name: gspeed
in: query
required: false
description: Ground speed filter in knots (0-5000), or a range string (e.g., "200-400").
schema:
oneOf:
- type: integer
minimum: 0
maximum: 5000
- type: string
example: 200-400
painted_as:
name: painted_as
in: query
required: false
description: Comma-separated list of airline ICAO codes for the livery carrier (e.g., "BAW,DLH"). Maximum 15 values.
schema:
type: string
example: BAW,DLH
data_sources:
name: data_sources
in: query
required: false
description: Comma-separated list of data source types (e.g., "ADSB,MLAT"). Maximum 15 values.
schema:
type: string
example: ADSB,MLAT
responses:
BadRequest:
description: Bad request — invalid or missing parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Too many requests — rate limit or credit limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized — missing or invalid Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Bearer token authentication. Obtain your API token from the Flightradar24 developer portal at https://fr24api.flightradar24.com/.