Introduction Last updated: 2021-08-01

The Aloft REST API is designed to allow your application fast and easy access to authoritative airspace information. This same API is what powers B4UFly as well as Aloft's patented Dynamc Airspace platform. We count each time you call the API and receive a response as one request.

CURL Example:
curl --location --request POST 'https://air.aloft.ai/airspace-api/airspace' \
        --header 'Authorization: Bearer apitoken123' \
        --header 'Content-Type: application/json' \
        --data-raw '{
            "geometry": {
                "type":"Point",
                "coordinates":[
                    -122.42337758287121,
                    37.72444003645688
                ]
            }
        }'

Authentication

Aloft uses API Tokens to authenticate our API. Your API token is like your password, make sure you protect it as such. Just include it in you headers as an Authorization header.

Code Example: Authorization: Bearer apitoken123

How does Billing work?

Each call you make to the API is billed as $.01 USD. You can see all of your monthly billing on our usage page. We update your usage hourly and we'll bill your credit card on file at the end of the month.

About the API and Docs

These docs are living docs. If you're logged in, we'll put YOUR API key in example code where possible so you can just copy and paste examples into your codebase.

Chronology of API Requests

You'll notice the API does not return a "timestamp" with it. The airspace API is a "moment in time'. It can include future data in the form of TFR's but it is meant to deliver a near real-time look at the airspace you're asking about. Therefore, if you're using this in a decision making context for something like Class Airspace or Stadiums, feel free to call it in advance, but beware that you should probably call it again just before the operation to make sure you have the freshest data.

Abbreviations

Aviation is full of acronyms. We've done our best to make it so when you see an acronym that's underlined, like FAA you can hover over it and get the full name.

Units of Measure
  1. Latitude and Longitude - These are always represented as the decimal form unless otherwise noted.
  2. Distance - This is in meters unless otherwise noted. You can check for the json unit key
  3. Advisories - There are multiple types of advisories with lots of secondary return information. Be cautious assuming that because its there for one advisory its there for all advisories.
  4. Airports - We return ICAO airport references. Airports start with K Followed by the identifier. ie KSFO
Understanding "Airspace Color"

This is a nomenclature that Aloft developed to help people make quick Go/No-Go decisions. The API will always pick the most applicable color for your data. For example, if a TFR overlays a class G air space you'll get red, not green. The colors are very specific:

  • Blue: This is controlled airspacae. Most of the time, but not always, you can get a LAANC authorization to fly here. You should look for an advisory of type facility to gather whether you can get instant approval or need to utilize further coordination.
  • Red: This is a no-fly zone. This can be because of TFR, NSUFR, SFRA, or certain parks. This color demands close attention,
  • Yellow: This means that there can be hazards like stadium TFRs that activate implicitly, or close proximity to airport in uncontrollled airspace.
  • Green: This means you're far from published hazards but still in Class G airspace and must be vigilant to see and avoid other NAS participants

GeoJSON

Our API runs on GeoJSON for requesting airspace information. You can send either a point, to get information in a radius from that point, or you can send a GeoJson Polygon representing your flight path for the applicable airspace information. This is an example of what you'd send in the geometry key of a URL form encoded request.

 
{
    "type":"Point",
    "coordinates":[
        -122.42337758287121,
        37.72444003645688
    ]
}

Note

When sending GeoJSON, send only the geometry attribute. We won't be able to parse and understand FeatureCollections

Note

GeoJSON believes that coordinates should follow mathematical precedents and list coordinates in an X,Y format. This means you'll need to list things as Longitude,Latitude