Table of Contents

Flight

Generates a flight between two real airports: an operating airline, a flight number, the departure and arrival in each airport's local time, a duration, the great-circle route and a seat.

Use it for itineraries, bookings, boarding passes, schedules, or any table where a row is a journey rather than a place. For a single airport, use Airport, which uses the same airports.

Sub-fields: at least one must be mapped. See Sub-fields.

Every JSON block on this page is a single field object, one entry in a table's fields array. See Building a Request for the full request structure.

Sub-fields

Sub-field Produces
airlineCallsign The airline's radio callsign, e.g. SPEEDBIRD. Null where it is unknown.
airlineCode The airline's IATA code, e.g. BA.
airlineCountry The ISO 3166-1 alpha-2 code of the country the airline is registered in. Null where it is unknown.
airlineIcao The airline's ICAO code, e.g. BAW.
airlineName The airline's name, e.g. British Airways.
arrivalAirport The arrival airport's IATA code, e.g. JFK.
arrivalAirportIcao The arrival airport's ICAO code, e.g. KJFK. Null where the airport has none.
arrivalAirportName The arrival airport's name, e.g. John F. Kennedy International Airport.
arrivalCity The city the arrival airport serves, e.g. New York.
arrivalContinent The arrival airport's continent code, e.g. NA. See Continents.
arrivalCountry The arrival airport's ISO 3166-1 alpha-2 country code.
arrivalCountryName The arrival airport's full country name.
arrivalLocation The arrival airport's position as WKT, rounded to precision, e.g. POINT(-73.779317 40.639447). Map it to a Geometry column.
arrivalRegion The arrival airport's ISO 3166-2 subdivision code, e.g. US-NY.
arrivalTime The local time at the arrival airport, with no offset. See Times and time zones.
arrivalTimestamp The arrival time with the arrival airport's UTC offset.
arrivalTimeZone The arrival airport's time zone, e.g. America/New_York.
departureAirport The departure airport's IATA code, e.g. LHR.
departureAirportIcao The departure airport's ICAO code, e.g. EGLL. Null where the airport has none.
departureAirportName The departure airport's name, e.g. London Heathrow Airport.
departureCity The city the departure airport serves, e.g. London.
departureContinent The departure airport's continent code, e.g. EU. See Continents.
departureCountry The departure airport's ISO 3166-1 alpha-2 country code.
departureCountryName The departure airport's full country name.
departureLocation The departure airport's position as WKT, rounded to precision, e.g. POINT(-0.459909 51.470748). Map it to a Geometry column.
departureRegion The departure airport's ISO 3166-2 subdivision code, e.g. GB-ENG.
departureTime The local time at the departure airport, with no offset. See Times and time zones.
departureTimestamp The departure time with the departure airport's UTC offset.
departureTimeZone The departure airport's time zone, e.g. Europe/London.
distanceKilometers The great-circle distance between the two airports in kilometers, rounded to one decimal place, e.g. 6826.5.
distanceMiles The great-circle distance between the two airports in miles, rounded to one decimal place, e.g. 4241.8.
duration The flight time as an interval, e.g. 08:30:00. Map it to an Interval column. See Duration.
durationHours The flight time in hours, rounded to two decimal places, e.g. 8.5.
durationMinutes The flight time in whole minutes, e.g. 510.
flightNumber The airline's IATA code followed by a number of one to four digits, e.g. BA117.
route The great-circle path between the two airports, as a WKT LINESTRING or MULTILINESTRING of routeVertices points, rounded to precision. Map it to a Geometry column. See Route.
seatClass The cabin: Economy, PremiumEconomy, Business or First. See Cabins and seats.
seatNumber A row number and seat letter in the cabin, e.g. 36E.

duration, durationHours and durationMinutes are the same value in three forms, and distanceKilometers and distanceMiles are the same distance in two units.

departureTime and arrivalTime are local times with no offset. departureTimestamp and arrivalTimestamp are the same two times with each airport's UTC offset. Map the Timestamp sub-fields where the destination needs the actual time between departure and arrival.

departureLocation, arrivalLocation and route round their coordinates to precision.

Flight numbers have one digit on about 10% of rows, two digits on 30%, three digits on 40% and four digits on 20%.

Properties

