Compare · Checked October 15, 2026

FlightByte vs AirLabs

AirLabs sells itself as the cheapest broad aviation API on the market, and it is among the cheapest. It also has a Flight Alert API, in beta, that sends a POST when a flight changes. FlightByte is only that POST, done as a product: signed, retried, logged, typed, and priced per watched flight. Which one you want depends on whether the webhook is a feature or the job.

In thirty seconds

AirLabs
FlightByte
What you pay for
Requests
Every lookup, and every webhook delivery, counts against the same quota.
Watched flights
100 to 5,000 a month, lookups and deliveries included.
Entry price
$49 / month
Developer: 25,000 queries; $99 for 100,000, $499 for a million.
$9 / month
Hobby: 100 watched flights, 4,000 lookups.
Free tier
1,000 queries a month
Personal use; the alert API is not part of it.
3 watched flights a month
Commercial use allowed; every event type, signed.
Webhooks
Flight Alert API, beta
“Early access to the beta is only available for paid plans.” Listen, Unlisten, Listeners endpoints.
Signed, retried, logged
HMAC-SHA256, eight retries with backoff, a record per attempt.
Proving the sender
Nothing documented
No signature or token scheme in the alert documentation; put a secret in your URL.
HMAC-SHA256 with a timestamp
Verify the raw body; replays older than five minutes fail.
Retries
Not documented
The alert documentation says nothing about redelivery or timeouts.
Eight, with backoff
Then suspension after twenty straight failures, and an event telling you so.
Change detection
A changed list of field names
Eleven listenable fields; the old value is whatever you kept from last time.
23 typed events
With from, to, delta and a human message.
Where the key travels
Query string
api_key in the URL, so in every proxy log; the listener call is a GET.
Header
Sent as x-api-key.
Status vocabulary
Three values
scheduled, en-route, landed. Cancelled and diverted are not among the documented values.
Ten phases
Departed, landed and arrived kept apart; cancelled, diverted and reinstated as events.
Live position
Position, altitude, speed, squawk
On the flight object and a real-time flights endpoint.
None
Status and times, not where the aircraft is.
Two legs, one number
One object comes back
The documentation does not say which leg when a number flies twice in a day.
A 400 with the legs
An origin selector; never a guess.
Reference catalogue
Airports, airlines, routes, fleets, cities, time zones
Plus schedules, delays and airport suggestions.
Countries and flags
Airport data arrives inside each flight.

AirLabs figures from the plan data behind its pricing section and its Flight and Flight Alert API documentation, checked October 15, 2026; plans and quotas load dynamically on their site, so check there before deciding. If something here is out of date, tell us and we will fix it.

AirLabs pricing, free plan and API key

What each plan costs, what the free plan allows, and how a key is issued, from AirLabs’s own pages on October 15, 2026. Every lookup and every alert delivery draws on the same monthly quota of queries.

AirLabs plans and prices
PlanPriceIncludedNotes
Free$01,000 queries / monthPersonal use; no fleets or routes, no Flight Alert API
Developer$49 / month, $45 billed yearly25,000 queriesCommercial use
Business$99 / month, $75 billed yearly100,000 queriesRegular support
Enterprise$499 / month, $475 billed yearly1,000,000 queriesPriority support, early access

Early access to the beta Flight Alert API is for paid plans, and each delivery is subtracted from the same query quota. AirLabs publishes no overage price. The $19-per-10,000 line in the comparison table on its home page is a volume example, not a plan you can buy.

AirLabs free tier

Free is 1,000 queries a month for personal use, without the fleets and routes databases and without the Flight Alert API. No card is asked for.

At one query every five minutes for the last six hours of a flight, 1,000 queries watch about fourteen flights a month.

AirLabs API key: how to get one

  1. Sign up at airlabs.co with a name, website, company, what you are building, an e-mail address and a password.
  2. Wait: as of this check, new sign-ups go on a waiting list, and AirLabs gives no date for when registration resumes.
  3. Once in, send the key as the api_key query parameter to airlabs.co/api/v9; a signature valid for three minutes can stand in for it.
