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.

Viewing Aircraft Data


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.