VATSIM Live Network Scraper
parseforge/vatsim-live-network-scraper
Developer toolsTravelAutomation
Scrapes live VATSIM network data for online pilots and controllers. Returns callsign, position, flight plan, frequency, and facility as flat rows.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 84
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
VATSIM Live Network Scraper
Scrape live VATSIM network data for online pilots and controllers, up to a million records per run. Get callsign, position, flight plan, frequency, and facility in one flat row. No login or API key. Export to CSV, JSON, Excel, or XML.
VATSIM's live network shows thousands of pilots and controllers online right now, but the official data feed is a raw JSON stream that is hard to parse and filter. This Actor reads that public feed directly, filters by callsign, departure, or arrival airport, and returns each match in one fixed schema. No registration, no API key, no rate limits.
| Who uses it | What they scrape VATSIM for |
|---|---|
| Flight sim enthusiasts | Which aircraft are flying into a specific airport right now |
| Virtual airlines | Tracking their pilots' live flights across the network |
| ATC training teams | Monitoring which controllers are online at a facility |
| Aviation data analysts | Building real-time dashboards of network activity |
What it does
This Actor collects live VATSIM network records for online pilots or controllers, filtered by callsign, departure, or arrival airport, and returns each one as a flat row.
- โ๏ธ Pilots mode: returns connected pilots with callsign, position, altitude, ground speed, and full flight plan.
- ๐ง Controllers mode: returns online ATC with callsign, frequency, facility type, and visual range.
- ๐ Callsign filter: keep only records whose callsign contains your text, like DLH or BAW.
- ๐ซ Departure and arrival filters: for pilots, match the flight plan's origin or destination ICAO code.
- ๐ Flat row output: every record is a single row with consistent fields, ready for CSV or JSON export.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with VATSIM data
๐ฌ Monitor arrivals at a hub airport.
A virtual airline operations team runs the Actor with arrival set to their hub ICAO to see every inbound flight in real time and plan gate assignments.
๐ก Track controller coverage.
An ATC training coordinator runs the Actor in controllers mode to see which positions are staffed at a facility and identify gaps for a training event.
๐ Find a specific flight.
A flight simmer enters a partial callsign like BAW to locate a friend's flight and see its current position and planned route.
๐ Analyze network activity.
A data analyst runs the Actor every 15 minutes and stores the results to build a time series of traffic volume by airport or airline.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads the public VATSIM data feed directly, no registration or OAuth. |
| Live data | Every run pulls the current network state, not a cached snapshot. |
| Flexible filters | Filter by callsign, departure, or arrival airport before data is saved. |
| Scalable | Collect up to 1,000,000 records per run, from a single flight to the whole network. |
How it compares
No other Store actor targets VATSIM the same way, so the honest comparison is with the alternatives teams actually weigh.
| VATSIM Live Network Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When VATSIM changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with a mode (pilots or controllers) and optional callsign, departure, or arrival filters. Filters run as each record is read, so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.008 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.80 |
| 1,000 results | $8.00 |
| 10,000 results | $80.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the VATSIM Live Network Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to VATSIM through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/vatsim-live-network-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your filters. A callsign, departure, or arrival filter that is too specific may exclude all records. Try clearing filters and running again.
Why is the dataset smaller than expected?
The live network changes constantly. If you set maxItems lower than the number of matching records, only that many are returned. Increase maxItems.
Why do I see fewer controllers than pilots?
That is normal. VATSIM typically has far more pilots than controllers online at any time. Use controllers mode to see only ATC.
Why is the departure filter not working?
Departure and arrival filters apply only to pilots. If you are in controllers mode, those filters are ignored.
FAQ
| Question | Answer |
|---|---|
| Do I need a VATSIM account or API key? | No. The Actor reads the public VATSIM data feed directly, so no login or key is required. |
| How often is the data updated? | The Actor pulls the live network state at the moment the run starts. For continuous monitoring, schedule runs every few minutes. |
| Can I get both pilots and controllers in one run? | No, each run returns one mode. Run the Actor twice, once for pilots and once for controllers, and merge the datasets. |
| What does the callsign filter do? | It keeps only records whose callsign contains the text you enter, case insensitive. For example, DLH matches DLH123 and DLH456. |
| Do departure and arrival filters work for controllers? | No, those filters apply to pilots only. Controllers are filtered by callsign only. |
| What is the maximum number of records I can collect? | You can set maxItems up to 1,000,000. The live network typically has a few thousand pilots and controllers at any time. |
| What format is the output? | Each record is a flat row with fields like callsign, latitude, longitude, altitude, and flight plan. You can export to CSV, JSON, Excel, or XML. |
| Can I filter by airline or aircraft type? | Not directly. Use the callsign filter to approximate airline, or export all data and filter in your own tool. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by VATSIM Network. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| mode required | string (2 options) | What to scrape from the live VATSIM network. 'pilots' returns connected pilots with position and flight plan. 'controllers' returns online air traffic controllers with frequency and facility. | pilots |
| callsign | string | Optional. Keep only records whose callsign contains this text (case insensitive). Example DLH or BAW. | not set |
| departure | string | Optional. Keep only pilots whose flight plan departure airport matches this ICAO code. Example EGLL. | not set |
| arrival | string | Optional. Keep only pilots whose flight plan arrival airport matches this ICAO code. Example KJFK. | not set |
| maxItems | integer | How many network records to collect per run. | 10 |
Pricing
from $6.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.006 to $0.008 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~vatsim-live-network-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
