VATSIM Feed


VATSIM Feed - is a current information about online controllers, pilots, booked flights, available data and voice servers of VATSIM network.

We do parse VATSIM feed and provide it as a JSON-formatted data, so you can use it in your own project for whatever you need.

Output contains these key sections:

  • feed_info: information about current feed, including update timestamp, number of connected clients, etc.
  • fields_def: name of the fields of each main section (voice_fields, client_fields, prefile_fields, server_fields)
  • clients: divided then on atc and pilot, representing online controllers and pilots
  • prefile: prefiled flights
  • voice_servers: available voice servers
  • servers: available data servers

Usage

Endpoint: /feed

Request method: GET

Headers:

Header parameterDescription
X-API-Key Your unique API key
pretty If not set or set to 0 - return minified JSON output. If set to 1 - will return pretty-printed JSON.

Example request:

Python

    import requests

    url = "https://api.vacc-ua.org/api/feed"

    headers = {
        'X-API-Key': "123456",
        'pretty': "1",
        'Cache-Control': "no-cache"
    }

    response = requests.request("GET", url, headers=headers)
    print(response.text)


PHP

    <?php

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_PORT => "443",
        CURLOPT_URL => "https://api.vacc-ua.org/api/feed",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_HTTPHEADER => array(
            "X-API-Key: 123456",
            "Cache-Control: no-cache",
            "pretty: 1"
        ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        echo $response;
    }

Example response:


