Skip to content

FlightAware AeroAPI

Built, not certified Built and tested against recorded and synthetic responses (version 1.0.0, 10 November 2026). Not yet run against the vendor's sandbox or a client environment.

Reads an operator’s and an airport’s flights (schedule, gates, delays, diversions and cancellations) from FlightAware AeroAPI v4, read-only, inside your deployment.

CollectorFlightAware AeroAPI, version 1.0.0
ReadsFlightAware: FlightAware AeroAPI v4 (the vendor's documentation)
FamilyAviation
KindFlights
Ways to connectAccess token
Scopes
  • Read:
Read onlyYes
Vendor's API can move moneyNo
Personal dataNone
Hosts it may contactaeroapi.flightaware.com
Vendor API versionsAeroAPI 4.30.0 (OpenAPI document)
Lowest engine version0.46.0
  • Operators: GET /operators/{id}/flights: scheduled, arrived and en-route flights of each operator you name (ICAO codes are preferred, as FlightAware advises).
  • Airports: GET /airports/{id}/flights: scheduled and actual arrivals and departures of each airport you name.
  • One record per flight, keyed by fa_flight_id, FlightAware’s id for the flight, with its route, status, registration and whether it was cancelled or diverted.
  • The window runs from hours_back (1 to 240, default 24) before now to hours_ahead (0 to 48, default 48) after; AeroAPI serves at most 10 days back and 2 ahead. You must name operators or airports: a whole feed is never the default.
  1. Make an AeroAPI key at FlightAware (Personal tier for testing, Standard for production).
  2. In LightHouse, open Setup and admin, Connectors, choose FlightAware AeroAPI, and leave the access level at Read.
  3. Name the operators and airports, and set per_second to your tier’s rate: 0.1 for Personal (10 a minute), 5 for Standard, up to 100 for Premium.
  4. Paste the key. Your browser seals it to your deployment, which hands it to the collector as AEROAPI_KEY (credential_env).
  • GET only, with the key as x-apikey. The only writes AeroAPI has are alert configurations, and nothing here calls them.
  • Your deployment refuses to store this credential at read and write.
  • Only aeroapi.flightaware.com is contacted. The read-only test proves it on every change.
  • Cost is bounded per run. AeroAPI bills per result set (a page of up to 15 records). max_result_sets (200 by default) stops a run first and fails it, rather than indexing half a window as if it were all of it.
  • AeroAPI offers no changed-since. Each run reads from the previous run’s start, less an hour’s overlap, to hours_ahead; a flight whose record has not changed is not rewritten.
  • per_second sets the pace (default 0.1, one request every ten seconds); set it to your tier or you will be throttled.
  • Paging follows the opaque cursor in links.next.
  • Records are read and indexed inside your deployment. LightHouse receives ids, hashes and counts, never a flight record.
  • Nothing is cached raw, and a failure names the host and the status, never the URL.
  • Flight status carries no passenger data. The standard exclusions still apply to every record before it is written (travel document numbers, dates of birth, health or disability special service requests); exclude_fields adds paths and keep_fields takes a default back by its exact name.
What you see What it means What to do
credential variable 'AEROAPI_KEY' is not set The deployment has not been given the key Connect the credential again
GET aeroapi.flightaware.com: HTTP 401 FlightAware refused the key It may be revoked or for another product; make a new one
GET aeroapi.flightaware.com: HTTP 429 Your tier’s rate limit, after the retries Lower per_second, or move up a tier
flightaware: max_result_sets (200) reached before the window was read; raise it or narrow the window The window holds more pages than the cap allows Narrow hours_back, name fewer airports, or raise the cap knowing every page is billed
name operators or airports; a whole feed is never the default Neither was named Name at least one
hours_back is 1 to 240 and hours_ahead 0 to 48 (AeroAPI's window) The window is outside what AeroAPI serves Narrow it
per_second is the account tier's rate, above 0 and at most 100 An impossible rate Use your tier’s rate

Each entry is a run by Atlantic Agentic Labs, newest first. Only a run against the vendor’s sandbox or a client environment certifies a collector; a certification lasts six months, or less if the vendor publishes an API version the collector does not list. See How collectors are certified.

DateCollectorEngineVendor APIMethodExpires
10 November 20261.0.00.47.0AeroAPI 4.30.0Fixtures only: built, not certifiedNot applicable

From the collector’s last scan on the default branch. What each line means, and what blocks a release: Security posture.

Last scanned10 November 2026
Critical findings0
High findings0
Medium findings0
Low findings0
Info findings0
Release blockedNo
Network allow-list checkPass
Read-only behavioural testPass
SBOM (CycloneDX)Produced
Dependency licencesPass
Scannersbandit 1.9.4, semgrep 1.181.1, pip-audit 2.10.1, osv-scanner 2.7.0, cyclonedx-py 7.5.0, pip-licenses 5.5.5, gitleaks repository job aal-secrets, hosts_check tools/hosts_check.py, read-only test pytest -m read_only