# Live Flight Tracker (`maximedupre/flight-tracker`) Actor

Track live aircraft positions, flight status, routes, and airport movements without a third-party API key. Export coordinates, altitude, speed, times, delays, airports, and source links.

- **URL**: https://apify.com/maximedupre/flight-tracker.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.45 / 1,000 aircraft positions

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### ✈️ Track live flights and aircraft

Flight Tracker helps travel teams, aviation analysts, and developers collect live aircraft positions, flight status, routes, delays, airport movements, and source links. Use one simple run to get clean flight data for a map, alert, dashboard, or review.

- Watch a worldwide aircraft snapshot with **[Flight Radar](https://apify.com/maximedupre/flight-tracker/examples/flight-radar)**.
- Check route, airport, time, delay, and disruption details with **[Flight Status](https://apify.com/maximedupre/flight-tracker/examples/flight-status)**.
- Collect aircraft inside a region or bounding box for a **[Live Flight Tracker Map](https://apify.com/maximedupre/flight-tracker/examples/live-flight-tracker-map)**.
- Filter scheduled or recent flights by status and delay with a **[Live Flight Status Tracker](https://apify.com/maximedupre/flight-tracker/examples/live-flight-status-tracker)**.
- Look up current aircraft by flight number, callsign, or ICAO24 ID with **[Live Flight Tracking](https://apify.com/maximedupre/flight-tracker/examples/live-flight-tracking)**.

#### 📦 What data can I get?

The Actor saves the first eligible match for each unique aircraft, flight, or airport movement. If the same source item is found again, the later match is ignored.

Depending on the target, rows can include:

- Aircraft identity, callsign, ICAO24 ID, registration country, and aircraft type
- Latitude, longitude, altitude in feet and meters, speed in knots and meters per second, heading, vertical rate, and ground state
- Flight number, status, route, airports, terminals, gates, and scheduled, estimated, or actual times
- Flight duration, distance, departure and arrival delays, diversion details, and cancellation reason when available
- Airport arrival or departure details, observation times, and a source link

#### 🚀 How do I run Flight Tracker?

1. Open the Actor and choose a target.
2. Fill in the fields for that target. Options for other targets are ignored.
3. Keep `Maximum results` small for a first run, or leave it empty to return all available results until the source is exhausted.
4. Run the Actor and open the dataset.

No third-party aviation API key is needed. Coverage depends on data reported by the source, so some fields or flights may be missing.

#### ⚙️ Input

| Field | Type | What it does |
|---|---|---|
| `target` | string | Chooses Live flights, Worldwide snapshot, Region snapshot, Bounding box, Flight status, Route, or Airport movements. |
| `region` | string | Chooses the world region for Region snapshot. |
| `bounds` | object | Sets the area for Bounding box. |
| `bounds.south` | number | Sets the south edge from -90 to 90. |
| `bounds.west` | number | Sets the west edge from -180 to 180. |
| `bounds.north` | number | Sets the north edge from -90 to 90. |
| `bounds.east` | number | Sets the east edge from -180 to 180. |
| `origin` | string | Sets the three-letter origin IATA airport code for Route. |
| `destination` | string | Sets the three-letter destination IATA airport code for Route. |
| `airports` | string\[] | Lists one or more three-letter IATA airport codes for Airport movements. |
| `movementDirection` | string | Chooses arrivals or departures for Airport movements. |
| `flightNumbers` | string\[] | Lists IATA flight numbers or ICAO callsigns for Live flights or Flight status. |
| `flightDate` | string | Sets the scheduled departure date for Flight status or Route. |
| `aircraftState` | string | Keeps all aircraft, airborne aircraft, or aircraft on the ground in a snapshot. |
| `requireUsableCoordinates` | boolean | Keeps only snapshot aircraft with usable latitude and longitude. |
| `icao24` | string\[] | Looks up ICAO24 aircraft IDs for Live flights or filters a snapshot. Leave it empty to include every aircraft in a snapshot. |
| `statuses` | string\[] | Keeps selected statuses for Flight status or Route. Leave it empty to keep every status. |
| `minDelayMinutes` | integer | Keeps flights delayed by at least this many minutes. Leave it empty to allow any delay. |
| `maxItems` | integer | Stops after this many results. Leave it empty to return all available results until the source is exhausted. |

This is the successful default-input run used for a small worldwide snapshot:

```json
{
  "target": "worldwideSnapshot",
  "aircraftState": "airborne",
  "requireUsableCoordinates": true,
  "maxItems": 10
}
```

#### 🧾 Output

Aircraft rows hold live identity and telemetry fields.

| Field | Type | What it does |
|---|---|---|
| `recordType` | string | Marks the row as `aircraft`. |
| `submittedQuery` | string | Shows the submitted value that first found the aircraft, when used. |
| `flightNumber` | string | Gives the public flight number, when known. |
| `callsign` | string | Gives the air traffic callsign. |
| `icao24` | string | Gives the six-character ICAO24 aircraft ID. |
| `aircraftRegistration` | string | Gives the aircraft registration, when known. |
| `registrationCountry` | string | Gives the aircraft registration country. |
| `aircraftType` | string | Gives the aircraft model or type code, when known. |
| `status` | string | Gives the normalized flight state, when known. |
| `position.latitude` | number | Gives latitude in decimal degrees. |
| `position.longitude` | number | Gives longitude in decimal degrees. |
| `position.barometricAltitudeMeters` | number | Gives barometric altitude in meters. |
| `position.barometricAltitudeFeet` | number | Gives barometric altitude in feet. |
| `position.geometricAltitudeMeters` | number | Gives geometric altitude in meters. |
| `position.geometricAltitudeFeet` | number | Gives geometric altitude in feet. |
| `position.speedMetersPerSecond` | number | Gives ground speed in meters per second. |
| `position.speedKnots` | number | Gives ground speed in knots. |
| `position.headingDegrees` | number | Gives the direction from north in degrees. |
| `position.verticalRateMetersPerSecond` | number | Gives the climb or descent rate in meters per second. |
| `position.onGround` | boolean | Shows if the aircraft is on the ground. |
| `squawk` | string | Gives the transponder squawk code, when reported. |
| `lastContact` | string | Gives the last source message time. |
| `collectionTime` | string | Gives the live snapshot time. |
| `sourceUrl` | string | Opens the aircraft source page. |

```json
{
  "recordType": "aircraft",
  "icao24": "39de4e",
  "callsign": "TVF87TP",
  "registrationCountry": "France",
  "position": {
    "longitude": -7.7772,
    "latitude": 37.5931,
    "barometricAltitudeMeters": 11574.78,
    "barometricAltitudeFeet": 37975.001215200005,
    "onGround": false,
    "speedMetersPerSecond": 247.94,
    "speedKnots": 481.95568959999997,
    "headingDegrees": 14.79,
    "verticalRateMetersPerSecond": 0,
    "geometricAltitudeMeters": 12245.34,
    "geometricAltitudeFeet": 40175.0012856
  },
  "squawk": "6404",
  "lastContact": "2026-07-31T16:58:54.000Z",
  "collectionTime": "2026-07-31T16:58:54.000Z",
  "sourceUrl": "https://opensky-network.org/aircraft-profile?icao24=39de4e"
}
```

Flight rows hold scheduled or recent flight details.

| Field | Type | What it does |
|---|---|---|
| `recordType` | string | Marks the row as `flight`. |
| `submittedQuery` | string | Shows the submitted value that first found the flight. |
| `flightNumber` | string | Gives the public flight number. |
| `callsign` | string | Gives the air traffic callsign, when known. |
| `icao24` | string | Gives the ICAO24 aircraft ID, when known. |
| `aircraftRegistration` | string | Gives the aircraft registration, when known. |
| `registrationCountry` | string | Gives the registration country, when known. |
| `aircraftType` | string | Gives the aircraft model or type code, when known. |
| `status` | string | Gives the normalized flight state. |
| `position.latitude` | number | Gives latitude in decimal degrees, when available. |
| `position.longitude` | number | Gives longitude in decimal degrees, when available. |
| `position.barometricAltitudeMeters` | number | Gives barometric altitude in meters, when available. |
| `position.barometricAltitudeFeet` | number | Gives barometric altitude in feet, when available. |
| `position.geometricAltitudeMeters` | number | Gives geometric altitude in meters, when available. |
| `position.geometricAltitudeFeet` | number | Gives geometric altitude in feet, when available. |
| `position.speedMetersPerSecond` | number | Gives speed in meters per second, when available. |
| `position.speedKnots` | number | Gives speed in knots, when available. |
| `position.headingDegrees` | number | Gives heading in degrees, when available. |
| `position.verticalRateMetersPerSecond` | number | Gives climb or descent rate, when available. |
| `position.onGround` | boolean | Shows if the aircraft is on the ground, when known. |
| `squawk` | string | Gives the squawk code, when reported. |
| `lastContact` | string | Gives the last aircraft message time, when available. |
| `collectionTime` | string | Gives the live snapshot time, when available. |
| `origin.iataCode` | string | Gives the origin IATA code. |
| `origin.icaoCode` | string | Gives the origin ICAO code, when known. |
| `origin.name` | string | Gives the origin airport name. |
| `origin.terminal` | string | Gives the departure terminal, when listed. |
| `origin.gate` | string | Gives the departure gate, when listed. |
| `origin.scheduledTime` | string | Gives the scheduled departure time. |
| `origin.estimatedTime` | string | Gives the estimated departure time, when known. |
| `origin.actualTime` | string | Gives the actual departure time, when known. |
| `destination.iataCode` | string | Gives the destination IATA code. |
| `destination.icaoCode` | string | Gives the destination ICAO code, when known. |
| `destination.name` | string | Gives the destination airport name. |
| `destination.terminal` | string | Gives the arrival terminal, when listed. |
| `destination.gate` | string | Gives the arrival gate, when listed. |
| `destination.scheduledTime` | string | Gives the scheduled arrival time. |
| `destination.estimatedTime` | string | Gives the estimated arrival time, when known. |
| `destination.actualTime` | string | Gives the actual arrival time, when known. |
| `route` | string | Gives the route text or airport path. |
| `durationMinutes` | integer | Gives flight duration in minutes. |
| `distanceKilometers` | number | Gives flight distance in kilometers, when known. |
| `departureDelayMinutes` | integer | Gives the departure delay in minutes. |
| `arrivalDelayMinutes` | integer | Gives the arrival delay in minutes. |
| `divertedTo.iataCode` | string | Gives the diversion airport IATA code, when used. |
| `divertedTo.icaoCode` | string | Gives the diversion airport ICAO code, when known. |
| `divertedTo.name` | string | Gives the diversion airport name, when known. |
| `cancellationReason` | string | Gives the source cancellation reason, when available. |
| `sourceUrl` | string | Opens the flight source page. |

```json
{
  "recordType": "flight",
  "submittedQuery": "AA171",
  "flightNumber": "AA171",
  "callsign": "AAL171",
  "aircraftRegistration": "N302NY",
  "aircraftType": "Airbus A321neo",
  "status": "landed",
  "origin": {
    "iataCode": "JFK",
    "name": "New York John F. Kennedy International Airport",
    "terminal": "8",
    "gate": "3",
    "scheduledTime": "2026-07-31T10:00:00.000Z",
    "estimatedTime": "2026-07-31T10:04:00.000Z"
  },
  "destination": {
    "iataCode": "LAX",
    "name": "Los Angeles International Airport",
    "terminal": "TBIT",
    "gate": "153",
    "scheduledTime": "2026-07-31T16:01:00.000Z",
    "estimatedTime": "2026-07-31T15:29:00.000Z"
  },
  "route": "JFK-LAX",
  "durationMinutes": 325,
  "departureDelayMinutes": 4,
  "arrivalDelayMinutes": 0,
  "sourceUrl": "https://www.flightstats.com/v2/flight-tracker/AA/171?year=2026&month=7&date=31&flightId=1398978557",
  "position": {
    "longitude": -118.363681,
    "latitude": 33.939305,
    "barometricAltitudeFeet": 220,
    "barometricAltitudeMeters": 67.05599785420807,
    "speedMetersPerSecond": 74.20864,
    "speedKnots": 144.250016,
    "headingDegrees": 260.6639084489392,
    "verticalRateMetersPerSecond": -5,
    "onGround": false
  },
  "lastContact": "2026-07-31T15:23:36.000Z"
}
```

Airport movement rows hold recent arrivals or departures.

| Field | Type | What it does |
|---|---|---|
| `recordType` | string | Marks the row as `airportMovement`. |
| `submittedQuery` | string | Shows the airport that first found the movement. |
| `movementDirection` | string | Says if the movement is an arrival or departure. |
| `flightNumber` | string | Gives the public flight number. |
| `callsign` | string | Gives the callsign, when known. |
| `icao24` | string | Gives the ICAO24 aircraft ID, when known. |
| `aircraftRegistration` | string | Gives the aircraft registration, when known. |
| `registrationCountry` | string | Gives the registration country, when known. |
| `aircraftType` | string | Gives the aircraft model or type code, when known. |
| `status` | string | Gives the normalized flight state, when known. |
| `origin.iataCode` | string | Gives the origin IATA code. |
| `origin.icaoCode` | string | Gives the origin ICAO code, when known. |
| `origin.name` | string | Gives the origin airport name. |
| `origin.terminal` | string | Gives the departure terminal, when listed. |
| `origin.gate` | string | Gives the departure gate, when listed. |
| `origin.scheduledTime` | string | Gives the scheduled departure time. |
| `origin.estimatedTime` | string | Gives the estimated departure time, when known. |
| `origin.actualTime` | string | Gives the actual departure time, when known. |
| `destination.iataCode` | string | Gives the destination IATA code. |
| `destination.icaoCode` | string | Gives the destination ICAO code, when known. |
| `destination.name` | string | Gives the destination airport name. |
| `destination.terminal` | string | Gives the arrival terminal, when listed. |
| `destination.gate` | string | Gives the arrival gate, when listed. |
| `destination.scheduledTime` | string | Gives the scheduled arrival time. |
| `destination.estimatedTime` | string | Gives the estimated arrival time, when known. |
| `destination.actualTime` | string | Gives the actual arrival time, when known. |
| `route` | string | Gives the route text, when known. |
| `durationMinutes` | integer | Gives duration in minutes, when known. |
| `distanceKilometers` | number | Gives distance in kilometers, when known. |
| `departureDelayMinutes` | integer | Gives departure delay in minutes, when known. |
| `arrivalDelayMinutes` | integer | Gives arrival delay in minutes, when known. |
| `divertedTo.iataCode` | string | Gives the diversion airport IATA code, when used. |
| `divertedTo.icaoCode` | string | Gives the diversion airport ICAO code, when known. |
| `divertedTo.name` | string | Gives the diversion airport name, when known. |
| `cancellationReason` | string | Gives the cancellation reason, when available. |
| `firstSeen` | string | Gives the first time the airport movement was seen. |
| `lastSeen` | string | Gives the last time the airport movement was seen. |
| `position.latitude` | number | Gives latitude in decimal degrees, when available. |
| `position.longitude` | number | Gives longitude in decimal degrees, when available. |
| `position.barometricAltitudeMeters` | number | Gives barometric altitude in meters, when available. |
| `position.barometricAltitudeFeet` | number | Gives barometric altitude in feet, when available. |
| `position.geometricAltitudeMeters` | number | Gives geometric altitude in meters, when available. |
| `position.geometricAltitudeFeet` | number | Gives geometric altitude in feet, when available. |
| `position.speedMetersPerSecond` | number | Gives speed in meters per second, when available. |
| `position.speedKnots` | number | Gives speed in knots, when available. |
| `position.headingDegrees` | number | Gives heading in degrees, when available. |
| `position.verticalRateMetersPerSecond` | number | Gives climb or descent rate, when available. |
| `position.onGround` | boolean | Shows if the aircraft is on the ground, when known. |
| `squawk` | string | Gives the squawk code, when reported. |
| `lastContact` | string | Gives the last aircraft message time, when available. |
| `collectionTime` | string | Gives the snapshot time, when available. |
| `sourceUrl` | string | Opens the flight source page. |

```json
{
  "recordType": "airportMovement",
  "submittedQuery": "JFK",
  "movementDirection": "departure",
  "flightNumber": "5C984",
  "origin": {
    "iataCode": "JFK",
    "icaoCode": "KJFK",
    "name": "New York John F. Kennedy International Airport",
    "scheduledTime": "2026-07-30T19:30:00.000Z"
  },
  "destination": {
    "iataCode": "TLV",
    "name": "Tel Aviv-Yafo",
    "scheduledTime": "2026-07-30T19:30:00.000Z"
  },
  "sourceUrl": "https://www.flightstats.com/v2/flight-tracker/5C/984?year=2026&month=7&date=30&flightId=1398763385"
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. Charges are tied to each saved live aircraft position and each saved scheduled or operated flight status. A run that saves none of those charged rows does not add either event charge. Check the current event prices on the Actor page before you run it.

#### 🔌 Integrations

Send results to Google Sheets, Slack, webhooks, cloud storage, or your own app with Apify integrations and API tools. You can also schedule repeat flight status checks or aircraft snapshots.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Do I need an aviation API key?

No. You do not need to supply a third-party aviation API key.

##### Is this a flight price tracker or booking tool?

No. It tracks aircraft, flight status, routes, and airport movements. It does not return fares, compare prices, or book flights.

##### Does it stream every aircraft every second?

No. Each run collects the latest available snapshot. Use an Apify schedule for repeat checks.

##### Why is a flight or field missing?

Source coverage can vary by aircraft, place, time, and receiver network. Fields are saved only when the source provides them.

##### What happens when the same flight is found twice?

The first eligible match is saved. A later duplicate in the same run is ignored.

### 📝 Changelog

#### 0.0: Initial release

- Track live aircraft worldwide, inspect flights by route and status, and look up aircraft by flight number, callsign, or ICAO24 ID.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~flight-tracker/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Award Flights Scraper](https://apify.com/maximedupre/award-flights-scraper) finds award seats, miles, taxes, cabins, and booking links by route and date.
- [EasyJet Scraper](https://apify.com/maximedupre/easyjet-scraper) collects EasyJet fares and flight times for route checks.
- [Flight Scraper](https://apify.com/maximedupre/flight-scraper) compares public itinerary prices, airlines, stops, times, and booking links.
- [Ryanair Scraper](https://apify.com/maximedupre/ryanair-scraper) collects Ryanair fares, schedules, and route details.
- [Flight Delay & Cancellation Tracker](https://apify.com/scrapemint/flight-delay-tracker) focuses on delay and cancellation monitoring for known flights.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose the flight or aircraft view to track.

## `region` (type: `string`):

For Region snapshot, choose the part of the world to scan.

## `bounds` (type: `object`):

For Bounding box, set the south, west, north, and east edges in decimal degrees.

## `origin` (type: `string`):

For Route, enter the origin IATA airport code, such as JFK.

## `destination` (type: `string`):

For Route, enter the destination IATA airport code, such as LAX.

## `airports` (type: `array`):

For Airport movements, enter one or more IATA airport codes, such as JFK.

## `movementDirection` (type: `string`):

For Airport movements, choose arrivals or departures.

## `flightNumbers` (type: `array`):

For Live flights and Flight status, enter one or more IATA flight numbers or ICAO callsigns, such as AA100 or AAL100.

## `flightDate` (type: `string`):

For Flight status and Route, choose the scheduled departure date.

## `aircraftState` (type: `string`):

For Worldwide snapshot, Region snapshot, and Bounding box, keep all aircraft, only airborne aircraft, or only aircraft on the ground.

## `requireUsableCoordinates` (type: `boolean`):

For Worldwide snapshot, Region snapshot, and Bounding box, keep only aircraft with a usable latitude and longitude.

## `icao24` (type: `array`):

For Live flights, look up these six-character ICAO24 aircraft IDs. For Worldwide snapshot, Region snapshot, and Bounding box, use them to filter the snapshot. Leave this empty to include every aircraft in a snapshot.

## `statuses` (type: `array`):

For Flight status and Route, keep only the selected statuses. Leave this empty to keep every status.

## `minDelayMinutes` (type: `integer`):

For Flight status and Route, keep flights delayed by at least this many minutes. Leave this empty to allow any delay.

## `maxItems` (type: `integer`):

Stop after this many results. Leave this empty to return all available results until the source is exhausted.

## Actor input object example

```json
{
  "target": "worldwideSnapshot",
  "aircraftState": "airborne",
  "requireUsableCoordinates": true,
  "maxItems": 10
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open the flight tracking records from this run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "target": "worldwideSnapshot",
    "aircraftState": "airborne",
    "requireUsableCoordinates": true,
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/flight-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "target": "worldwideSnapshot",
    "aircraftState": "airborne",
    "requireUsableCoordinates": True,
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/flight-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "target": "worldwideSnapshot",
  "aircraftState": "airborne",
  "requireUsableCoordinates": true,
  "maxItems": 10
}' |
apify call maximedupre/flight-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/flight-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BK0cpFrFsucJo2JIH/builds/ROfvmVMlUZy5fW7w9/openapi.json
