Accessing Public Data

Get all Aircraft Types

To get a paginated list of the aircraft types, make a GET request to types. The types are ordered by ICAO code. No authorization is required. The results may be filtered with a query parameter, see below.

GET api/latest/types

Example request:

GET /api/latest/types?page=4&engine_count=2 HTTP/1.1
curl -i \
     "https://mycontrol.aero/api/latest/types?page=4&engine_count=2"

Example response:

HTTP/1.0 200 OK
Link: <https://mycontrol.aero/api/latest/types?page=3&engine_count=2>; rel="prev",
      <https://mycontrol.aero/api/latest/types?page=1&engine_count=2>; rel="first",
      <https://mycontrol.aero/api/latest/types?page=4&engine_count=2>; rel="last"
Content-Type: application/json; charset=UTF-8

{
    "types": [
        {
            "engine_count": 2,
            "engine_type": "PISTON",
            "icao_code": "P337",
            "manufacturer": "REIMS AVIATION",
            "name": "RA FT337GP",
            "type": "AEROPLANE"
        },
        {
            "engine_count": 2,
            "engine_type": "PISTON",
            "icao_code": "TBEE",
            "manufacturer": "STOL AIRCRAFT CORPORATION",
            "name": "UC-1",
            "type": "AEROPLANE"
        }
    ]
    "links": {
        "first": {"href": "https://mycontrol.aero/api/latest/types?page=1&engine_count=2"},
        "last": {"href": "https://mycontrol.aero/api/latest/types?page=4&engine_count=2"},
        "prev": {"href": "https://mycontrol.aero/api/latest/types?page=3&engine_count=2"}
    },
}
Query Parameters
  • page – Page number

  • icao_code – Optional. Only show aircraft types whose ICAO codes contain the given characters.

  • name – Optional. Only show aircraft types whose names contain the given characters.

  • type – Optional. Only show aircraft types whose types contain the given characters.

  • manufacturer – Optional. Only show aircraft types whose manufacturers contain the given characters.

  • engine_type – Optional. Only show aircraft types whose types contain the given characters.

  • engine_count – Optional. Only show aircraft types whose engine counts codes matches the given integer value.

Response Headers
Status Codes

Get all Aircrafts

To get a paginated list of the aircrafts, make a GET request to aircrafts. The aircrafts are ordered by registration. No authorization is required. The results may be filtered with a query parameter, see below.

GET api/latest/aircrafts

Example request:

GET /api/latest/aircrafts?year_built=2016&owner_name=swisshelicopter HTTP/1.1
curl -i \
     "https://mycontrol.aero/api/latest/aircrafts?year_built=2016&owner_name=swisshelicopter"

Example response:

HTTP/1.0 200 OK
Content-Type: application/json; charset=UTF-8

{
    "aircrafts": [
        {
            "operator_name": "MSH",
            "owner_name": "Marenco Swisshelicopter AG",
            "piloting_type": "SPA",
            "registration": "HBZXB",
            "type_icao_code": "SH09",
            "year_built": 2016
        }
    ]
}
Query Parameters
  • page – Page number

  • registration – Optional. Only show aircrafts whose registrations contain the given characters.

  • owner_name – Optional. Only show aircrafts whose owner names contain the given characters.

  • operator_name – Optional. Only show aircrafts whose operator names contain the given characters.

  • piloting_type – Optional. Only show aircrafts whose piloting types contain the given characters.

  • year_built – Optional. Only show aircrafts whose build years matches the given integer value.

Response Headers
Status Codes

Get all Airports

To get a paginated list of the airports, make a GET request to airports. The airports are ordered by ICAO code. No authorization is required. The results may be filtered with a query parameter, see below.

GET api/latest/airports

Example request:

GET /api/latest/airports?country=x&page=2 HTTP/1.1
curl -i \
     "https://mycontrol.aero/api/latest/airports?country=x&page=2"

Example response:

HTTP/1.0 200 OK
Link: <https://mycontrol.aero/api/latest/airports?country=x&page=2>; rel="next",
      <https://mycontrol.aero/api/latest/airports?country=x&page=1>; rel="first",
      <https://mycontrol.aero/api/latest/airports?country=x&page=2>; rel="last"
Content-Type: application/json; charset=UTF-8

{
    "airports": [
        {
            "country": "Mexico",
            "icao_code": "MM52",
            "latitude": 25.651944,
            "longitude": -108.538056,
            "name": "Campo Cuatro Milpas Airport",
            "timezone": "America/Mazatlan"
        },
        {
            "country": "Mexico",
            "icao_code": "MM57",
            "latitude": 16.2126,
            "longitude": -95.2016,
            "name": "Salina Cruz Naval Air Station",
            "timezone": "America/Mexico_City"
        },
        {
            "country": "MX",
            "icao_code": "MMML",
            "latitude": 32.63083,
            "longitude": -115.24194,
            "name": "Mexicali Gen Rod",
            "timezone": "America/Tijuana"
        }
    ],
    "links": {
        "first": {"href": "https://mycontrol.aero/api/latest/airports?country=x&page=1"},
        "last": {"href": "https://mycontrol.aero/api/latest/airports?country=x&page=2"},
        "next": {"href": "https://mycontrol.aero/api/latest/airports?country=x&page=2"}
    }
}
Query Parameters
  • page – Page number

  • icao_code – Optional. Only show airports whose ICAO codes contain the given characters.

  • name – Optional. Only show airports whose names contain the given characters.

  • country – Optional. Only show airports whose countries contain the given characters.

  • timezone – Optional. Only show airports whose timezones contain the given characters.

  • longitude – Optional. Only show airports whose latitude starts with the given float value.

  • latitude – Optional. Only show airports whose latitude starts with the given float value.

Response Headers
Status Codes