Property Type Default Description
airlineCountries CountryWeight[]? none Limits the field to airlines registered in these countries, each with a weight. Cannot be combined with airlines. See Weighting.
airlines AirlineWeight[]? none Limits the field to these airlines, each with a weight. Cannot be combined with airlineCountries. See Weighting.
arrival FlightEndpoint? none Limits the arrival airport.
averageSpeedKilometersPerHour number? 820 The average ground speed used to calculate the duration from the distance. Must be greater than 0. See Duration.
departure FlightEndpoint? none Limits the departure airport.
departureTime object? see Times and time zones The departure time, with the same properties as a DateTime field.
groundMinutes number? 30 Minutes added to every flight for taxi, climb and descent. Must not be negative.
includeCeasedAirlines boolean false Whether airlines that have ceased operating are included.
map object required Maps sub-fields to destination columns. See Building a Request.
maxDistanceKilometers number? none The longest great-circle distance between the two airports, in kilometers. Must not be negative or less than minDistanceKilometers. See Distance limits.
minDistanceKilometers number? none The shortest great-circle distance between the two airports, in kilometers. Must not be negative.
nullPercentageMax number 0 Upper bound (0-100) of the percentage of rows that should be null. See nullPercentageMin.
nullPercentageMin number 0 Lower bound (0-100) of the percentage of rows that should be null. The rate is fixed once for the whole field from this range, not recalculated per row. Set equal to nullPercentageMax for an exact rate.
precision integer 6 How many decimal places the coordinates in route, departureLocation and arrivalLocation are rounded to, from 0 to 15, where 0 uses the default.
routeVertices integer? 33 How many points route is drawn with, counting both airports, from 3 to 500. More points draw a smoother curve and make the value longer. The number of points is reflected in the price. See Route.
scope FlightScope "Any" Whether the two airports must be in the same country, in different countries, or either.
seatClasses object[]? see Cabins and seats The relative weight of each cabin.
seed integer random Per-field seed, overriding the request's own seed for this field only.
unique boolean false Whether every generated row must differ from the others in its mapped sub-fields. There is no fixed limit, so a request that runs out of distinct flights is rejected during generation.

Flights only use airports with scheduled airline service and an IATA code, whatever the departure and arrival filters include. They only use airlines that are still operating, unless includeCeasedAirlines is set.

FlightEndpoint

departure and arrival are set separately, so one end can be fixed while the other varies.

Property Type Default Description
airports AirportWeight[]? none Limits this end to these airports, each with a weight. Cannot be combined with countries or regions.
continents string[]? none Limits this end to airports on these continents. See Continents.
countries CountryWeight[]? none Limits this end to airports in these countries, each with a weight. Cannot be combined with regions or airports.
regions AirportRegionWeight[]? none Limits this end to airports in these subdivisions, each with a weight. Cannot be combined with countries or airports.
types AirportType[]? LargeAirport and MediumAirport Limits this end to these kinds of airport.

An airport must match every filter set on its end. With both countries and continents, an airport must be in one of the countries and on one of the continents.

Only one of countries, regions and airports can be set on each end. Each entry must match at least one airport under the other filters on its end, and an entry that matches none is rejected. See Weighting.

AirlineWeight

Property Type Default Description
airline string required The IATA or ICAO code of the airline, matched without regard to case, such as BA or BAW. See GET /v1/aviation/airlines.
weight number 1 The airline's relative weight in the distribution, against the other entries. Must be greater than 0.

CountryWeight

Property Type Default Description
country string required The ISO 3166-1 alpha-2 code of the country, matched without regard to case. A code that is not two characters is rejected. See GET /v1/aviation/countries.
weight number 1 The country's relative weight in the distribution, against the other entries. Must be greater than 0.

FlightScope

Scope Effect
Any No constraint. Each end matches its own filters.
Domestic Both airports are in the same country.
International The two airports are in different countries.

Times and time zones

Each end has a local time and a time with a UTC offset. See Sub-fields.

