faa-drone-airspace-checker

n8n community node for the Apify FAA Drone Airspace Checker actor: batch lat/lon to FAA UAS airspace verdicts -- LAANC ceilings and availability, charted Class B/C/D/E surface areas, prohibited areas, national-defense TFR areas and special use airspace.

Documentation

n8n-nodes-faa-drone-airspace-checker

An n8n community node for the Apify actor FAA Drone Airspace Checker -- batch lat/lon to FAA UAS airspace verdicts. Checks LAANC ceilings (and whether LAANC is actually offered), charted Class B/C/D/E surface areas, prohibited areas, national-defense TFR areas, special use airspace, part-time national-security flight restrictions, stadium game-day TFRs, and FAA-listed recreational flyer sites -- across all eight FAA AIS layers in one batch call.

Keywords: drone airspace, laanc, faa, part 107, uas compliance, no-fly zone, airspace authorization, drone flight planning.

Why use this node

Part 107 operators, drone service providers, and mapping/inspection companies need a pre-flight airspace check for every job site. This node lets you batch-check a day's or a week's worth of job-site coordinates in one n8n run, and route sites that need a LAANC request or manual FAA authorization to a different path than sites that are clear to fly.

Installation

Option A -- n8n GUI (self-hosted or Cloud with community nodes enabled)

  1. Go to Settings > Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-faa-drone-airspace-checker.
  4. Agree to the risk notice and select Install.

Option B -- npm (self-hosted, manual)

cd ~/.n8n/nodes   # or your n8n custom-nodes directory
npm install n8n-nodes-faa-drone-airspace-checker

Restart n8n after installing.

Credentials

This node calls the Apify API and needs an Apify account. In n8n, create a new Apify API credential (or Apify OAuth2) with your Apify API token. The underlying FAA AIS layers are keyless -- the Apify credential only authorizes the actor run itself.

Node parameters

Field Type Description
Points to check (lat/lon) JSON Array of { "lat": <number>, "lon": <number>, "label": "<optional>" } objects, or "lat,lon" strings. One result row per point; one Result event is billed per row.
FAA layers to check Multi-select Defaults to all eight: LAANC grid ceilings, charted Class airspace (always queried -- it is what distinguishes uncontrolled airspace from controlled airspace with no LAANC grid), prohibited areas, national-defense TFRs, special use airspace, part-time national-security UAS flight restrictions, stadium TFR proximity, recreational flyer fixed sites.
Max points per run Number (1-5000) Safety cap on points checked and billed per run. Points beyond the cap are skipped with a warning.

Example workflow

Webhook (job-site list) -> Apify FAA Drone Airspace Checker -> IF (laanc_available) -> Split into "auto-cleared" vs "needs authorization"

  1. A Webhook node receives a batch of job-site coordinates from a scheduling tool.
  2. The Apify FAA Drone Airspace Checker node runs with:
{
  "points": [
    { "lat": 39.86, "lon": -104.67, "label": "Denver Intl (KDEN) area" },
    { "lat": 40.8296, "lon": -73.9262, "label": "Yankee Stadium NYC" },
    { "lat": 47.2, "lon": -108.6, "label": "Rural Montana site" }
  ],
  "maxPoints": 500
}
  1. Each output item is one verdict row with fields including laanc_available, laanc_ceiling_ft, airspace_class, in_prohibited_area, in_tfr, in_special_use_airspace, and an overall verdict.
  2. An IF node branches on {{$json.laanc_available}}: true sites move straight into an auto-cleared flight-log entry; false/uncontrolled-but-restricted sites route to a manual FAA authorization queue.

Links

License

MIT

Discussion