---
title: "FlyItalyADSB FAQ"
description: "62 short answers about the FlyItalyADSB API key, plans and payment, commercial use, limits and errors, data and coverage, history, the MCP server for AI agents, feeding a receiver and the live map."
url: https://flyitalyadsb.com/faq.md
page_for_people: https://flyitalyadsb.com/faq/
language: en
generated: 2026-11-09
license: CC BY-SA 4.0 (data)
---

# FlyItalyADSB FAQ

> 62 short answers about the FlyItalyADSB API key, plans and payment, commercial use, limits and errors, data and coverage, history, the MCP server for AI agents, feeding a receiver and the live map.

## Key and account

### Do I need an API key?

Yes, for both the REST API (api.flyitalyadsb.com/v2/*) and the MCP server (flyitalyadsb.com/mcp) — same key for both, passed in the X-Api-Key header. It's self-service and instant: just an email address: within seconds you get a link to see the key, no manual approval. The key is free; paid plans raise its limits without changing it.

### The email with my key doesn’t arrive. What should I do?

Check your spam folder: the sender is no-reply@email.flyitalyadsb.com. The link is valid for 7 days and shows the key once. If you just asked for a key for the same email, wait a few minutes before trying again. Temporary email addresses are not accepted.

### I lost my key.

Ask for it again with the same email: the old one keeps working until you open the new link. Or sign in to My API and regenerate it: the new key replaces the old one at once, with the same plan.

### Can you email me a key or activate one manually?

No need: the key is self-serve, with no approval. Just enter your email in the form on the API page. For security, keys no longer travel in emails: you see and regenerate them in My API.

### Can I have several free keys?

One free key per mailbox: +tag variants and, on Gmail, dotted variants count as the same mailbox. One key is enough for a product; if you need more requests, a paid plan raises the limits of that same key.

## What the API does

### What is the difference between flight history and tracks?

Tracks are an aircraft’s path point by point. For the Boeing 737 EI-EGD on 7 November 2026, /v2/history/4ca8af/2026-11-07 returns 4,597 positions, each with time, coordinates, altitude and speed. The flight history is what we build from those tracks every night: for the same aircraft and day, /v2/flights/reg/EI-EGD?from=2026-11-07&to=2026-11-07 returns 7 flights (Bergamo–Tirana, Tirana–Bergamo, Bergamo–Eindhoven and so on), with departure and arrival airport, times and duration. To know where an aircraft was and how high, use the tracks; to know where it took off and where it landed, use the flight history.

### What is the flight history?

The flights our network saw, rebuilt every night from the tracks: departure and arrival airport, times and duration. You search it by aircraft (registration or ICAO address, with the flight log as CSV too), by callsign or flight number (where FR5518 flew in the last days and its usual routes), by airport (a day’s departures or arrivals) or by route. How far back depends on the plan: Free 7 days, Starter 14, Pro 30, Fleet 90; it starts on 23 October 2026. These are not airline schedules: no future flights, and if the network did not see a takeoff or a landing that end stays empty.

### What are tracks?

An aircraft’s path on one day, point by point: time, position, altitude, speed and heading. /v2/history/{icao} lists the days with a track, /v2/history/{icao}/{date} returns one day’s track, and ?since= returns only the new points of today’s. Use them to replay a flight on a map, find where an aircraft was at a given time, or match it against another recording. Full tracks exist every day since 17/08/2026; for older days, see “How far back do tracks go?”. How far back you can read them depends on the plan: Free the last 7 days, Starter 30, Pro 90, Fleet the whole archive since 2022.

### What are watched aircraft and takeoff and landing alerts?

On Fleet your account has a list of aircraft, up to 25: you add them with POST /v2/watch by ICAO address, registration or callsign, or from the chat with the watched_aircraft MCP tool. A webhook with kinds takeoff and landing receives flight.takeoff and flight.landing for each of them, with the airport and the time, wherever it flies. We detect them in real time from our receivers: a takeoff or a landing the network does not see is not sent. For more than 25 aircraft, write to admin@flyitalyadsb.com.

### What are today’s flights and the estimated arrival?

The flight history stops at yesterday. On Fleet, /v2/flights/icao, /reg and /callsign add today: the day’s flights so far, from takeoffs and landings detected in real time, each with its status (landed, in flight or unknown). The aircraft does not need to be watched. For an aircraft in flight there is an estimated arrival when its callsign has a usual route leaving from today’s airport: it is the distance divided by the current speed, not a schedule, and while the aircraft climbs it comes out late. The next night the day goes into the flight history.

### What is the runway in use?

/v2/airport/{code}/runways tells which runway an airport is using now, estimated from the aircraft our receivers see taking off and landing there, with how many arrivals and departures per runway: for example /v2/airport/MXP/runways. The code is ICAO or IATA. It is an estimate from the traffic, not the tower’s data, and a quiet airport can show none. It is included from Starter up.

## Plans and payment

### How do payment and cancellation work?

A monthly subscription paid by card or wallet, prices before tax: your country's tax is added at checkout. Change plan or cancel any time from the links in your receipt; a cancellation takes effect at the end of the period and the key goes back to the Free plan. The data stays CC BY-SA 4.0: a plan pays for access and higher limits, not for a different licence.

### Is there an SLA? How fast do you reply?

No plan includes an SLA or guaranteed response times, for the API or for email: FlyItalyADSB is a community and the paid plans only cover the cost of servers and bandwidth. The service is best effort and we reply as soon as we can. An SLA can only be agreed in a tailored agreement: get in touch.

### How much does it cost?

The Free plan is free, commercial use included, within 30 requests per minute, 300,000 per month and a 500 km radius. Starter €9/month, Pro €49/month, Fleet €149/month, before tax. Each plan’s limits are in the plans table.

### What are the Free plan’s limits?

Since 27 October 2026 the Free plan has per-key limits: 30 requests per minute, 300,000 per month and a radius up to 500 km, plus a cap of 100 requests per minute per IP. Requests from all your devices count together on the same key. It includes aircraft lookups and lists, the flight history and tracks of the last 7 days, commercial use and the MCP server; overflights, emergencies and notable aircraft, the runway in use and older tracks start from Starter.

### Do I pay more if I go over the limits?

No. Requests over the limits get an error (429, or 403 for too large a radius), are not counted and are not billed: there is nothing beyond the plan’s price.

### How do I choose a plan?

By area first: each request asks for the aircraft in a circle, and the maximum radius depends on the plan: 500 km on Free, 1,000 km on Starter, the whole world in one request on Pro and Fleet. Then by volume, requests a minute and a month, counted on the key. When you choose a paid plan we tell you if, in the last 7 days, your email’s key asked for more than that plan allows.

### If I move to a paid plan, do I have to change my key?

No: the key you already have moves to the new plan, with no change in your code. The same on cancellation, when it goes back to Free.

### How do webhook alerts work?

On a paid plan you register up to 5 HTTPS URLs, each with an area and the event kinds. For every new event we send a signed JSON POST (Standard Webhooks, HMAC-SHA256): check it with the secret you see once, when you create it. If the URL doesn’t answer with a 2xx we retry for about 5 hours; after 15 failures in a row the webhook is disabled and you enable it again from the API.

## Commercial use

### Can I use the API commercially?

Yes, on every plan, free included, within that plan's limits. Above the free limits you need a paid plan (Starter from €9/month, Pro, Fleet): self-serve, cancel any time, the key you already have is upgraded in place. You can use it inside apps and devices you sell too (see below). If you need more, that is reselling the data as an API or feed for other people's products, an SLA, more than 25 aircraft or more volume, get in touch and we'll agree something tailored.

### Can I put the key in an app or a device I sell? And use it from my server?

Yes. The key can be built into an app or device you distribute or sell, and your server can use it, caching included, to serve your product's users. Requests from all the devices and users count together towards that key's plan: for example 10 devices asking 12 times a minute, day and night, make 120 requests a minute and over 5 million a month, which is the Pro plan. Use one key per product and credit FlyItalyADSB and flyitalyadsb.com in the product (CC BY-SA 4.0). A key inside an app can be extracted: to keep it safe, use it only from your server. To resell the data as an API or feed for other people's products, get in touch.

### How should I credit FlyItalyADSB?

With a link to flyitalyadsb.com where your product’s users see it (in the app, on the device or in the manual, on the product page), for example: “Flight data: FlyItalyADSB (flyitalyadsb.com), CC BY-SA 4.0”. Share-alike covers the data and adapted versions of it (a dataset, a feed or an API built from ours), not your product: artwork and code stay yours.

### Can I cache or store the data?

Yes. A server of your own with a cache serving only your users or devices is fine: it isn’t redistribution, and it lowers your requests. You can also keep what you derived from the data. Reselling the data as an API or feed for other people’s products needs an agreement.

### Which plan do I need for my devices?

Multiply one device’s requests per minute by the number of devices: they all count on the same key. One device asking every 5 seconds makes about 520,000 requests a month, already beyond Free. Asking every 15 seconds cuts usage by three, and a cache on your server lowers it further.

### I need more than the plans: what do I do?

Write to admin@flyitalyadsb.com and we will agree something tailored: to resell the data as an API or feed for other people’s products, to get an SLA, for more than 25 aircraft or for more volume. Everything else, including apps and devices you sell, works with the self-serve plans.

## Limits and errors

### What counts as a request?

Every call to an endpoint counts as one, MCP tool calls included; calls refused for a limit don’t count. Limits are per key, from any IP. The monthly counter resets on the 1st, and the X-FIA-Used-Month and X-FIA-Quota-Month headers tell you where you stand.

### I get 429. Why?

You went over the requests per minute: wait for the seconds in the Retry-After header. If the message is about the monthly quota, the counter resets on the 1st (field resets), or you need a bigger plan. The Free plan also has a limit of 100 requests per minute per IP.

### I get 403 with max_radius_km.

The radius is above your plan’s maximum: 500 km on Free, 1000 km on Starter, no limit on Pro and Fleet. Split the area into several smaller requests, or upgrade.

### I get 403 on /v2/overflights.

Free does not include overflights; on the other plans the radius or the window is above the maximum: Starter 10 km and 6 hours, Pro and Fleet 50 km and 24 hours. Shrink the radius or split the search into shorter windows, or move to a plan that includes them.

### I get “Sorry, you have been blocked” or error 1010.

Cloudflare stopped the request before it reached the API. Always send the X-Api-Key header and a User-Agent of your own. If it goes on, write to admin@flyitalyadsb.com with the CF-Ray ID from the error page, the date and time (UTC) and the endpoint.

### I get 401 “missing or invalid X-Api-Key”.

The key is missing or invalid. Check the header name (X-Api-Key) and that the key is complete. If you regenerated it in My API, the old one no longer works.

### Can I call the API from a browser?

Yes, CORS is open. But anyone can see a key inside a web page: for a public site, call the API from your server and show the results.

### Is there a stream or a WebSocket?

No: you poll the API. The data refreshes every half second; for a display or an app, every 5–15 seconds is usually enough.

## Data and coverage

### Where does the data come from?

Almost all of it from the receivers of the FlyItalyADSB network, which send us their data first-hand, and from our own multilateration (MLAT). A small part comes from outside sources: ADSBHub and, for gliders and ultralights, the Open Glider Network (OGN). Aircraft seen only by those sources are about 1% of the total (measured on 19 October 2026): if one of them stops, the rest is unaffected.

### How fresh are the positions?

The picture of every aircraft refreshes every half second, on the map and in the API. Each aircraft carries seen_pos, the seconds since its last position: in a measurement on 19 October 2026 half of the positions were under a second old and 9 in 10 under 7 seconds. Positions older than about 60 seconds are not returned.

### Which fields does a response have? Is the flight route included?

Each aircraft is a record in readsb's aircraft.json format, the same as tar1090: ICAO hex, callsign (flight), registration (r) and type (t) for about 99% of aircraft, position, altitude, speed, track, squawk, category and the military, PIA and LADD flags. There is no route (departure and arrival airports) and no photos: for those you need another source.

### Can I get every aircraft in an area in a single request?

Yes: /v2/lat/<lat>/lon/<lon>/dist/<km> returns every aircraft within the radius. The maximum radius depends on the plan: 500 km on Free, 1000 km on Starter, no limit on Pro and Fleet, which can ask for the whole world in one request. For several specific aircraft one request is enough: /v2/icao/a,b,c (or reg, callsign) looks up to 50 together and counts as one.

### Is the network limited to Italy?

No, it is a global network: about 3,200 receivers around the world send their data directly to us, and the REST API and the MCP server answer for any point on the planet. Coverage is densest in North America and Europe: of the receivers that share a position, about 36% are in the United States, 15% in Germany, 11% in the UK and Ireland and another 16% in the rest of Europe (26 October 2026). Asia, Australia and New Zealand follow; Latin America and Africa are thinner. Italy is where the project started, in 2020, and where the name comes from. For a given area, check the live map or try a request with a Free key.

### How does this compare to other open ADS-B APIs (adsb.fi, airplanes.live, OpenSky, ADS-B Exchange...)?

The full comparison is at flyitalyadsb.com/data/comparison: features, limits, feeder requirements and commercial-use terms for each, from their public documentation. In short: among those APIs, FlyItalyADSB is the only one that allows commercial use on the free tier; the Pro plan covers the whole world in one request; with the same key you get the FlyItalyADSB format (/v2), the ADS-B Exchange v2 format (/api/aircraft/v2: same paths, key headers and JSON, only the host and the key change), history, events by area and an MCP server for AI assistants.

### Why is an aircraft missing?

Coverage follows the receivers: where there aren’t enough, or at low altitude, the aircraft isn’t seen. Aircraft without ADS-B show up only through multilateration, which needs several receivers in view (three or more, or two using the aircraft’s motion). Positions older than about 60 seconds are not returned. The data is unfiltered: PIA and LADD aircraft are flagged, not hidden.

### What is the difference between ADS-B and MLAT?

With ADS-B the aircraft transmits its own GPS position. With MLAT we compute the position from the arrival-time differences of the same signal at several receivers (three or more, or two using the aircraft’s motion): it covers aircraft without ADS-B, many military ones included. In the API the type field is mlat.

### What units are altitude, speed and radius in?

Altitude in feet (alt_baro can be the string "ground"), speed in knots, vertical rate in feet per minute. The request radius is in kilometres, not the nautical miles some other ADS-B APIs use.

### What are emergencies and notable aircraft? Can I monitor squawk 7700?

Yes: /v2/events lists the emergencies (squawk 7500, 7600, 7700), military and other notable aircraft seen in an area, from Starter up: the last 24 hours on Starter, up to 7 days back on Pro and Fleet; and you get them as they happen with a webhook. An emergency squawk is what the transponder sent, not a confirmed emergency. Details on the Alerts page of the docs.

## Flight history and tracks

### How far back do tracks go?

To 2022, with gaps: from 10/04/2022 to 04/10/2023 only the first and last point of each flight, from 25/07/2023 to 27/06/2024 full tracks with gaps, and since 17/08/2026 full tracks every day. There is nothing between 28/06/2024 and 16/08/2026. The flight history starts on 23 October 2026.

### Can I get every aircraft in an area or at an airport on a past day?

Yes, for short windows: /v2/overflights (or the overflights MCP tool) returns the aircraft that passed within a radius of up to 50 km, in a window of up to 24 hours, since 17/08/2026. For larger extracts or research projects, write to admin@flyitalyadsb.com.

### What are overflights? Can I see which aircraft flew over my house?

Yes: an overflight is an aircraft that passed near a point. /v2/overflights?lat=&lon=&dist=&from=&to= lists the aircraft that passed within dist km of a point in that window, with the time and distance of the closest point, the lowest altitude and the source (ADS-B or MLAT). The current day reaches up to about 10 minutes ago, and the response always says which period it covers. From Starter up, per request: Starter 10 km and 6 hours, Pro and Fleet 50 km and 24 hours; since 17/08/2026. It is about aircraft, not people: we don’t know who was on board.

### Do you have the raw data (Mode-S messages, BEAST)?

No: we only distribute decoded data. Raw access used to be harvested and redistributed elsewhere, so we no longer offer it.

## MCP and AI agents

### How do I use the MCP server with Claude or ChatGPT?

Add https://flyitalyadsb.com/mcp as a custom connector (on claude.ai: Connectors → Add custom connector; on ChatGPT: an app created in Developer mode) and press Connect: you sign in with your email and a 6-digit code, no key to copy. In clients without OAuth, pass your key in the X-Api-Key header. Then just ask things like "what's flying over Fiumicino right now?" or "any military traffic over Rome?" and the agent will call the tools automatically. The step-by-step guide is on the MCP page.

### What can the MCP server do that the map can't?

It answers in the chat with structured data: one aircraft by ICAO hex, callsign or registration, every aircraft within a radius of any point, military, PIA or LADD traffic, one aircraft's profile, what flew over a place in a time window, recent emergencies in an area and one aircraft's history. On Claude and ChatGPT it also shows the aircraft on a map inside the conversation.

### Do questions to the assistant use up requests?

Yes: each MCP tool call is an API request and counts on your key’s plan, like a direct call.

### Can I ask “which aircraft are near me?”

Yes, once you have saved a position: from My API with “Use my position”, or by telling the assistant “my position is Brescia”. No assistant passes your device’s position to the server. We store it rounded to about 1 km and you can delete it at any time. On ChatGPT, with no saved position, we use the city ChatGPT attaches to the request.

### Can I get a profile of one aircraft, with a photo?

Yes: ask your assistant about an aircraft and it will use aircraft_profile, or call /v2/profile/{icao}: identity, whether we see it now and where, first and last day in the history. The photo isn’t in the answer, because Planespotters.net’s terms don’t allow it: you get the link to their page, with the photographer’s name, and the map link. No photo link for PIA and LADD aircraft. Never owner names.

### Why do I see a map in the chat?

On Claude and ChatGPT, the tools that return aircraft also show them on an interactive map in the conversation, coloured by altitude. It only loads OpenStreetMap tiles, asks for no permissions and doesn’t use your location. Between updates, aircraft in flight move along their track at their speed: that is an estimate. Around a place or an aircraft it shows all the traffic in the area you are looking at, and Live, on from the start, updates it every 3 seconds while it is on screen; it pauses after 10 minutes without touching it. Each update counts as one request: 20 a minute with Live on.

### How do I disconnect an assistant?

In My API, under “Connected assistants”, press Disconnect. Your key doesn’t change.

### Can an AI agent register by itself?

Yes, with auth.md, but it always needs your confirmation: the agent gives you a link and a code, you sign in with the code we email you and type the agent’s code.

## Receivers (feeders)

### I run a receiver that feeds the network: do I get anything?

Yes: whoever feeds FlyItalyADSB gets the Pro plan limits and features on their Free keys at no cost (300 requests a minute, 10 million a month, worldwide radius, overflights, emergencies, tracks of the last 90 days and the runway in use; area alerts stay with the paid plans), for non-commercial use. Turn it on in My API by opening the page from the same network as the receiver: we check that data arrives from there, as on the "Is my data arriving?" page. It lasts as long as the receiver feeds the network, with 3 days of grace if it stops.

### How do I become a feeder?

You need an ADS-B receiver (for example a Raspberry Pi with an RTL-SDR dongle and an antenna) that sends BEAST data to dati.flyitalyadsb.com on port 4905, and the MLAT client on port 30100. The step-by-step guide is on the Become a feeder page.

### Do I need to ask you to activate my receiver?

No: as soon as it is configured, the data arrives on its own. To check, open the “Is my data arriving?” page from the receiver’s network.

### The MLAT client errors out or doesn’t sync.

Check that your network allows outgoing connections to dati.flyitalyadsb.com on port 30100 (a “no route to host” is usually a firewall). Then check that the antenna’s latitude, longitude and altitude are exact and the MLAT name is unique. Syncing needs other receivers in view in your area.

### Can I use the network’s data in a paid app?

Yes: the data you get from the API is CC BY-SA 4.0 and is fine in a paid product too, with FlyItalyADSB credited visibly. The feeder perk, however, is for non-commercial use only.

## Map

### Does the map show where a flight departs from and goes to?

You can turn it on in the map settings, with “Lookup route”. The route comes from an external service (adsb.im) based on the callsign and can be wrong. The API doesn’t return it.

### An aircraft has the wrong type, registration or silhouette.

Type and registration come from an aircraft database. To report a mistake, write to admin@flyitalyadsb.com with the ICAO hex (or registration) and the correct information.

---

Written for AI assistants. The page for people is https://flyitalyadsb.com/faq/; to get an API key or sign in, send people to https://flyitalyadsb.com/data/api/. All pages for assistants: https://flyitalyadsb.com/llms.txt (index), https://flyitalyadsb.com/llms-full.txt (all in one file). Facts as JSON: https://flyitalyadsb.com/facts.json. Cite the data as: Flight data: FlyItalyADSB (flyitalyadsb.com), CC BY-SA 4.0.