The arrival time is the departure time plus the duration, in the arrival airport's time zone. When the two airports are in different time zones, the difference between the two local times is not the duration. A westbound transatlantic flight arrives only a few hours after it departs by the local clocks:

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "gb" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "departureTime": {
    "mode": "Random",
    "min": "2026-06-01T00:00:00",
    "max": "2026-06-30T23:59:59",
    "timeMin": "08:00:00",
    "timeMax": "18:00:00"
  },
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "departureTimeZone": { "column": "from_zone", "dataType": "VarChar" },
    "departureTime": { "column": "departs_local", "dataType": "DateTime" },
    "departureTimestamp": { "column": "departs_offset", "dataType": "Timestamp" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "arrivalTimeZone": { "column": "to_zone", "dataType": "VarChar" },
    "arrivalTime": { "column": "arrives_local", "dataType": "DateTime" },
    "arrivalTimestamp": { "column": "arrives_offset", "dataType": "Timestamp" },
    "duration": { "column": "duration", "dataType": "Interval" }
  }
}
from from_zone departs_local departs_offset to to_zone arrives_local arrives_offset duration
PIK Europe/London 2026-06-01 16:07:39 2026-06-01 16:07:39 +01:00 BUR America/Los_Angeles 2026-06-01 18:42:39 2026-06-01 18:42:39 -07:00 10:35:00
EMA Europe/London 2026-06-01 13:50:07 2026-06-01 13:50:07 +01:00 JAX America/New_York 2026-06-01 17:35:07 2026-06-01 17:35:07 -04:00 08:45:00
CWL Europe/London 2026-06-09 08:23:36 2026-06-09 08:23:36 +01:00 PSP America/Los_Angeles 2026-06-09 11:18:36 2026-06-09 11:18:36 -07:00 10:55:00
LHR Europe/London 2026-06-17 16:18:27 2026-06-17 16:18:27 +01:00 DJT America/New_York 2026-06-17 20:23:27 2026-06-17 20:23:27 -04:00 09:05:00
LTN Europe/London 2026-06-23 08:50:57 2026-06-23 08:50:57 +01:00 OGG Pacific/Honolulu 2026-06-23 12:30:57 2026-06-23 12:30:57 -10:00 14:40:00
LHR Europe/London 2026-06-07 08:36:15 2026-06-07 08:36:15 +01:00 GRR America/Detroit 2026-06-07 11:36:15 2026-06-07 11:36:15 -04:00 08:00:00

The last row departs London Heathrow at 08:36 and arrives in Grand Rapids at 11:36 local time, three hours later by the local clocks, after a flight of eight hours. The two Timestamp columns show the same two times with their offsets, so the duration can be calculated from them.

The offset of each airport is the one in effect in its time zone on that date, so a flight in January and a flight in June can have different offsets at the same airport where the country observes daylight saving time. A departure time in the hour skipped when clocks move forward is moved forward past it, in the same way as on a Timestamp field. An airport with no known time zone is never used for a flight.

departureTime accepts every DateTime property, including mode, min, max, weekDays, and the timeMin and timeMax used above to keep departures within working hours.

Without departureTime, or with a departureTime that sets none of min, max, start and lookupValues, departures are from 2020-01-01T00:00:00 to 2030-12-31T23:59:59. The range is fixed, so a request with a seed returns the same flights every time.

Duration

The duration is the great-circle distance at averageSpeedKilometersPerHour, plus groundMinutes, rounded to the nearest five minutes, with a minimum of five minutes. It is an estimate, not a published schedule.

duration is an interval, and durationHours and durationMinutes are the same value as numbers.

Scope and the operating airline

A route is usually operated by an airline from one of the two countries it connects. On a flight between two countries, the airline is registered in one of them on about 70% of rows, and is any airline on the rest. On a flight within one country, the airline is registered in that country on about 99% of rows. Where no airline is registered in either country, any airline is used.

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "au" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "au" }], "types": ["LargeAirport"] },
  "scope": "Domestic",
  "departureTime": {
    "mode": "Random",
    "min": "2026-09-01T00:00:00",
    "max": "2026-09-30T23:59:59"
  },
  "map": {
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "departureAirport": { "column": "from", "dataType": "Char" },
    "departureCity": { "column": "from_city", "dataType": "VarChar" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "arrivalCity": { "column": "to_city", "dataType": "VarChar" },
    "distanceKilometers": { "column": "km", "dataType": "Double" },
    "seatClass": { "column": "cabin", "dataType": "VarChar" },
    "seatNumber": { "column": "seat", "dataType": "VarChar" }
  }
}
flight airline from from_city to to_city km cabin seat
VA92 Virgin Australia HBA Hobart (Cambridge) OOL Gold Coast 1718 Business 10F
TL3425 Airnorth WTB Toowoomba HBA Hobart (Cambridge) 1742.2 Economy 43A
QF788 Qantas Airways WTB Toowoomba OOL Gold Coast 181.5 Economy 25A
JQ5491 Jetstar Airways MEL Melbourne HBA Hobart (Cambridge) 617.6 Economy 43C
HJ5123 Tasman Cargo Airlines MEL Melbourne PHE Port Hedland 3172.7 PremiumEconomy 16D
VA6876 Virgin Australia BME Broome NTL Williamtown 3384.2 Economy 40F

