Skip to main content

SDK for FlightRadar24

Project description

FlightRadarAPI

Unofficial SDK for FlightRadar24 written in Python 3.

If you want to use the data collected using this SDK commercially, you need to subscribe to the Business plan.
See more information at: https://www.flightradar24.com/terms-and-conditions

Python Package Pypi License Python Version Npm downloads Frequency

Installing FlightRadarAPI:

pip install FlightRadarAPI

Basic Usage:

Import the class FlightRadar24API and create an instance of it.

from FlightRadar24 import FlightRadar24API
fr_api = FlightRadar24API()

Getting flights list:

flights = fr_api.get_flights(...)  # Returns a list of Flight objects

Getting airports list:

airports = fr_api.get_airports(...)  # Returns a list of Airport objects

Getting airlines list:

airlines = fr_api.get_airlines()

Getting zones list:

zones = fr_api.get_zones()

Getting flight and airport details

You can also get more information about a specific flight such as: estimated time, trail, aircraft details, etc.

flight_details = fr_api.get_flight_details(flight)
flight.set_flight_details(flight_details)

print("Flying to", flight.destination_airport_name)

Or get more information about a specific airport such as: runways, weather, arrived flights, etc.

airport_details = fr_api.get_airport_details(icao)

Arrivals and departures can have a limit flight_limit (max value is 100) to display. When you need to reach more than 100 flights you can use additional parameter page to view other pages.

Get flights above your position:

The get_bounds_by_point(...) method has parameters latitude and longitude for your position and radius for the distance in meters from your position to designate a tracking area.

# Your point is 52°34'04.7"N 13°16'57.5"E from Google Maps and radius 2km
bounds = fr_api.get_bounds_by_point(52.567967, 13.282644, 2000)

flights = fr_api.get_flights(bounds = bounds)

Filtering flights and airports:

The get_flights(...) method has some parameters to search for flights by: area line, bounds (customized coordinates or obtained by the get_zones() method), aircraft registration or aircraft type. See the example below:

airline_icao = "UAE"
aircraft_type = "B77W"

# You may also set a custom region, such as: bounds = "73,-12,-156,38"
zone = fr_api.get_zones()["northamerica"]
bounds = fr_api.get_bounds(zone)

emirates_flights = fr_api.get_flights(
    aircraft_type = aircraft_type
    airline = airline_icao,
    bounds = bounds
)

There are more configurations that you may set by using the set_flight_tracker_config(...) method. See the method documentation for more information.

Getting airport by ICAO or IATA:

lukla_airport = fr_api.get_airport(code = "VNLK", details = True)

Getting the distance between flights and airports:

The Flight and Airport classes inherit from Entity, which contains the get_distance_from(...) method. That method returns the distance between the self instance and another entity in kilometers. Example:

airport = fr_api.get_airport("KJFK")
distance = flight.get_distance_from(airport)

print(f"The flight is {distance} km away from the airport.")

Downloading Flight Data

Note: This requires a premium subscription and for you to be logged in.

history_data = fr_api.get_history_data(flight, file_type="csv", time=1706529600)

 with open("history_data.csv", "w") as file:
    file.write(history_data)

flight_id - The ID of the flight. Can be gotten from any other function that returns flight details. file_type - Either CSV or KML. time - The STD/scheduled time of deperature in UTC of the flight as a Unix timestamp. Putting an invalid time will return a blank document.

Setting and getting Real-time Flight Tracker parameters:

Set it by using the set_flight_tracker_config(...) method. It receives a FlightTrackerConfig dataclass instance, but you can also use keyword arguments directly to the method.

Get the current configuration with the get_flight_tracker_config() method, that returns a FlightTrackerConfig instance. Note: creating a new FlightTrackerConfig instance means resetting all parameters to default.

flight_tracker = fr_api.get_flight_tracker_config()
flight_tracker.limit = 10

fr_api.set_flight_tracker_config(flight_tracker, ...)

flights = fr_api.get_flights(...)  # Returns only 10 flights

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flightradarapi-1.3.26.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flightradarapi-1.3.26-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file flightradarapi-1.3.26.tar.gz.

File metadata

  • Download URL: flightradarapi-1.3.26.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for flightradarapi-1.3.26.tar.gz
Algorithm Hash digest
SHA256 6537b81097e5687c4571c10ff628cb036fea0725e3a9b3f4b2da3c8c0585bc32
MD5 75a63c31e0a37c5487b887b480f2a9ff
BLAKE2b-256 7aaaa9a69177b8f0ab3f30a3dc7c5301cf68fb44d5fc8632dd9667fce978c352

See more details on using hashes here.

File details

Details for the file flightradarapi-1.3.26-py3-none-any.whl.

File metadata

File hashes

Hashes for flightradarapi-1.3.26-py3-none-any.whl
Algorithm Hash digest
SHA256 8b9f4cb7fa347960506ca13e765412009bca2655acf76f12810a62d0d50a3d7b
MD5 33faba3cab7d8d80d29928775c0475d1
BLAKE2b-256 5b839c243d9e9c81b78a8be3083a502ce25a5fc6b56d11b76d1124f4982cb694

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page