{
  "fields_def": {
    "voice_fields": [
      "hostname_or_IP",
      "location",
      "name",
      "clients_connection_allowed",
      "type_of_voice_server"
    ],
    "client_fields": [
      "callsign",
      "cid",
      "realname",
      "clienttype",
      "frequency",
      "latitude",
      "longitude",
      "altitude",
      "groundspeed",
      "planned_aircraft",
      "planned_tascruise",
      "planned_depairport",
      "planned_altitude",
      "planned_destairport",
      "server",
      "protrevision",
      "rating",
      "transponder",
      "facilitytype",
      "visualrange",
      "planned_revision",
      "planned_flighttype",
      "planned_deptime",
      "planned_actdeptime",
      "planned_hrsenroute",
      "planned_minenroute",
      "planned_hrsfuel",
      "planned_minfuel",
      "planned_altairport",
      "planned_remarks",
      "planned_route",
      "planned_depairport_lat",
      "planned_depairport_lon",
      "planned_destairport_lat",
      "planned_destairport_lon",
      "atis_message",
      "time_last_atis_received",
      "time_logon",
      "heading",
      "QNH_iHg",
      "QNH_Mb"
    ],
    "prefile_fields": [
      "callsign",
      "cid",
      "realname",
      "clienttype",
      "frequency",
      "latitude",
      "longitude",
      "altitude",
      "groundspeed",
      "planned_aircraft",
      "planned_tascruise",
      "planned_depairport",
      "planned_altitude",
      "planned_destairport",
      "server",
      "protrevision",
      "rating",
      "transponder",
      "facilitytype",
      "visualrange",
      "planned_revision",
      "planned_flighttype",
      "planned_deptime",
      "planned_actdeptime",
      "planned_hrsenroute",
      "planned_minenroute",
      "planned_hrsfuel",
      "planned_minfuel",
      "planned_altairport",
      "planned_remarks",
      "planned_route",
      "planned_depairport_lat",
      "planned_depairport_lon",
      "planned_destairport_lat",
      "planned_destairport_lon",
      "atis_message",
      "time_last_atis_received",
      "time_logon",
      "heading",
      "QNH_iHg",
      "QNH_Mb"
    ],
    "server_fields": [
      "ident",
      "hostname_or_IP",
      "location",
      "name",
      "clients_connection_allowed"
    ]
  },
  "feed_info": {
    "UPDATE": "20180429192112",
    "VERSION": "8",
    "RELOAD": "2",
    "CONNECTED CLIENTS": "974",
    "ATIS ALLOW MIN": "5"
  },
  "voice_servers": {
    "rw1.vatpac.org": {
      "location": "Sydney, Australia",
      "name": "VATPAC",
      "type_of_voice_server": "R",
      "clients_connection_allowed": "1"
    }
  },
  "prefile": {
    "AAL2": {
      "planned_hrsenroute": "1",
      "planned_depairport": "KORD",
      "planned_revision": "0",
      "planned_remarks": "+VFPS+/V/SEL/BHCL RVR/75 OPR/WWW.JOINAVA.ORG RMK/AIRAC-CURRENT/ CHARTS AVAILABLE ORD/JOHN MANELY UPDATED SCENERY DFW/FSDT",
      "planned_flighttype": "I",
      "planned_depairport_lon": "0",
      "realname": "Craig Moulton KLPC",
      "planned_route": "ACITO ADELL ARLYN STL/N0448F380 J8 SGF J105 RZC FSM KOMMA RRNET SEEVR4",
      "planned_minenroute": "50",
      "planned_tascruise": "447",
      "planned_deptime": "1900",
      "planned_destairport": "KDFW",
      "planned_hrsfuel": "3",
      "planned_altitude": "36000",
      "planned_aircraft": "B738/L",
      "planned_destairport_lon": "0",
      "planned_depairport_lat": "0",
      "cid": "810358",
      "planned_minfuel": "32",
      "planned_altairport": "KDAL",
      "planned_destairport_lat": "0",
      "planned_actdeptime": "1900"
    }
  },
  "clients": {
    "pilot": {
      "AAL1224": {
        "planned_revision": "0",
        "planned_hrsenroute": "0",
        "planned_depairport": "KMIA",
        "cid": "817334",
        "planned_remarks": "Adv RNAV w Single FMC /t/",
        "QNH_Mb": "1019",
        "server": "USA-E",
        "planned_depairport_lon": "0",
        "realname": "Clive Morris KOPF",
        "transponder": "2200",
        "heading": "357",
        "planned_route": "SOUBY5 SKIPS BR53V ZQA",
        "altitude": "24",
        "planned_minenroute": "42",
        "planned_tascruise": "480",
        "protrevision": "100",
        "planned_deptime": "1800",
        "planned_destairport": "MYNN",
        "groundspeed": "0",
        "planned_hrsfuel": "2",
        "QNH_iHg": "30.099",
        "time_logon": "20180429164813",
        "planned_altairport": "KMIA",
        "rating": "1",
        "planned_altitude": "23000",
        "planned_aircraft": "B738",
        "planned_destairport_lon": "0",
        "planned_depairport_lat": "0",
        "planned_flighttype": "I",
        "planned_minfuel": "30",
        "latitude": "25.04771",
        "planned_destairport_lat": "0",
        "planned_actdeptime": "0",
        "longitude": "-77.46629"
      }
    },
    "atc": {
      "EGMC_TWR": {
        "altitude": "0",
        "rating": "3",
        "cid": "1339604",
        "time_last_atis_received": "20180429190805",
        "server": "UK1",
        "realname": "Louie Lister",
        "visualrange": "50",
        "facilitytype": "4",
        "frequency": "127.720",
        "planned_tascruise": "0",
        "latitude": "51.57139",
        "protrevision": "100",
        "time_logon": "20180429183752",
        "longitude": "0.69556",
        "atis_message": "$ uk.voice.vatsim.net/egmc_twr^Southend Tower - ATIS 128.950^Hello there, *erm*, I'm just here to show you how easy it is,^to clear an aircraft for takeoff."
      }
    }
  },
  "servers": {
    "USA-W": {
      "location": "San Francisco, USA",
      "name": "USA West",
      "hostname_or_IP": "50.116.3.203",
      "clients_connection_allowed": "1"
    }
  }
}
Only one object in each section provided as example just to consume space, as whole feed in a prime-time could be up to 200kb in a size.