To set the airline, use airlines, which takes IATA or ICAO codes, or airlineCountries, which limits the airline to the countries it is registered in. Only one of them can be set:

{
  "type": "Flight",
  "airlines": [{ "airline": "BA" }, { "airline": "VS" }],
  "departure": { "countries": [{ "country": "gb" }] },
  "map": {
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "airlineName": { "column": "airline", "dataType": "VarChar" }
  }
}
flight airline
BA6920 British Airways
BA374 British Airways
VS875 Virgin Atlantic
VS1640 Virgin Atlantic
VS945 Virgin Atlantic
BA662 British Airways

Cabins and seats

seatClass is selected using the weights in seatClasses. Without seatClasses, the weights are Economy 80, PremiumEconomy 10, Business 8 and First 2. seatNumber is a row number and a letter, and the row is always in the cabin selected for that row.

Cabin Rows Letters
First 1 to 4 A, C, D, F
Business 5 to 12 A, C, D, F
PremiumEconomy 13 to 20 A to F
Economy 21 to 45 A to F

Each entry in seatClasses has these properties:

Property Type Default Description
seatClass "Economy" / "PremiumEconomy" / "Business" / "First" required The cabin.
weight number 1 The cabin's weight relative to the other entries in the list. Weights are relative, not percentages, so 8 and 2 give the same distribution as 80 and 20. Must be greater than 0.
{
  "type": "Flight",
  "seatClasses": [
    { "seatClass": "Economy", "weight": 75 },
    { "seatClass": "PremiumEconomy", "weight": 12 },
    { "seatClass": "Business", "weight": 10 },
    { "seatClass": "First", "weight": 3 }
  ],
  "map": {
    "seatClass": { "column": "cabin", "dataType": "VarChar" },
    "seatNumber": { "column": "seat", "dataType": "VarChar" }
  }
}
cabin seat
Business 7C
Economy 40C
PremiumEconomy 17E
Economy 32F
Economy 25E
Economy 33E

A cabin not listed in seatClasses is never produced, so a list with only Economy never produces a business seat.

Weighting

countries, regions and airports on each end, airlines and airlineCountries are weighted lists. Each entry's weight is relative to the other entries in the same list. It is not a percentage and the weights need not add up to any total, so weights of 3 and 1 give the first entry three rows for every one the second gets. An entry with no weight counts as 1, so a list with no weights set shares the rows evenly among its entries.

List How rows are shared
countries, regions Among the entries, by weight. Within an entry, every matching airport has the same chance.
airports Among the airports, by weight.
airlines Among the airlines, by weight.
airlineCountries Among the countries, by weight. Within a country, every matching airline has the same chance.

A pair of airports that fails the scope or the distance limits is replaced by a new pair, so those settings can move the shares away from the weights. A domestic flight with departure weights of 3 for the United States and 1 for Canada, and the same arrival weights, departs from the United States on about nine rows in ten rather than three in four, because a Canadian departure is more often paired with an airport in the other country and replaced.

The airline is still usually from one of the two countries the flight connects. See Scope and the operating airline. On those rows, the airline is chosen from the listed airlines registered in either country, by weight.

Weighted airports

{
  "type": "Flight",
  "departure": {
    "airports": [
      { "airport": "LHR", "weight": 3 },
      { "airport": "MAN" }
    ]
  },
  "arrival": {
    "countries": [
      { "country": "us", "weight": 2 },
      { "country": "ca" }
    ],
    "types": ["LargeAirport"]
  },
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "arrivalCountry": { "column": "to_country", "dataType": "Char" },
    "airlineName": { "column": "airline", "dataType": "VarChar" }
  }
}
from to to_country airline
LHR PVD US One Air
LHR HOU US Cayman Airways
LHR BNA US SkyWest Airlines
LHR YUL CA Virgin Atlantic
LHR MDW US Loganair
LHR YXE CA WestJet Encore
MAN YVR CA One Air
LHR CHS US United Airlines

