Viewing Aircraft Data

This guide gets you up-and-running with the AirMap Aircraft API. Get drone aircraft information by manufacturer and model.

Get Aircraft Manufacturer Information

## Get manufacturer information with the [`/aircraft/manufacturer`](https://developers.airmap.com/reference#aircraft-makes) endpoint. Optionally, include a `q` search parameter to filter results by manufacturer name:

curl -X "GET" "https://api.airmap.com/aircraft/v2/manufacturer?q=dji" \
	-H "X-API-Key: {YOUR API KEY}"

## The response includes the `id`, `name` and `url`, if available:
{
  "status": "success",
  "data": [
    {
      "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
      "name": "DJI"
    }
  ]
}

// List All Manufacturers
AirMap.listManufacturers { result in

    switch result {
    case .error(let error):
        // Handle error case
        print(error)
    case .value(let manufacturers):
        // Handle success case
    }
}

// Search Manufacturers
AirMap.searchManufacturers(by: <#T##String#>) { result in
    switch result {
    case .error(let error):
        // Handle error case
        print(error)
    case .value(let manufacturers):
        // Handle success case
    }
}
AirMap.getManufacturers(new AirMapCallback<List<AirMapAircraftManufacturer>>() {
    @Override
    protected void onSuccess(List<AirMapAircraftManufacturer> manufacturers) {
        // Handle success
    }

    @Override
    protected void onError(AirMapException e) {
        // Handle error
    }
});
var request = require('superagent');

request
  .get('https://api.airmap.com/aircraft/v2/manufacturer')
  .set('X-API-Key', '{YOUR API KEY}')
  .query({"q":"dji"})
  .redirects(0)
  .end(function(err, res){
    if (err || !res.ok) {
      console.log('Oh no! error');
    } else {
      console.log('yay got ' + JSON.stringify(res.body));
    }
  });
import requests

