Menu

VATSWIM API

System Wide Information Management

Version 1.0.0 • Production Ready

Get API Key Documentation

What is VATSWIM?

A centralized real-time data exchange hub for flight information across the VATSIM network.

REST API

Query flights, positions, and TMI data with filtering and pagination.

WebSocket

Real-time event streaming for departures, arrivals, and position updates.

GeoJSON

Position data ready for MapLibre, Leaflet, or Mapbox rendering.

TMI Data

Ground Stops, GDPs, EDCTs, and controlled flight information.

Getting Started

Start integrating with SWIM in three steps.

1
Create Your API Key

Log in with your VATSIM account at the API Key Portal to create a key instantly.

2
Make a Request

Include your API key in the Authorization header:

curl -H "Authorization: Bearer YOUR_KEY" \
  https://perti.vatcscc.org/api/swim/v1/flights
3
Explore the API

Read the full documentation to discover all endpoints, filters, and WebSocket events.

API Access Tiers

Choose the tier that fits your needs. Public and Developer keys are available instantly.

Feature Public Developer Partner System
Rate Limit 100 req/min 300 req/min 3,000 req/min 30,000 req/min
WebSocket Connections 5 50 500 10,000
Write Access Limited Full
Self-Service Contact Us Contact Us
Best For Personal projects Development & testing Virtual airlines vNAS, CRC, SimTraffic

API Endpoints

Complete REST API for querying flight data and ingesting updates.

Method Endpoint Description
GET /api/swim/v1/flights List flights with filtering by airport, ARTCC, callsign, phase, and TMI status
GET /api/swim/v1/flight Get single flight by GUFI, flight_uid, or flight_key
GET /api/swim/v1/positions Bulk flight positions in GeoJSON FeatureCollection format
GET /api/swim/v1/tmi/programs Active TMI programs (Ground Stops, GDPs)
GET /api/swim/v1/tmi/controlled Flights under TMI control with EDCT/slot assignments
POST /api/swim/v1/ingest/adl Ingest flight data (OOOI times, ETAs) — Partner+ tier
POST /api/swim/v1/ingest/track Ingest track/position updates — System tier

Use Cases by Role

SWIM serves different needs across the VATSIM ecosystem.

Key Capabilities
  • Real-time fleet tracking via WebSocket
  • Push OOOI times from ACARS/AOC systems
  • Receive TMI notifications affecting your flights
  • Export flight data for on-time performance analysis
  • Integrate schedule data (STD/STA) per CDM specs
Example Queries
# Track all flights with your prefix
GET /flights?callsign=DAL*

# Get TMI-controlled flights to your hub
GET /tmi/controlled?dest=KATL

# Push OOOI times (Partner tier)
POST /ingest/adl
{"flights": [{"callsign": "DAL123", "off_utc": "..."}]}
Key Capabilities
  • Build flight tracking applications
  • Create statistics dashboards and analytics tools
  • Integrate live flight data into existing software
  • Stream real-time positions via WebSocket
  • Access GeoJSON-formatted data for mapping
Example Code
// JavaScript - WebSocket subscription
const ws = new WebSocket('wss://perti.vatcscc.org/api/swim/v1/ws');

ws.onopen = () => {
  ws.send(JSON.stringify({
    action: 'subscribe',
    channels: ['flight.positions'],
    filters: { airports: ['KJFK'] }
  }));
};
Key Capabilities
  • Monitor sector traffic loads in real-time
  • Track TMI-controlled flights and EDCT compliance
  • Access demand forecasts for arrival/departure planning
  • Push track data from radar simulation (System tier)
  • Integrate with metering systems
Example Queries
# All flights in your ARTCC
GET /flights?artcc=ZDC

# Flights destined to your airspace
GET /flights?fp_dest_artcc=ZNY

# Active TMI programs
GET /tmi/programs

# Controlled flights at your airport
GET /tmi/controlled?airport=KJFK
Key Capabilities
  • Look up any active flight on VATSIM
  • Check if your flight is affected by ground stops
  • View real-time positions and ETAs
  • Build personal flight tracking displays
  • Monitor traffic at your destination
Example Queries
# Find your flight
GET /flights?callsign=N172SP

# Check ground stops at destination
GET /tmi/programs?airport=KJFK

# Traffic at your destination
GET /flights?dest_icao=KORD&phase=enroute

# Flights in a geographic area
GET /positions?bounds=-76,39,-72,42

Client SDKs

Official client libraries (coming soon).

Python
Coming Soon
JavaScript
Coming Soon
C# / .NET
Coming Soon
Java
Coming Soon

Resources

Everything you need to get started with SWIM.

Ready to Build with SWIM?

Create your API key in seconds and start integrating real-time VATSIM flight data today.

Get Your API Key Read the Docs