About three flights in four depart from Heathrow, and about two in three arrive in the United States.

Weighted airlines

{
  "type": "Flight",
  "airlines": [
    { "airline": "BA", "weight": 3 },
    { "airline": "VS" }
  ],
  "departure": { "airports": [{ "airport": "LHR" }] },
  "arrival": { "types": ["LargeAirport"] },
  "map": {
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "arrivalAirport": { "column": "to", "dataType": "Char" }
  }
}
flight airline to
BA8033 British Airways IBZ
BA602 British Airways LRM
VS4453 Virgin Atlantic KUF
BA155 British Airways VSA
BA33 British Airways GDN
BA160 British Airways LPQ
BA1693 British Airways HKG
VS38 Virgin Atlantic VLN

Both airlines are registered in the United Kingdom, so British Airways operates about three flights in four on every route.

With airlineCountries, a country's weight is shared equally among its airlines, so the airlines of a country with a weight of 3 together operate three flights for every one operated by the airlines of a country with a weight of 1.

Route

route is the path between the two airports along the great circle, as a series of points. It follows the shortest path across the earth's surface, which is curved on a flat map.

The points are evenly spaced along the path, from the departure airport to the arrival airport. routeVertices sets how many there are, counting both airports, from 3 to 500. Without it, there are 33.

It is a LINESTRING for most flights. Where the path crosses the antimeridian, it is split there into a MULTILINESTRING, so that no single line runs from longitude 180 to longitude -180 across the whole map. The first line ends at the point where the path meets the antimeridian, at longitude 180 or -180, and the second line starts at the same latitude on the other side. A split route therefore has two more points than routeVertices.

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "nz" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "minDistanceKilometers": 8000,
  "precision": 3,
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "distanceKilometers": { "column": "km", "dataType": "Double" },
    "route": { "column": "route", "dataType": "Geometry" }
  }
}
from to km route
ZQN MSY 13127 MULTILINESTRING((168.746 -45.019, 173.683 -43.922, 178.426 -42.621, 180 -42.133), (-180 -42.133, -177.04 -41.133, ... -90.265 29.993))
AKL MSP 12941.7 MULTILINESTRING((174.786 -37.012, 178.285 -34.733, 180 -33.528), (-180 -33.528, -178.408 -32.359, ... -93.222 44.88))
WLG BUR 10818.1 MULTILINESTRING((174.807 -41.327, 177.82 -39.335, 180 -37.768), (-180 -37.768, -179.337 -37.269, ... -118.358 34.203))
CHC STL 13348.4 MULTILINESTRING((172.532 -43.489, 177.027 -41.719, 180 -40.391), (-180 -40.391, -178.73 -39.783, ... -90.37 38.749))
ZQN PHX 11813.6 MULTILINESTRING((168.746 -45.019, 172.638 -43.224, 176.3 -41.305, 179.746 -39.276, 180 -39.118), (-180 -39.118, -177.006 -37.152, ... -112.006 33.435))
WLG ABQ 11666.4 MULTILINESTRING((174.807 -41.327, 178.334 -39.446, 180 -38.482), (-180 -38.482, -178.33 -37.465, ... -106.609 35.04))

The coordinates are shortened above with .... The full value contains every point. Every coordinate is within the valid range of longitude and latitude. Each route's first line ends at longitude 180, and its second line starts at -180 at the same latitude.

precision sets the decimal places on these coordinates and on departureLocation and arrivalLocation. A lower precision makes the value shorter. route is the longest value this field produces.

Fewer points

A small routeVertices makes a short value that still follows the great circle, for a map that only needs the general shape of the route.