def send_request():
    try:
        response = requests.get(
            url="https://api.airmap.com/aircraft/v2/manufacturer",
            params={
                "q": "dji",
            },
            headers={
                "X-API-Key": "{YOUR API KEY}",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')
require 'net/http'
require 'net/https'

def send_request
  begin
    uri = URI('https://api.airmap.com/aircraft/v2/manufacturer?q=dji')

    # Create client
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER

    # Create Request
    req =  Net::HTTP::Get.new(uri)
    # Add headers
    req.add_field "X-API-Key", "{YOUR API KEY}"

    # Fetch Request
    res = http.request(req)
    puts "Response HTTP Status Code: #{res.code}"
    puts "Response HTTP Response Body: #{res.body}"
  rescue StandardError => e
    puts "HTTP Request failed (#{e.message})"
  end
end

For full API reference, click here.

Get Aircraft Models

## Get a list of available drone models with the [`/aircraft/model`](https://developers.airmap.com/reference#aircraft-models) endpoint. Optionally, filter results by including a `manufacturer` parameter utilizing the id from the `/aircraft/manufacturer/` route, and/or `q` search parameter to filter results by model name:

curl -X "GET" "https://api.airmap.com/aircraft/v2/model?manufacturer=2a55b47e-ca49-4b7e-99c7-dee9cd784ec9&q=phantom" \
	-H "X-API-Key: {YOUR API KEY}"

## The response includes a list of matching drone models, including manufacturer information:

{
  "status": "success",
  "data": [
    {
      "id": "0bdc3e35-75ba-4e02-9040-d336d11f5202",
      "name": "Phantom 1",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "240df9a0-fd43-448e-bb05-31a5f0158893",
      "name": "Matrice",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "ba5ae61b-5c2e-4511-8b16-c49699ab2988",
      "name": "Agras MG-1",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "e55127bc-1d55-4d3d-a760-cd82c3d86ac3",
      "name": "Inspire 1",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "91e20850-40ff-40af-99cf-262c019260e3",
      "name": "Spreading Wings S1000+",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "692fb4f0-fcf7-4f6b-9943-4292b061f09e",
      "name": "Phantom 2",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "b3b1c26f-06da-4eae-9390-667c90039175",
      "name": "Phantom 3",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "ea3ad477-ff17-44d5-9fe9-cbdbac256af8",
      "name": "Spreading Wings S900",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    },
    {
      "id": "786bbd91-0509-4a36-94eb-f9fa46d1d20b",
      "name": "Phantom 4",
      "manufacturer": {
        "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
        "name": "DJI"
      }
    }
  ]
}
// List models by manufacter id
AirMap.listModels(by:<#T##manufacterId: String##String#>) { result in
    switch result {
    case .error(let error):
        // Handle error case
        print(error)
    case .value(let models):
        // Handle success case
    }
}

// Search for a list of models by model name
AirMap.searchModels(by: <#T##String#>, <#T##modelId: String##String#>) { result in
    switch result {
    case .error(let error):
        // Handle error case
        print(error)
    case .value(let models):
        // Handle success case
    }
}
AirMap.getModels(manufacturerId, new AirMapCallback<List<AirMapAircraftModel>>() {
    @Override
    protected void onSuccess(List<AirMapAircraftModel> models) {
        // Handle success
    }

    @Override
    protected void onError(AirMapException e) {
        // Handle error
    }
});
var request = require('superagent');

request
  .get('https://api.airmap.com/aircraft/v2/model')
  .set('X-API-Key', '{YOUR API KEY}')
  .query({"manufacturer":"2a55b47e-ca49-4b7e-99c7-dee9cd784ec9"})
  .query({"q":"phantom"})
  .redirects(0)
  .end(function(err, res){
    if (err || !res.ok) {
      console.log('Oh no! error');
    } else {
      console.log('yay got ' + JSON.stringify(res.body));
    }
  });
import requests

def send_request():

    try:
        response = requests.get(
            url="https://api.airmap.com/aircraft/v2/model",
            params={
                "manufacturer": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
                "q": "phantom",
            },
            headers={
                "X-API-Key": "{YOUR API KEY}",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')
require 'net/http'
require 'net/https'

def send_request

  begin
    uri = URI('https://api.airmap.com/aircraft/v2/model?manufacturer=2a55b47e-ca49-4b7e-99c7-dee9cd784ec9&q=phantom')

    # Create client
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER

    # Create Request
    req =  Net::HTTP::Get.new(uri)
    # Add headers
    req.add_field "X-API-Key", "{YOUR API KEY}"

    # Fetch Request
    res = http.request(req)
    puts "Response HTTP Status Code: #{res.code}"
    puts "Response HTTP Response Body: #{res.body}"
  rescue StandardError => e
    puts "HTTP Request failed (#{e.message})"
  end
end

For full API reference, click here.

Get Aircraft Model Details

## Get the details of a specific drone model with the [`/aircraft/model:id`](https://developers.airmap.com/reference#aircraft-details) endpoint. This endpoint allows you to access the model details by providing the model id found in the `/aircraft/model/` search route listed above.

curl -X "GET" "https://api.airmap.com/aircraft/v2/model/786bbd91-0509-4a36-94eb-f9fa46d1d20b" \
	-H "X-API-Key: {YOUR API KEY}"
  
  ## The response includes details of the drone model requested:
  
  {
  "status": "success",
  "data": {
    "id": "786bbd91-0509-4a36-94eb-f9fa46d1d20b",
    "name": "Phantom 4",
    "manufacturer": {
      "id": "2a55b47e-ca49-4b7e-99c7-dee9cd784ec9",
      "name": "DJI"
    }
  }
}
AirMap.getModel(<#T##modelId: String##String#>) { result in
    switch result {
    case .error(let error):
        // Handle error case
        print(error)
    case .value(let model):
        // Handle success case
    }
}
AirMap.getModel(modelId, new AirMapCallback<List<AirMapAircraftModel>>() {
    @Override
    protected void onSuccess(List<AirMapAircraftModel> response) {
        // Handle success
    }

    @Override
    protected void onError(AirMapException e) {
        // Handle error
    }
});
var request = require('superagent);

request
  .get('https://api.airmap.com/aircraft/v2/model/786bbd91-0509-4a36-94eb-f9fa46d1d20b')
.set('X-API-Key', '{YOUR API KEY}')
  .redirects(0)
  .end(function(err, res){
    if (err || !res.ok) {
      console.log('Oh no! error');
    } else {
      console.log('yay got ' + JSON.stringify(res.body));
    }
  });
import requests

def send_request():
    try:
        response = requests.get(
            url="https://api.airmap.com/aircraft/v2/model/786bbd91-0509-4a36-94eb-f9fa46d1d20b",
            headers={
                "X-API-Key": "{YOUR API KEY}",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')
require 'net/http'
require 'net/https'

def send_request
  begin
    uri = URI('https://api.airmap.com/aircraft/v2/model/786bbd91-0509-4a36-94eb-f9fa46d1d20b')

    # Create client
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER

    # Create Request
    req =  Net::HTTP::Get.new(uri)
    # Add headers
    req.add_field "X-API-Key", "{YOUR API KEY}"

    # Fetch Request
    res = http.request(req)
    puts "Response HTTP Status Code: #{res.code}"
    puts "Response HTTP Response Body: #{res.body}"
  rescue StandardError => e
    puts "HTTP Request failed (#{e.message})"
  end
end

For full API reference, click here.