FlightByte, on the same three questions
Hobby, $9 / month
100 flights · 4,000 lookups
Starter, $19 / month
500 flights · 20,000 lookups
Growth, $49 / month
2,000 flights · 80,000 lookups
Scale, $99 / month
5,000 flights · 200,000 lookups
Free tier
3 flights a month, commercial use
Getting a key: sign up
free key on screen in a minute; paid plans by email
Where the key goes
x-api-key header

When AirLabs is the better choice

It is one of the cheapest ways to ask a lot of questions about aviation, and for three jobs that is exactly right.

You need volume

A million queries for $499 is among the lowest per-request prices on these comparison pages. A board for a whole airport, a search box over every route, a fleet page: request-priced and cheap is the right shape.

You need positions

Latitude, longitude, altitude, heading, speed and squawk, on the flight object and on a real-time endpoint. FlightByte says a flight is en route; it does not say where.

You need the catalogue

Airports, airlines, routes, fleets, cities, countries, taxes and time zones as databases you can query. FlightByte carries the airport data that belongs to a flight and nothing beyond it.

When FlightByte is

When something in your product has to happen because a specific flight changed, and it has to happen every time.

The delivery is the product

Signed with a timestamp, retried eight times with backoff, logged with the status and latency your endpoint returned, readable back from the API. A beta alert feature has to earn each of those; here they are the reason the thing exists.

Changes, not field names

AirLabs tells you dep_gate changed and hands you the flight. FlightByte tells you departure.gate.changed from A11 to A22 with a sentence you could forward. Twenty-three of those, filtered per subscription.

A vocabulary that covers the bad days

Three status values do not have a word for cancelled or diverted. Ten phases and events for cancelled, diverted, redirected and reinstated do, and those are the days the notification matters.

What watching 500 flights a month costs, and what is left to build

Using the Flight Alert API rather than polling. One listener per flight, a few dozen deliveries each, every delivery a request against the quota.

AirLabs
500 listeners, a few dozen deliveries each
≈ 10–20k requests
Plan covering that
Developer, $49
Beta access
paid plans only
Plus
sender check, retries, dedupe, from/to diff, log
FlightByte
500 watched flights
500 line items
Starter covers all 500
$19
or Growth (2,000) for headroom
$49
Plus
nothing; delivery is the product

On the invoice FlightByte is the cheaper of the two, $19 against $49. The right-hand column of the AirLabs list is the bigger difference: those are the pieces a beta alert API leaves to you, and the pieces a wrong one costs a passenger. See pricing.

Moving over

AirLabs is flat: one object, prefixed field names, local and UTC as separate fields. FlightByte nests by side and splits estimated from actual and gate from runway. Most of the map is mechanical.

Field mapping from AirLabs to FlightByte
AirLabsFlightByteNote
flight_iatacarrier.iata + flightNumber“TK1848” becomes TK and 1848; flightKey adds the date and the leg.
cs_flight_iata, cs_airline_iatacodeshares[], operatedByA list of every codeshare number, and the operator when it differs.
airline_iatacarrier.iatacarrier.icao and carrier.name alongside.
dep_iata, dep_icaodeparture.airport.iata, .icaoPlus name, city, timezone and a country with flag URLs.
dep_time, dep_time_utcdeparture.times.scheduledGate.local, .utcOne object with both forms and the time zone.
dep_estimated, dep_estimated_utcdeparture.times.estimatedGateOr departure.bestTimeUtc for “the best time known right now”.
—departure.times.actualGate, actualRunwayActual gate and runway times; not in the documented AirLabs field list.
arr_time, arr_estimatedarrival.times.scheduledGate, estimatedGate
dep_delayed, arr_delayeddeparture.delayMinutes, arrival.delayMinutesMinutes in both; negative when early on FlightByte.
dep_terminal, dep_gatedeparture.terminal, departure.gateSame on arrival.
arr_baggagearrival.baggageAnd an arrival.baggage.changed event when it is assigned.
statusstatus.phaseSee the status map below.
durationdurationScheduled, estimated and actual minutes on FlightByte.
reg_numberequipment.tailNumber
aircraft_icao, modelequipment.iata, equipment.nameIATA type code rather than ICAO.
updatedfetchedAtWhen this snapshot was taken.
lat, lng, alt, speed, squawk—No position data.
Status value mapping
AirLabs statusFlightByte status.phaseNote
scheduledscheduled, boardingDelay is a flag, status.delayed, not a value.
en-routedeparted, en_routeOff the gate versus airborne.
landedlanded, arrivedOn the runway versus at the gate.
—cancelled, diverted, redirectedWith flight.cancelled, flight.diverted and flight.reinstated events.
Alert mapping from AirLabs listeners to FlightByte subscriptions
AirLabsFlightByteNote
airline_iata + flight_number + dep_datecarrier, flightNumber, datePlus origin when the number flies twice.
webhook_urlwebhookUrlHTTPS; private ranges refused.
_fieldseventsEleven field names there; 23 change types here.
listener_idsubscriptionIdIn every delivery.
changed[]changes[]Names there; type, from, to, deltaMinutes and message here.
—x-flightbyte-signature, metadataA signature to verify and your own booking id echoed back.