{
  "type": "Flight",
  "departure": { "airports": [{ "airport": "LHR" }] },
  "arrival": {
    "airports": [
      { "airport": "JFK" },
      { "airport": "SIN" },
      { "airport": "NRT" }
    ]
  },
  "routeVertices": 5,
  "precision": 2,
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "route": { "column": "route", "dataType": "Geometry" }
  }
}
from to route
LHR JFK LINESTRING(-0.46 51.47, -20.71 53.64, -41.31 52.22, -59.32 47.58, -73.78 40.64)
LHR SIN LINESTRING(-0.46 51.47, 38.63 50.06, 68.45 37.84, 88.37 20.48, 103.99 1.35)
LHR JFK LINESTRING(-0.46 51.47, -20.71 53.64, -41.31 52.22, -59.32 47.58, -73.78 40.64)
LHR JFK LINESTRING(-0.46 51.47, -20.71 53.64, -41.31 52.22, -59.32 47.58, -73.78 40.64)
LHR NRT LINESTRING(-0.46 51.47, 29.11 67.52, 90.24 69.45, 125.81 54.85, 140.39 35.77)
LHR SIN LINESTRING(-0.46 51.47, 38.63 50.06, 68.45 37.84, 88.37 20.48, 103.99 1.35)

Each route has five points: the two airports and three between them. The route to Tokyo rises to almost 70 degrees north, because the great circle from London to Tokyo passes over the Arctic.

Distance limits

minDistanceKilometers and maxDistanceKilometers apply to the distance between the two airports. For each row, a new pair of airports is selected until the pair is within the limits.

When no pair matches the filters, the scope and the distance limits, the request is rejected during generation, and the error identifies the limits to widen. A domestic flight over 20,000 kilometers, or a departure and an arrival whose filters only include the same airport, are both rejected.

Examples

Each example below is a single field object, one entry in a table's fields array within a full request. See Building a Request for how it fits into a full DatasetRequest.

A boarding pass

One airline from one airport, with departures in a single week between 06:00 and 22:00, and a cabin and seat on every row.

{
  "type": "Flight",
  "airlines": [{ "airline": "BA" }],
  "departure": { "airports": [{ "airport": "LHR" }] },
  "arrival": { "types": ["LargeAirport"] },
  "departureTime": {
    "mode": "Random",
    "min": "2026-11-02T00:00:00",
    "max": "2026-11-08T23:59:59",
    "timeMin": "06:00:00",
    "timeMax": "22:00:00"
  },
  "map": {
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "departureTime": { "column": "departs", "dataType": "DateTime" },
    "seatClass": { "column": "cabin", "dataType": "VarChar" },
    "seatNumber": { "column": "seat", "dataType": "VarChar" }
  }
}
airline flight from to departs cabin seat
British Airways BA200 LHR PCL 2026-11-05 06:29:01 Economy 41B
British Airways BA643 LHR KIJ 2026-11-08 12:02:53 Economy 38C
British Airways BA67 LHR IDR 2026-11-06 14:00:06 Economy 24B
British Airways BA66 LHR KBL 2026-11-07 16:32:20 Economy 36F
British Airways BA6121 LHR SUF 2026-11-06 08:18:24 Economy 44D
British Airways BA30 LHR CRA 2026-11-05 20:26:34 Economy 29C

A flight between two continents

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "arrival": { "continents": ["EU"], "types": ["LargeAirport"] },
  "scope": "International",
  "minDistanceKilometers": 5000,
  "maxDistanceKilometers": 9000,
  "departureTime": {
    "mode": "Random",
    "min": "2026-03-01T00:00:00",
    "max": "2026-03-31T23:59:59"
  },
  "map": {
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "departureTime": { "column": "departs", "dataType": "DateTime" },
    "arrivalTime": { "column": "arrives", "dataType": "DateTime" },
    "durationMinutes": { "column": "minutes", "dataType": "Long" },
    "distanceKilometers": { "column": "km", "dataType": "Double" }
  }
}
flight airline from to departs arrives minutes km
8E6 Bering Air IND BVA 2026-03-20 09:41:25 2026-03-20 23:21:25 520 6675.6
E42 Enter Air MCI LUZ 2026-03-01 11:18:43 2026-03-02 04:53:43 635 8260.7
N485 Nordwind Airlines OKC GLA 2026-03-31 09:46:17 2026-04-01 00:46:17 540 7003.9
DI5590 Marabu Airlines RDU SZG 2026-03-07 21:03:23 2026-03-08 12:23:23 560 7266.4
5Y9 Atlas Air CLT AMS 2026-03-26 14:32:21 2026-03-27 04:12:21 520 6718
YV91 Mesa Airlines GEG BCM 2026-03-26 08:36:25 2026-03-27 05:06:25 690 8992.2

