REST API Information


ADSBexchange.com API Data Access Points

All aircraft X nautical miles from a point ( 100NM maximum )
https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/

Aircraft by mode-s code
https://adsbexchange.com/api/aircraft/icao/123abc/

Aircraft by call sign
https://adsbexchange.com/api/aircraft/call/DAL1234/


CODE SAMPLES

C (libcurl)

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "api-auth: your-uuid");

curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Go (New Request)

package main

import (
 "fmt"
 "net/http"
 "io/ioutil"
)

func main() {

 url := "https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/"

 req, _ := http.NewRequest("GET", url, nil)

 req.Header.Add("api-auth", "your-uuid")
 
 res, _ := http.DefaultClient.Do(req)

 defer res.Body.Close()
 body, _ := ioutil.ReadAll(res.Body)

 fmt.Println(res)
 fmt.Println(string(body))

}

PHP (HTTP v2)

$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl('https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/');
$request->setRequestMethod('GET');
$request->setHeaders(array(
 'api-auth' => 'your-uuid',
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody()

PHP (cURL)

$curl = curl_init();

curl_setopt_array($curl, array(
 CURLOPT_URL => "https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/",
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_FOLLOWLOCATION => true,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 30,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "GET",
 CURLOPT_HTTPHEADER => array(
 "api-auth: your-uuid"
 ),
));

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

curl_close($curl);

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

Python (requests)

import requests
headers = {
    'api-auth': "your uuid"
}
response = requests.get('https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/', headers = headers)
data = response.text

R / Math

library(httr)
library(jsonlite)
library(dplyr)
uuid <- "your-uuid"
query_all <- "https://adsbexchange.com/api/aircraft/lat/51.5005/lon/-0.1145/dist/100/"
all_aircraft <-  GET(query_all, add_headers("api-auth" = uuid)) %>% content(as="text") %>% fromJSON()
all_aircraft.details <- all_aircraft$ac %>% as_tibble() %>%
    mutate(postime = postime %>% as.numeric %>% (function(x){x/1000}) %>% as.POSIXct(tz="UTC", origin="1970-01-01 00:00"))