Official VATSWIM API launch announcement
System Wide Information Management (SWIM) for VATSIM
Release Date: January 16, 2026 Version: 1.0.0 Status: Production Ready
VATSWIM (System Wide Information Management) is a centralized real-time data exchange hub that provides unified access to flight information across the entire VATSIM network. SWIM serves as a single source of truth for flight data, enabling consistent information sharing between all VATSIM systems, tools, and services.
Base URL: https://perti.vatcscc.org/api/swim/v1
Visit https://perti.vatcscc.org/swim-keys and log in with your VATSIM account to create an API key. Self-service tiers available:
| Tier | Rate Limit | WebSocket Connections | Best For |
|---|---|---|---|
| Public | 100 req/min | 5 | Personal projects, web apps |
| Developer | 300 req/min | 50 | Development, testing, prototypes |
Partner (3,000/min) and System (30,000/min) tiers available upon request for virtual airlines and integration partners.
Include your API key in the Authorization header:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://perti.vatcscc.org/api/swim/v1/flights
Full API documentation: https://perti.vatcscc.org/docs/swim/
SWIM enables real-time fleet tracking, schedule integration, and operational data exchange for virtual airline operations.
Key Capabilities:
Recommended Endpoints:
GET /flights?callsign=DAL* # All Delta callsigns
GET /flights?airline_icao=AAL # All American Airlines flights
GET /tmi/controlled?dest=KJFK # TMI-controlled flights to JFK
POST /ingest/adl # Push OOOI times (Partner tier required)
WebSocket Events: Subscribe to departure/arrival events for your fleet:
{
"action": "subscribe",
"filters": { "callsign_prefix": "DAL" }
}
Integration Example:
from swim_client import SwimClient
client = SwimClient(api_key="swim_par_yourkey")
# Get all active flights for your airline
flights = client.get_flights(callsign="UAL*")
# Push actual departure time from ACARS
client.ingest_adl({
"gufi": "VAT-20260116-UAL123-KJFK-KLAX",
"off_utc": "2026-01-16T15:30:00Z"
})
Request Partner Tier: Contact vATCSCC for Partner tier access with write capabilities.
Build flight tracking applications, ATC tools, statistics dashboards, or integrate SWIM data into existing software.
Key Capabilities:
Recommended Endpoints:
GET /flights # All active flights (paginated)
GET /flights?dest_icao=KJFK # Arrivals to JFK
GET /flights?artcc=ZNY # Flights in NY Center airspace
GET /positions # GeoJSON positions for mapping
GET /flight/{gufi} # Single flight by GUFI
WebSocket Real-Time Streaming:
const ws = new WebSocket('wss://perti.vatcscc.org/api/swim/v1/ws');
ws.onopen = () => {
ws.send(JSON.stringify({
action: 'auth',
api_key: 'swim_dev_yourkey'
}));
ws.send(JSON.stringify({
action: 'subscribe',
events: ['flight.departed', 'flight.arrived', 'flight.positions'],
filters: { airport: 'KJFK' }
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Event:', data.event, data.payload);
};
Available SDKs:
pip install vatsim-swim-clientnpm install @vatsim/swim-clientVATSIM.SWIM.Clientorg.vatsim:swim-clientSWIM provides authoritative flight data for traffic management, demand analysis, and operational coordination.
Key Capabilities:
Recommended Endpoints:
GET /flights?artcc=ZDC # All flights in DC Center
GET /flights?fp_dest_artcc=ZNY # Flights destined to NY Center
GET /tmi/programs # Active ground stops and GDPs
GET /tmi/controlled # All TMI-controlled flights
GET /flights?phase=departing # Departing flights
TMI Data Available:
gs_held, gs_release_utc)edct_utc)ctd_utc, cta_utc)delay_minutes, delay_status)is_exempt, exempt_reason)Example: Monitor Arrival Demand
# Get all inbound flights to Atlanta
atl_arrivals = client.get_flights(dest_icao="KATL", phase="enroute")
# Group by ETA hour for demand analysis
for flight in atl_arrivals:
eta = flight.get('eta_runway_utc')
# Build demand chart...
Access flight tracking data, check TMI status, and build personal flight tools.
Key Capabilities:
Recommended Endpoints:
GET /flight/{gufi} # Your specific flight
GET /flights?callsign=N12345 # Search by callsign
GET /tmi/programs # Check active ground stops
GET /positions?bbox=... # Flights in geographic area
Example: Check Your Flight Status
# Find your flight
curl -H "Authorization: Bearer swim_pub_yourkey" \
"https://perti.vatcscc.org/api/swim/v1/flights?callsign=N172SP"
# Check for ground stops at your destination
curl -H "Authorization: Bearer swim_pub_yourkey" \
"https://perti.vatcscc.org/api/swim/v1/tmi/programs?airport=KJFK"
System-tier access for core VATSIM infrastructure with full read/write capabilities.
Key Capabilities:
Ingest Endpoints:
POST /ingest/adl # Flight data updates
POST /ingest/track # Position updates (batch)
POST /ingest/metering # Metering/sequencing data
Data Authority:
Contact vATCSCC for System tier credentials and integration support.
| Method | Endpoint | Description |
|---|---|---|
| GET | /flights |
List flights with filtering |
| GET | /flight/{gufi} |
Get single flight by GUFI |
| GET | /positions |
GeoJSON flight positions |
| GET | /tmi/programs |
Active TMI programs |
| GET | /tmi/controlled |
TMI-controlled flights |
| POST | /ingest/adl |
Ingest flight data (Partner+) |
| POST | /ingest/track |
Ingest position data (System) |
| Parameter | Example | Description |
|---|---|---|
callsign |
DAL* |
Filter by callsign (wildcards supported) |
dest_icao |
KJFK |
Filter by destination airport |
dept_icao |
KLAX |
Filter by departure airport |
artcc |
ZNY |
Filter by current ARTCC |
fp_dest_artcc |
ZDC |
Filter by destination ARTCC |
phase |
enroute |
Filter by flight phase |
page |
1 |
Pagination page number |
per_page |
100 |
Results per page (max 1000) |
format |
fixm |
Use FIXM field naming |
| Event | Description |
|---|---|
flight.created |
New flight detected |
flight.departed |
Flight has taken off |
flight.arrived |
Flight has landed |
flight.positions |
Position update batch |
flight.deleted |
Flight removed from system |
tmi.issued |
Ground stop or GDP issued |
tmi.released |
Ground stop or GDP released |
system.heartbeat |
Server keepalive (30s interval) |
Contact:
| Tier | Requests/Minute | WebSocket Connections | Write Access |
|---|---|---|---|
| Public | 30 | 5 | No |
| Developer | 100 | 50 | No |
| Partner | 1,000 | 500 | Limited |
| System | 10,000 | 10,000 | Full |
| Status | Meaning |
|---|---|
| 400 | Bad request (invalid parameters) |
| 401 | Unauthorized (invalid/missing API key) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Not found |
| 429 | Rate limit exceeded |
| 500 | Server error |
VATSWIM is provided by vATCSCC for the VATSIM community. For flight simulation use only.