departs and arrives are each in the local time of their airport. See Times and time zones.

Both airports by name

The airport, city and country for each end, from one country to one continent.

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "jp" }], "types": ["LargeAirport"] },
  "arrival": { "continents": ["OC"], "types": ["LargeAirport"] },
  "map": {
    "departureAirportName": { "column": "from_airport", "dataType": "VarChar" },
    "departureCity": { "column": "from_city", "dataType": "VarChar" },
    "departureCountryName": { "column": "from_country", "dataType": "VarChar" },
    "arrivalAirportName": { "column": "to_airport", "dataType": "VarChar" },
    "arrivalCity": { "column": "to_city", "dataType": "VarChar" },
    "arrivalCountryName": { "column": "to_country", "dataType": "VarChar" }
  }
}
from_airport from_city from_country to_airport to_city to_country
Kitakyushu Airport Kitakyushu Japan Bauerfield International Airport Port Vila Vanuatu
Kansai International Airport Osaka Japan Honiara International Airport Honiara Solomon Islands
Kansai International Airport Osaka Japan Bonriki International Airport South Tarawa Kiribati
Takamatsu Airport Takamatsu Japan Perth International Airport Perth Australia
Sendai Airport Natori Japan Chuuk International Airport Weno Island Micronesia
Aomori Airport Aomori Japan Melbourne Airport Melbourne Australia

Hawaii has the continent code OC, so a filter for OC can also return airports in the United States.

Short regional flights

Departures from California to California or a neighboring state, from 150 to 800 kilometers, on two airlines.

{
  "type": "Flight",
  "airlines": [{ "airline": "AS" }, { "airline": "WN" }],
  "departure": { "regions": [{ "region": "US-CA" }] },
  "arrival": {
    "regions": [
      { "region": "US-CA" },
      { "region": "US-NV" },
      { "region": "US-AZ" },
      { "region": "US-OR" }
    ]
  },
  "minDistanceKilometers": 150,
  "maxDistanceKilometers": 800,
  "map": {
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "distanceMiles": { "column": "miles", "dataType": "Double" },
    "durationMinutes": { "column": "minutes", "dataType": "Long" }
  }
}
airline flight from to miles minutes
Southwest Airlines WN125 SCK MMH 132.1 45
Southwest Airlines WN929 SQL SMX 206.5 55
Southwest Airlines WN732 BIH SMF 197.9 55
Southwest Airlines WN94 SBA PHX 454.2 85
Alaska Airlines AS7300 BIH FLG 403.5 80
Southwest Airlines WN3 MMH BLD 249.1 60

The distance limits are in kilometers, whichever distance sub-field is mapped.

Airline details

Every airline sub-field, for airlines registered in Germany or France.

{
  "type": "Flight",
  "airlineCountries": [{ "country": "de" }, { "country": "fr" }],
  "departure": { "continents": ["EU"], "types": ["LargeAirport"] },
  "map": {
    "airlineCode": { "column": "iata", "dataType": "Char" },
    "airlineIcao": { "column": "icao", "dataType": "Char" },
    "airlineName": { "column": "airline", "dataType": "VarChar" },
    "airlineCallsign": { "column": "callsign", "dataType": "VarChar" },
    "airlineCountry": { "column": "country", "dataType": "Char" },
    "flightNumber": { "column": "flight", "dataType": "VarChar" }
  }
}
iata icao airline callsign country flight
TY TPC Air Calédonie AIRCAL FR TY7448
2C CMA CMA CGM Air Cargo FRENCH CARGO FR 2C971
HR HHN Hahn Air ROOSTER DE HR333
PJ SPM Air Saint-Pierre SAINT-PIERRE FR PJ53
VT VTA Air Tahiti AIR TAHITI FR VT4074
EW EWG Eurowings EUROWINGS DE EW77

Weekday morning departures across time zones

Domestic flights of at least 2,000 kilometers, departing between 06:00 and 09:00 local time on weekdays, with both times including their airport's UTC offset.

