# FlightAware Public Tracker Scraper (`parseforge/flightaware-public-tracker-scraper`) Actor

Track public flights on FlightAware by flight number with airline, origin, destination, scheduled and actual departure, scheduled and actual arrival, aircraft, status, gate, and URL. Useful for delay monitoring, travel apps, logistics workflows, and operations dashboards.

- **URL**: https://apify.com/parseforge/flightaware-public-tracker-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Travel, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📡 FlightAware Public Tracker Scraper

> 🚀 **Export FlightAware public flight tracker data in seconds. Scheduled times, actuals, aircraft, gate, status - one flight number at a time.**

> 🕒 **Last updated:** 2026-05-29 · **📊 14 fields** per flight · Worldwide coverage · Scheduled and actual times · Gate and aircraft type

The FlightAware Public Tracker Scraper fetches public flight tracker pages from flightaware.com and parses scheduled/actual times, aircraft type, origin, destination, gate, and status for any flight number you supply.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| ✈️ Aviation enthusiasts | Track specific flights |
| 📊 Operations teams | Monitor your carrier's on-time perf |
| 📰 Aviation journalists | Verify flight details |
| 🤖 ML engineers | Build delay-prediction datasets |
| 👩‍💻 Developers | Mirror FA public tracker into your app |

### 📋 What the FlightAware Public Tracker Scraper does

- Fetches the public tracker page for each flight number.
- Extracts the trackpollBootstrap JSON embedded in HTML.
- Returns scheduled and actual departure/arrival times, aircraft, origin/destination, status, gate.
- Exports CSV, Excel, JSON, JSONL, XML, RSS, HTML.

> 💡 **Why it matters:** FlightAware's public pages have the cleanest single-flight view in aviation. This actor turns them into a structured feed without an enterprise contract.

### 🎬 Full Demo

_🚧 Coming soon._

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td><code>flightNumbers</code></td><td>array</td><td>No</td><td>List of flight numbers / callsigns.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td>No</td><td>Free 10, paid up to 1,000,000.</td></tr>
</table>

**Example 1:**
```json
{ "flightNumbers": ["UAL100"], "maxItems": 1 }
````

**Example 2 - multiple flights:**

```json
{ "flightNumbers": ["UAL100", "BAW178", "AAL1"], "maxItems": 10 }
```

> ⚠️ **Good to Know:** Use the full ICAO callsign (UAL100), not the IATA flight number (UA100), for best results.

### 📊 Output

| Field | Type | Description |
|---|---|---|
| 🆔 `flightNumber` | string | Flight callsign. |
| ✈️ `airline` | string | Operating airline. |
| 🛫 `origin` | string | Origin IATA/ICAO. |
| 🛬 `destination` | string | Destination. |
| 📅 `scheduledDep` | string | Scheduled departure. |
| ⏰ `actualDep` | string | Actual departure. |
| 📅 `scheduledArr` | string | Scheduled arrival. |
| ⏰ `actualArr` | string | Actual arrival. |
| 🛩️ `aircraft` | string | Aircraft type. |
| 📡 `status` | string | Scheduled, en route, landed. |
| 🚪 `gate` | string | Gate. |
| 🔗 `url` | string | Tracker URL. |
| 🕒 `scrapedAt` | string | Fetched at. |
| ❌ `error` | string | Set on error. |

### ✨ Why choose this Actor

| 📡 | Real FlightAware data, single-flight precision. |
| ⚡ | One HTTP roundtrip per flight. |
| 🧹 | Parses embedded trackpollBootstrap JSON. |
| 💾 | CSV / Excel / JSON / XML export. |

### 📈 How it compares to alternatives

| Approach | Setup | Single-flight detail | Cost |
|---|---|---|---|
| FlightAware AeroAPI | hours + contract | yes | $$$ |
| Roll your own | 2 hrs | manual | free |
| **This Actor** | 5 sec | yes | free tier |

### 🚀 How to use

1. Click **Try for free**.
2. Type a flight number.
3. Click **Start**.

### 💼 Business use cases

**✈️ Crew ops.** Track inbound aircraft.
**📊 Performance monitoring.** Audit on-time stats.
**📰 Newsroom.** Verify flight details on breaking stories.
**🤖 Modelling.** Delay prediction training.

### 🔌 Automating FlightAware Public Tracker Scraper

- **Make / Zapier**: poll inbound flights.
- **Cron**: hourly status pulls.
- **Webhooks**: instant push.
- **BigQuery**: native pipeline.

### 🌟 Beyond business use cases

**🎓 Education.** Aviation analytics teaching.
**🧪 Personal.** Track family flights.
**🤝 Non-profit.** Volunteer pilot dashboards.
**🧰 Tinkering.** Discord arrivals bot.

### 🤖 Ask an AI assistant about this scraper

Drop this README into ChatGPT or Claude for pipeline help.

### ❓ Frequently Asked Questions

**❓ API key?** No.
**❓ Single flight or many?** Pass an array.
**❓ Live updates?** Yes, page refreshes.
**❓ Gate info?** Yes when published.
**❓ Format?** CSV, Excel, JSON, JSONL, XML, RSS, HTML.
**❓ Schedule?** Yes.
**❓ Rate-limited?** Be reasonable.
**❓ Free tier?** 10 flights preview.
**❓ Schema stable?** Core fields stable.
**❓ ICAO or IATA?** ICAO callsign recommended.

### 🔌 Integrate with any app

Make, Zapier, Slack, Discord, Drive, Sheets, Gmail, Airbyte, Keboola, Telegram, GitHub, REST/webhook.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [ParseForge Flightradar24 Scraper](https://apify.com/parseforge/flightradar24-live-flights-scraper) | Live flight positions in a bounding box. |
| [ParseForge OurAirports Scraper](https://apify.com/parseforge/ourairports-scraper) | Airport database. |
| [ParseForge Alpha Vantage Scraper](https://apify.com/parseforge/alpha-vantage-public-scraper) | Markets data. |
| [ParseForge PGA Tour Scraper](https://apify.com/parseforge/pgatour-leaderboard-scraper) | Golf leaderboards. |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for 900+ scrapers.

***

**Disclaimer:** This actor scrapes only publicly available data. ParseForge is not affiliated with FlightAware. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp).

# Actor input Schema

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

List of flight numbers / callsigns to look up (e.g. \['UAL100', 'BAW178']).

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "flightNumbers": [
    "UAL100"
  ],
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "flightNumbers": [
        "UAL100"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/flightaware-public-tracker-scraper").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 = {
    "flightNumbers": ["UAL100"],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/flightaware-public-tracker-scraper").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 '{
  "flightNumbers": [
    "UAL100"
  ],
  "maxItems": 10
}' |
apify call parseforge/flightaware-public-tracker-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FlightAware Public Tracker Scraper",
        "description": "Track public flights on FlightAware by flight number with airline, origin, destination, scheduled and actual departure, scheduled and actual arrival, aircraft, status, gate, and URL. Useful for delay monitoring, travel apps, logistics workflows, and operations dashboards.",
        "version": "0.1",
        "x-build-id": "wuoXPfEQxfhV8Adm9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~flightaware-public-tracker-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-flightaware-public-tracker-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~flightaware-public-tracker-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-flightaware-public-tracker-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~flightaware-public-tracker-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-flightaware-public-tracker-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "flightNumbers": {
                        "title": "Flight numbers",
                        "type": "array",
                        "description": "List of flight numbers / callsigns to look up (e.g. ['UAL100', 'BAW178']).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