The listener call, side by side. The AirLabs listener is a GET with the key and the callback in the URL; the FlightByte subscription is a POST with the key in a header, a date, a leg selector and your metadata.

# AirLabs
GET https://airlabs.co/api/v9/listen
  ?airline_iata=TK&flight_number=1848
  &dep_date=2026-09-12
  &webhook_url=https://yourapp.com/hooks/flights?token=…
  &_fields=dep_gate,dep_estimated,arr_estimated,status
  &api_key=$AIRLABS_KEY

# every delivery is one request off the quota;
# retries and signing are not documented
# FlightByte
POST https://api.flightbyte.dev/v1/subscriptions
x-api-key: $FLIGHTBYTE_KEY

{
  "carrier": "TK",
  "flightNumber": "1848",
  "date": "2026-09-12",
  "origin": "ATH",
  "webhookUrl": "https://yourapp.com/hooks/flights",
  "events": ["departure.gate.changed", "delay.increased",
             "arrival.estimated.changed", "flight.cancelled"],
  "metadata": { "bookingId": "BK-1042" }
}

The quickstart has the receiver in Node and Python; the signature guide has it in seven frameworks.

Questions people ask before switching

How much does the AirLabs API cost?
Developer is $49 a month for 25,000 queries, Business $99 for 100,000 and Enterprise $499 for 1,000,000, less when billed yearly. Every query counts the same, and so does every webhook the beta Flight Alert API delivers. FlightByte is $9, $19, $49 or $99 a month, counted in watched flights rather than queries.
Does AirLabs have a free plan?
Yes: 1,000 queries a month for personal use, without the fleets and routes databases and without the Flight Alert API, which is for paid plans. At one query every five minutes for the last six hours of a flight, that watches about fourteen flights a month.
How do I get an AirLabs API key?
Sign up at airlabs.co with your name, website, company and what you are building. As of this check, new sign-ups go on a waiting list with no date given for when registration resumes. Once you have a key, it goes in the api_key query parameter.
AirLabs alerts cost a request each. Why pay per watched flight instead?
Because the request is the cheap part. An AirLabs delivery is a POST with the changed field names and the flight; nothing in it proves who sent it, the documentation does not describe retries, and the from and to of each change are yours to work out from your last copy. FlightByte signs every delivery, retries eight times, logs each attempt, and sends typed changes with from, to and a sentence. The watched flight is the price of that contract, not of the HTTP call.
Is the AirLabs Flight Alert API production-ready?
AirLabs labels it a beta and limits early access to paid plans. We cannot speak to how it behaves in production; we can say that FlightByte's webhooks are the product rather than a beta beside one, with a documented retry schedule, suspension rule and delivery log.
Can I use both?
Yes. AirLabs for live positions, the airport, airline, route and fleet databases and cheap bulk lookups; FlightByte for the flights your product has to react to. The two do not overlap much.
Get started

Watch your first flight tonight.

Nine dollars, a hundred flights, every event, signed. The migration map above is the whole afternoon.

A free key in a minute, no card. On a paid plan? Request a key