{
  "type": "Flight",
  "scope": "Domestic",
  "departure": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "minDistanceKilometers": 2000,
  "departureTime": {
    "mode": "Random",
    "min": "2026-01-05T00:00:00",
    "max": "2026-01-30T23:59:59",
    "weekDays": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "timeMin": "06:00:00",
    "timeMax": "09:00:00"
  },
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "departureTimeZone": { "column": "from_zone", "dataType": "VarChar" },
    "departureTimestamp": { "column": "departs", "dataType": "Timestamp" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "arrivalTimeZone": { "column": "to_zone", "dataType": "VarChar" },
    "arrivalTimestamp": { "column": "arrives", "dataType": "Timestamp" }
  }
}
from from_zone departs to to_zone arrives
LAS America/Los_Angeles 2026-01-28 06:04:56 -08:00 DTW America/Detroit 2026-01-28 12:59:56 -05:00
LAX America/Los_Angeles 2026-01-26 07:55:17 -08:00 FLL America/New_York 2026-01-26 16:00:17 -05:00
SLC America/Denver 2026-01-23 08:44:30 -07:00 MDW America/Chicago 2026-01-23 12:44:30 -06:00
PDX America/Los_Angeles 2026-01-23 07:12:08 -08:00 SAT America/Chicago 2026-01-23 13:02:08 -06:00
FAT America/Los_Angeles 2026-01-12 08:27:48 -08:00 SAV America/New_York 2026-01-12 16:17:48 -05:00
COS America/Denver 2026-01-29 07:58:40 -07:00 RSW America/New_York 2026-01-29 13:33:40 -05:00

The first row departs Las Vegas at 06:04 and arrives in Detroit at 12:59 local time. From the offsets, the flight takes 3 hours 55 minutes.

Airport positions

The point of each airport, rounded to four decimal places.

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "ca" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "mx" }], "types": ["LargeAirport"] },
  "precision": 4,
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "departureLocation": { "column": "from_point", "dataType": "Geometry" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "arrivalLocation": { "column": "to_point", "dataType": "Geometry" }
  }
}
from from_point to to_point
YEG POINT(-113.58 53.3097) CUN POINT(-86.8735 21.0408)
YHM POINT(-79.9294 43.1713) QRO POINT(-100.1864 20.6188)
YUL POINT(-73.7423 45.4678) VSA POINT(-92.8182 17.9943)
YYT POINT(-52.7519 47.6186) CUU POINT(-105.9638 28.7026)
YHM POINT(-79.9294 43.1713) HUX POINT(-96.2605 15.7754)
YYT POINT(-52.7519 47.6186) SJD POINT(-109.7207 23.1519)

Trailing zeros are not written, so a longitude of -113.5800 is written as -113.58. For the path between the two airports, map route. See Route.

A slower aircraft

Short domestic flights with a lower average speed and less time on the ground, as for a turboprop.

{
  "type": "Flight",
  "departure": { "countries": [{ "country": "no" }] },
  "arrival": { "countries": [{ "country": "no" }] },
  "maxDistanceKilometers": 400,
  "averageSpeedKilometersPerHour": 450,
  "groundMinutes": 20,
  "map": {
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" },
    "distanceKilometers": { "column": "km", "dataType": "Double" },
    "duration": { "column": "duration", "dataType": "Interval" },
    "durationHours": { "column": "hours", "dataType": "Double" }
  }
}
from to km duration hours
HFT HVG 92.1 00:30:00 0.5
HOV OLA 245.7 00:55:00 0.92
FRO TRD 367.3 01:10:00 1.17
TRD RVK 153.9 00:40:00 0.67
SSJ MJF 39 00:25:00 0.42
AES MOL 62.3 00:30:00 0.5

The third row is 367.3 kilometers at 450 kilometers per hour, which is 49 minutes, plus 20 minutes on the ground, rounded to 1 hour 10 minutes. See Duration.

Null rows

{
  "type": "Flight",
  "nullPercentageMin": 10,
  "nullPercentageMax": 10,
  "departure": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "arrival": { "countries": [{ "country": "us" }], "types": ["LargeAirport"] },
  "map": {
    "flightNumber": { "column": "flight", "dataType": "VarChar" },
    "departureAirport": { "column": "from", "dataType": "Char" },
    "arrivalAirport": { "column": "to", "dataType": "Char" }
  }
}
flight from to
M5627 ATL LAX
LF888 LGB LAX
9K616 BDL LGB
G468 ONT RDU
MQ2 OKC BUF

Every mapped column is empty on a null row, so a row never has a flight number without its airports.