Accessing Data Collected by ADS-B Exchange

If you find this data useful, or just want to see it’s distribution continue, we greatly appreciate any donations, especially monthly recurring donations, to fund the ongoing operation of the site. This data would cost a significant amount of money to buy from other ADS-B aggregators, and would not include all military, all blocklist, and all block requested aircraft.

As noted in the legal terms and conditions, commercial (for profit or non-profit) use requires written authorization from ADS-B Exchange.  This is necessary to ensure operating this site remains financially viable and continues to provide unfiltered global tracking services.

All use other than personal non-commercial must have a commercial data license agreement.  We ask that commercial users contribute financially to the operation of this site, if they desire to use the data in any internal or external products.

Attention Developers!  Please contact us to use the API in your public app.  We will publish a blog post about your app, if you would like us to do so.  We will also work with you to provide the data you require in the most cost efficient way for ADSBx.

If you are unwilling to setup a feeder and want to access ADSBexchange data, please see our reasonably-priced API here:

Proceeds go towards maintaining and improving

There are several methods to obtain ADSBexchange data. All require some level of technical/programming knowledge to use effectively:


Live position data can be queried with various parameters are results returned in a JSON format.

Requirements for REST API data personal use license:

  1. Hosting a feeder with a range of at least 100NM sending data to ADSBx. instructions ]
  2. Feeder must be a Raspberry Pi running Stats Package and must stay active for your key to remain valid.
  3. You are a personal or enthusiast user using the data for non-commercial purposes.

If meet ALL of the above requirements you may apply for a free API key, Contact ADSBexchange via our contact form to get a key or discuss cost, you must paste the output of the commands “cat /boot/adsbx-uuid” and “curl” run on the Pi feeding data in the message.

If you need help setting up a feeder please do not use the contact form or email to request help, instead visit our discord #feeder-troubleshooting room here:

If you do not meet all requirements we suggest the use of our RapidAPI portal:

ADSBx REST API request format

NOTE: Making more then 1 API call every 5 seconds may cause your IP to be blocked, if you have multiple users for your app please consider setting up a cache to limit calls to the API servers.

  • All Aircraft
  • All Aircraft within x NM of point located at latitude, longitude ( 37.1661, -119.44944 )
  • Aircraft with ICAO hex code
  • Aircraft(s) broadcasting a squawk code
  • Aircraft(s) with ADSBx community registration information
  • Aircraft tagged by ADSBx community as Military

This is a good way to get LIVE data.  If you want historical, do NOT call this JSON repeatedly and store it.  Instead, see below!

Historical data in flat file JSON format

If you want to download a historical record of all data received by ADSBexchange, this is the section for you.

Requirements for JSON Historical Data Access:

  1. Hosting a feeder sending data to ADSBx. [instructions]
  2. You are a non-commercial personal or enthusiast user.
  3. A donation for JSON Data is 0.15 USD per GB to cover bandwidth and storage costs.

Meet the above requirements?  Contact ADSBexchange for access.

Each day is approximately 10-20GB, thus 1 day is approximately $1.50-$3.00 USD in bandwidth to download at ADSBx cost.  [donate here]

ADSBx requires all academic researchers cover the cost of ingest, aggregation, download, and storage for their use.  If you are and academic researcher with an official email, contact ADSBx for an agreement.

Data is available beginning on June 9, 2016.

If you can meet all 3 requirements, you can request access to download the JSON archive historical files here.

Please explain your use case – commercial, non-commercial, or otherwise.  State your intentions for the data, how many days of data, and how often you would like to download.  An account will be created and you will receive an email with information.   ADSBx requires that all published work using ADSBx data credits for providing the data.

All use other than personal non-commercial must have a commercial data license agreement.

Data is available in the legacy data format from June 2016 to present. This legacy format is in the process of being phased out, however it is still maintained for compatability purposes.

How the data is created:

Building on the “Querying Live Data” section above, essentially, every 60 seconds, we issue the following JSON query and store the results:

Essentially, this is a JSON of all aircraft, with “short trails” activated. The short trail duration used in the historical data archive is 65 seconds.  This gives all the current information on the aircraft, plus any known positions, altitudes and timestamps for the previous 65 seconds.  Since this query is issued every 60 seconds, all known positions should be captured in the data. Please consult this page for an explanation of data field contents.

This file is captured every 60 seconds, typically on the 30-second mark of any given minute. This generates 1,440 files daily, which then get zipped into a single archive per day.  The archive for the previous day is typically available by 0100Z (01:00 UTC) the following day. Data is available beginning on June 9, 2016. Daily files are currently in the neighborhood of 10 GB each.

Transfer rates may be somewhat limited depending on the latency of your connection.

JSON Download URL request format:

Simply extrapolate the pattern for any subsequent date.

For a full explanation of fields:

Sample Data:

Full data is password protected, however to give you a sample data set (for evaluation only) we do make the 1st day of each month available publicly for download without a password.


Redshift SQL Archive

Decommissioned temporarily.

Read the explanation here: