Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/flyitalyadsb:flyitalyadsb-live-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: FlyItalyADSB Live API
version: '2'
summary: Live and historical aircraft positions worldwide from the FlyItalyADSB community ADS-B/MLAT network. Commercial use allowed on every plan, Free included; the whole world in one request from the Pro plan (€49/month).
description: 'Unfiltered aircraft data (no FAA/LADD/BARR filtering; military aircraft included, many of them via MLAT) from a global community-run receiver network (about 3,200 receivers, densest in North America and Europe; any point on Earth can be queried), as readsb aircraft.json records (the same format as tar1090), plus an ADS-B Exchange v2–compatible variant at /api/aircraft/v2. Every endpoint except the key signup needs an X-Api-Key; keys are self-serve (see /auth.md). Plans and limits: https://flyitalyadsb.com/en/data/api/#piani. The same key works on the MCP server at https://flyitalyadsb.com/mcp. The same data is also served in the ADS-B Exchange v2 format (same paths, key headers and JSON; radius in nautical miles) at https://api.flyitalyadsb.com/api/aircraft/v2, documented at https://flyitalyadsb.com/en/data/api/docs/adsbx-v2/.'
termsOfService: https://flyitalyadsb.com/en/terms/
contact:
name: FlyItalyADSB
email: info@flyitalyadsb.com
url: https://flyitalyadsb.com/en/contact/
license:
name: 'Data: CC BY-SA 4.0'
url: https://creativecommons.org/licenses/by-sa/4.0/
servers:
- url: https://api.flyitalyadsb.com
security:
- ApiKey: []
tags:
- name: Live
description: What the network is receiving now.
paths:
/v2/icao/{hex}:
get:
summary: One aircraft by ICAO address
tags:
- Live
parameters:
- name: hex
in: path
required: true
description: 24-bit ICAO address, hex (case-insensitive).
schema:
type: string
responses:
'200':
description: The aircraft currently seen with this identifier.
headers:
X-FIA-Plan:
$ref: '#/components/headers/X-FIA-Plan'
X-FIA-Used-Month:
$ref: '#/components/headers/X-FIA-Used-Month'
content:
application/json:
schema:
$ref: '#/components/schemas/Aircraft'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: No aircraft with this identifier is being received right now.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
$ref: '#/components/responses/TooManyRequests'
'503':
$ref: '#/components/responses/Unavailable'
operationId: getV2IcaoByHex
x-operation-id-source: derived
/v2/callsign/{callsign}:
get:
summary: One aircraft by callsign
tags:
- Live
parameters:
- name: callsign
in: path
required: true
description: Flight callsign (case-insensitive).
schema:
type: string
responses:
'200':
description: The aircraft currently seen with this identifier.
headers:
X-FIA-Plan:
$ref: '#/components/headers/X-FIA-Plan'
X-FIA-Used-Month:
$ref: '#/components/headers/X-FIA-Used-Month'
content:
application/json:
schema:
$ref: '#/components/schemas/Aircraft'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: No aircraft with this identifier is being received right now.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
$ref: '#/components/responses/TooManyRequests'
'503':
$ref: '#/components/responses/Unavailable'
operationId: getV2CallsignByCallsign
x-operation-id-source: derived
/v2/reg/{reg}:
get:
summary: One aircraft by registration
tags:
- Live
parameters:
- name: reg
in: path
required: true
description: Registration, e.g. MM62179 (case-insensitive).
schema:
type: string
responses:
'200':
description: The aircraft currently seen with this identifier.
headers:
X-FIA-Plan:
$ref: '#/components/headers/X-FIA-Plan'
X-FIA-Used-Month:
$ref: '#/components/headers/X-FIA-Used-Month'
content:
application/json:
schema:
$ref: '#/components/schemas/Aircraft'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: No aircraft with this identifier is being received right now.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
$ref: '#/components/responses/TooManyRequests'
'503':
$ref: '#/components/responses/Unavailable'
operationId: getV2RegByReg
x-operation-id-source: derived
/v2/lat/{lat}/lon/{lon}/dist/{dist}:
get:
summary: All aircraft within a radius of a point
description: 'The radius is in kilometres (ADSBx v2 uses nautical miles). The maximum radius depends on the plan: https://flyitalyadsb.com/en/data/api/#piani.'
tags:
- Live
parameters:
- name: lat
in: path
required: true
description: Latitude, decimal degrees.
schema:
type: number
- name: lon
in: path
required: true
description: Longitude, decimal degrees.
schema:
type: number
- name: dist
in: path
required: true
description: Radius in km.
schema:
type: number
minimum: 0
responses:
'200':
description: Aircraft within the radius.
headers:
X-FIA-Plan:
$ref: '#/components/headers/X-FIA-Plan'
X-FIA-Used-Month:
$ref: '#/components/headers/X-FIA-Used-Month'
content:
application/json:
schema:
$ref: '#/components/schemas/AircraftList'
'400':
description: lat, lon or dist is not a number.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
description: The radius is above the plan's maximum (the body carries max_radius_km and a link to the plans).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
$ref: '#/components/responses/TooManyRequests'
'503':
$ref: '#/components/responses/Unavailable'
operationId: getV2LatByLatLonByLonDistByDist
x-operation-id-source: derived
components:
responses:
Unavailable:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
TooManyRequests:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
Unauthorized:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
schemas:
AircraftList:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
Error:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
Aircraft:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
headers:
X-FIA-Plan:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
X-FIA-Used-Month:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
externalDocs:
description: 'API page: plans, endpoints, free key'
url: https://flyitalyadsb.com/en/data/api/