You searched for a free flight data API, and you probably expect one answer. There are really three, and only one of them is easy to get for free.
A free API that needs no key will tell you where aircraft are right now. A free API that needs a key will tell you departures, arrivals and delays, but only a few hundred requests a month. And nothing free will sell you a ticket price. On top of that, several of the "free" ones are only free for personal use.
We tested the no-key ones side by side on 1 November 2026, read the licences, and wrote down what each one cannot do.
What "flight data" means (and which kind is free)#
Before you pick an API, decide which of these you need. Most disappointment comes from mixing them up.
| Kind of data | Example question | Free option | Needs a key? |
|---|---|---|---|
| Live positions (ADS-B) | Which aircraft are above this airport right now? | adsb.lol, adsb.fi, OpenSky, airplanes.live | No (airplanes.live asked us to email first) |
| Flight status and schedules | Is flight BA117 on time? What leaves JFK at 6pm? | Aviationstack, AirLabs, FlightAware AeroAPI (small free allowances) | Yes |
| Fares and booking | What is the cheapest fare to Lisbon? | None we found | Yes, and paid |
ADS-B is what an aircraft broadcasts about itself: its position, altitude and speed. Community receivers pick it up and share it. Wikipedia's ADS-B article notes that only equipped aircraft appear, so aircraft with older transponders, or none, are missing. That matters for the test below.
If you came for prices, read our guides to the Google Flights API and flight booking APIs, or the wider best travel APIs roundup. The rest of this page is about live and status data.
Free flight data APIs at a glance#
| API | Key needed? | Free limit | What you get | Terms |
|---|---|---|---|---|
| adsb.lol | No (a key can be requested) | "Dynamic" limits, none published | Live positions, registration, aircraft type | ODbL 1.0 |
| OpenSky | No (accounts get more) | 400 credits a day anonymous, 4,000 with an account | Live positions, 10 second resolution anonymous | Non-profit research and education; commercial needs a written licence |
| adsb.fi | No | 1 request a second | Live positions within 250 NM | Personal, non-commercial only; attribution required |
| airplanes.live | Email them first | Not confirmed (see below) | Live positions | Non-commercial per its guide, which returned a 404 when we looked |
| Aviationstack | Yes | 100 requests a month | Real-time flights, status, schedules | Check its terms |
| AirLabs | Yes | Free plan, small allowance | Flights, schedules, airports, airlines | Free plan is personal use |
| FlightAware AeroAPI | Yes | $5 of usage a month, 10 result sets a minute | Status, positions, tracks | Personal tier is personal or academic only |
How we tested#
We wanted to answer one practical question: if you ask three free APIs about the same sky at the same moment, do you get the same aircraft?
- When and where: 1 November 2026 around 06:48 UTC, over a box around New York: latitude 40.5 to 41.0, longitude -74.3 to -73.6. It was the middle of the night there, so the sky was quiet. A busy hour would give bigger numbers.
- Same area: OpenSky takes a box. adsb.lol and adsb.fi take a circle, so we asked each for a 60 nautical mile circle around the middle and kept only the aircraft inside the same box.
- Repeats: five rounds, six seconds apart, from one machine on an ordinary internet connection. We timed each call.
- Not tested: airplanes.live, because it refused our call (more below), and every API that needs a key, because that needs accounts.
What came back#
| OpenSky | adsb.fi | adsb.lol | |
|---|---|---|---|
| Aircraft in the box | 7 to 8 | 18 to 19 | 29 |
| Median response time | 0.45 s | 0.32 s | 0.44 s |
| Registration and aircraft type | Not among its 17 values | Yes | Yes, 28 of 29 |
| Origin and destination | No | No | No |
Across the three, 31 different aircraft were seen. adsb.lol returned 29 of them. adsb.fi returned 19 and OpenSky 8. In an earlier round of the same test, five of OpenSky's seven aircraft were also in adsb.lol's list, and 16 of adsb.fi's were.
What we can and cannot conclude#
- Speed is not the difference. All three answered in under half a second.
- Coverage is. adsb.lol returned the most aircraft in this box. We did not find out why OpenSky returned so few; it may be down to receiver coverage and its anonymous access, which the docs describe as limited.
- One area, one hour, one connection. Counts will differ at busy times or in other parts of the world. Run the same test over the area you care about before you commit.
- None of them tell you where a flight is going. The responses we got contain no origin or destination. If you need routes, you need a status API with a key.
Option 1: adsb.lol (open data, no key)#
adsb.lol's docs page says the API is available to everyone, gives the licence as ODbL 1.0, and says you can request a key on its request page. Its GitHub README says rate limits are "dynamic" based on load, and that in future a key may be required, obtainable by feeding data to the network. The API is described as compatible with the ADSBExchange v2 format.
A working call with no key, which we ran:
import requests
# Aircraft within 25 nautical miles of JFK, no API key
url = "https://api.adsb.lol/v2/point/40.64/-73.78/25"
data = requests.get(url, timeout=10).json()
for a in data["ac"][:5]:
print(a.get("flight", "").strip(), a.get("r"), a.get("t"), a.get("alt_baro"), a.get("gs"))It printed call sign, registration, aircraft type, altitude and ground speed for each aircraft, for example a Delta 757 at 2,225 feet. Aircraft on the ground show "ground" in the altitude field, so handle that value as text.
The catch: no published limit means no promise. Cache your results and do not poll every second.
Option 2: OpenSky (free, but read the terms)#
OpenSky is the best known of the free APIs. Its REST docs describe anonymous access as 400 credits a day, a registered account as 4,000, and an active feeder as 8,000. A small box costs one credit; larger areas cost 2 to 4. Anonymous results have a 10 second resolution, and the time parameter is ignored, so you only get the latest picture. Authenticated users can look back up to one hour, and tracks up to 30 days.
Our calls returned an x-rate-limit-remaining header that counted down by one per call, which matches the docs.
The catch is the licence. OpenSky's terms of use say the data is licensed for non-profit research and non-profit education only. Any use by a for-profit or commercial entity needs a written licence from OpenSky. That includes uses you might call small, such as an internal dashboard at a company. If you are a business, treat OpenSky as something to ask about, not something to start with.
Option 3: adsb.fi (no key, non-commercial)#
adsb.fi's open data API took our calls with no key and answered fastest in the test. Its GitHub page gives the rules: 1 request a second on public endpoints, a radius of up to 250 nautical miles, and a ban after repeated 4xx errors. The older /v2/lat/lon/dist endpoint is deprecated, so use /v3/lat/{lat}/lon/{lon}/dist/{dist} for anything new.
The terms say the service is for personal, non-commercial use only, that you may not resell the data, and that you must credit adsb.fi with a link to its home page. For commercial or higher-rate needs it asks you to get in touch.
Option 4: airplanes.live (ask first)#
Our first call to airplanes.live returned HTTP 403 with a message asking us to email them with a description of the project and links. That is a polite gate, not a bug, and we did not contact them.
The details we could find come from secondhand sources: a search result snippet of its API guide describes a rate limit of 1 request a second and "non-commercial use", and a comparison page by another ADS-B vendor says something similar. The guide page itself returned a 404 when we opened it, so treat these numbers as unconfirmed.
Free flight APIs that need a key#
If you need departures, arrivals, delays or the route, the free no-key options will not do. These are the free allowances we could read:
- Aviationstack: the free plan is $0 for 100 requests a month with HTTPS included and no historical data. Paid plans start at $49.99 a month for 10,000 requests.
- AirLabs: the free plan is listed for personal use with a small query allowance. The Developer plan, which is the first with commercial use, is $49 a month for 25,000 queries.
- FlightAware AeroAPI: the Personal tier has no minimum, with a free usage allowance of $5 a month ($10 for ADS-B feeders) and 10 result sets a minute. Its page limits the tier to personal or academic use. The next tier, Standard, has a $100 a month minimum.
- AeroDataBox: a free plan of 600 units a month on RapidAPI, according to a third-party roundup. We did not open its own page.
- FlyItalyADSB: its own comparison page, which is written by the vendor, says a free key by email gives 30 requests a minute and 300,000 a month, with commercial use allowed. We have not verified that, and we did not test it.
One pattern: AirLabs and FlightAware both put commercial use above the free tier. Unless a plan's terms say otherwise, assume a free plan is for learning and prototyping.
Which one should you choose?#
- A hobby map or a Raspberry Pi display: adsb.lol, with a small radius and a cache.
- A school or university project: OpenSky is designed for that. Credit the network.
- A startup product that shows live aircraft: start with adsb.lol's open licence, read the ODbL conditions, and plan to move to a paid or licensed source before launch. Do not build on a non-commercial API.
- A tool that needs departures and arrivals: Aviationstack or AirLabs on a free key to prototype, then a paid plan.
- Anything with fares: that is a different product, covered in our flight booking API guide.
When you turn aircraft codes into names, you will need airport and airline reference data. Our Airport & Airline Lookup API finds airports and airlines by IATA or ICAO code or name. Its free Basic plan is 500 requests a month with no card. We did not combine it with these live feeds in this test.
Mistakes to avoid#
- Treating "no key" as "no terms." Most of the APIs here have written terms that limit commercial use.
- Polling too fast. adsb.fi asks for no more than one request a second and bans on repeated errors. OpenSky counts credits.
- Assuming complete coverage. Our test saw 8 aircraft on one API and 29 on another over the same box.
- Expecting routes. None of the live-position responses we read contained origin or destination.
- Ignoring the next change. adsb.lol says a key may be required later. Do not hard-code assumptions that free and open will stay that way.
Checklist before you ship#
- Read the terms of the exact API and plan you use, not a blog summary, including this one.
- Test your own area at a busy hour and a quiet hour.
- Cache responses and respect the limits.
- Credit the source where the licence asks for it.
- Have a paid fallback if the product matters to your business.
Key takeaways#
- "Flight data" is three things: live positions, status and schedules, and fares. Only live positions are free without a key.
- adsb.lol returned the most aircraft in our test (29, against 19 and 8) and publishes an ODbL 1.0 licence.
- OpenSky and adsb.fi are free but limited to non-commercial or research use. OpenSky needs a written licence for any commercial use.
- Free key-based APIs give you hundreds of requests, not thousands, and several are personal-use only.
- Test coverage in your own area before you choose.
Sources and what we did not test#
We read these on 1 November 2026. Prices and terms change often, so confirm on the provider's own site.
Providers:
- OpenSky Network, REST API documentation
- OpenSky Network, terms of use
- adsb.lol, API documentation
- adsb.lol, API repository and README
- adsb.fi, open data API repository
- airplanes.live
- Aviationstack, pricing
- AirLabs, pricing
- FlightAware, AeroAPI pricing
Background and comparisons:
- Open Data Commons, ODbL summary
- Wikipedia, ADS-B
- FlyItalyADSB, ADS-B API comparison (written by a vendor, updated 28 October 2026)
- Geekflare, best flight data APIs in 2026 (updated 17 August 2026, no hands-on testing described)
- Google search results for "best flight data api 2026"
What we ran ourselves: HTTP calls to OpenSky, adsb.lol and adsb.fi on 1 November 2026, five rounds of the box test described above, and the Python example in this post.
Not tested: airplanes.live (it refused our call and we did not email them), Aviationstack, AirLabs, FlightAware AeroAPI, AeroDataBox and FlyItalyADSB, because they need accounts or keys. We did not read the full ODbL text, only the Open Data Commons summary and adsb.lol's own statement that it uses ODbL 1.0, and this post is not legal advice. Our counts come from one area at one quiet hour from one connection, and will differ elsewhere.