- Publish Flight Information - ACRIS API
- Publish Flight Information - AIDX API
- Publish Flight Information - SITA API
- SITA Flight Connection API
- SITA Flight Duration API
- SITA Flight Follower API
- SITA Flight Schedule API
- SITA Flight Status API
- SITA Flight Status Notification API
- SITA Historical Flight Status API
- SITA On Time Performance API
- Overview
- Calculating OTP
- 1 Revision History
- 2 Registration and API Sign Up
- Overview
- Calculating OTP
- 1 Revision History
- 2 Registration and API Sign Up
- 3 SITA On-Time Performance API Service
- 4 Error Response
- 5 Use Cases
- OTP Terms
- Contact Us
- 3 SITA On-Time Performance API Service
- 4 Error Response
- 5 Use Cases
- OTP Terms
- Contact Us
Overview
SITA On-Time Performance API provides a standardized mechanism to compare how airlines, airports and ground handlers perform against their published schedules. It allows aviation companies to clearly and quickly see how they are performing against the competition and their own targets.
API Features
SITA On-Time Performance API allows the user to generate three types of reports.
- On-Time Performance Ranking - The user can request the highest or lowest performing airports and airlines within a region or globally for any date or period.
- On-Time Performance Comparison – This feature allows the user to compare the on-time performance of a maximum of 20 Airports or Airlines for any given time interval.
- Flight Statistics – This is a generic report to obtain the total number of flights departing from an airport including cancelled flights.
Calculating OTP
SITA calculates on-time performance based on the millions of flight records and real-time updates it processes from airports worldwide every day.
The on-time performance for airlines is the percentage of flights operated by that operator that arrived on time while the on-time performance for airports is the percentage of flights that departed on time. Some points of note:
- A flight is considered on time when it arrives/departs within 15 minutes of the scheduled time.
- Cancelled flights count as not on-time flights.
- The on-time performance is calculated based only on flights that SITA knows the actual arrival/departure time including cancelled flights.
- All the times used in these calculations are gate times.
Check out our Reference Documentation page for more details.
Note. SITA is focused on ensuring on-time performance is accurately calculated. To do this, any airlines or airports with more than 50% of their actual flight times missing from the sample are excluded from the report.
Examples of information included: iataCode, region, OnTime, not on-time, cancelled, performance percentage, flights, coverage, rank, size, unknown
This API answers the below questions:
- Who are the top-performing airport or airlines in the Americas?
- Who are the top-performing airports or airlines worldwide?
- What is the comparison between the OTP of airport X and airport Y?
- What was the total number of flights departed /arrived at an airport?
SITA On-Time Performance API Service
1 Revision History
Date | Version | Description |
---|---|---|
11 March 2021 | 1.0 | Initial version |
29 March 2021 | 1.1 | Updated response descriptions |
10 November 2022 | 1.2 | Reformatting and general tidy up |
16 February 2023 | 1.3 | Added Airport by Airlines endpoints |
27 July 2023 | 1.4 | Added OAuth and Rate Limit information |
28 May 2024 | 1.5 | Renaming Accuracy to Coverage |
2 Registration and API Sign Up
To access the APIs you will need an API key. These can be obtained by creating an account on https://www.developer.aero/ and registering your interest for access to the API.
Overview
SITA On-Time Performance API provides a standardized mechanism to compare how airlines, airports and ground handlers perform against their published schedules. It allows aviation companies to clearly and quickly see how they are performing against the competition and their own targets.
API Features
SITA On-Time Performance API allows the user to generate three types of reports.
- On-Time Performance Ranking - The user can request the highest or lowest performing airports and airlines within a region or globally for any date or period.
- On-Time Performance Comparison – This feature allows the user to compare the on-time performance of a maximum of 20 Airports or Airlines for any given time interval.
- Flight Statistics – This is a generic report to obtain the total number of flights departing from an airport including cancelled flights.
Calculating OTP
SITA calculates on-time performance based on the millions of flight records and real-time updates it processes from airports worldwide every day.
The on-time performance for airlines is the percentage of flights operated by that operator that arrived on time while the on-time performance for airports is the percentage of flights that departed on time. Some points of note:
- A flight is considered on time when it arrives/departs within 15 minutes of the scheduled time.
- Cancelled flights count as not on-time flights.
- The on-time performance is calculated based only on flights that SITA knows the actual arrival/departure time including cancelled flights.
- All the times used in these calculations are gate times.
Check out our Reference Documentation page for more details.
Note. SITA is focused on ensuring on-time performance is accurately calculated. To do this, any airlines or airports with more than 50% of their actual flight times missing from the sample are excluded from the report.
Examples of information included: iataCode, region, OnTime, not on-time, cancelled, performance percentage, flights, coverage, rank, size, unknown
This API answers the below questions:
- Who are the top-performing airport or airlines in the Americas?
- Who are the top-performing airports or airlines worldwide?
- What is the comparison between the OTP of airport X and airport Y?
- What was the total number of flights departed /arrived at an airport?
SITA On-Time Performance API Service
1 Revision History
Date | Version | Description |
---|---|---|
11 March 2021 | 1.0 | Initial version |
29 March 2021 | 1.1 | Updated response descriptions |
10 November 2022 | 1.2 | Reformatting and general tidy up |
16 February 2023 | 1.3 | Added Airport by Airlines endpoints |
27 July 2023 | 1.4 | Added OAuth and Rate Limit information |
28 May 2024 | 1.5 | Renaming Accuracy to Coverage |
2 Registration and API Sign Up
To access the APIs you will need an API key. These can be obtained by creating an account on https://www.developer.aero/ and registering your interest for access to the API.
2.1 Authentication
To access the APIs an OAuth access token must be supplied in an Authorization header in the request. To obtain an OAuth token a request must be sent to the https://sitaopen.api.aero/otp/oauth/token endpoint using the OAuth2 Client Credential flow.Use your API key as the client_id, and your consumer secret as the client_secret these should be base64 encoded in an Authorization header when sent to the OAuth endpoint.
Please note the OAuth tokens have an expiry of one hour after the token has been retrieved, after the token has expired you will need to re-issue a request to get a new token.
curl --location 'https://sitaopen.api.aero/otp/oauth/token' \--header 'Authorization: Basic YWJjZGVmZ2hpamtsbW5vcC5xcnN0dXY='
You should then see your OAuth token in the response.
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOJIUzI1NiJ9.eyJyZWZyZXNoX3Rva2VuX2V4cGlyZXNfaW4iOiIzNTk5Iiwic3ViIjoic2l0YSIsImFwaV9cm9kdWN0X2xpc3QiOiJbRE9UUy1GbGlnaHQtQ29ubmVjdGlvbi1JbnRlcm5hbF0iLCJpc3MiOiJ1cm46XC9cL2FwaWdlZS1lZdlLUpXVC1wb2xpY3ktdGVzdCIsImFwaV9hY2Nlc3NfdG9rZW4iOiIweXlIZHduSUdtOGo5WlN6WWtuYTBsWG9ZNTFvIiwiYXBpX3JlZnJlc2hfdG9rZW4iOiJraHNlaXN2T3JwSHBUd2NuUVRHdXdBdVdicXNpamNQTyIsImFwaV9zY29wZSI6IiIsImF1ZCI6ImFwaWdlZS1hcGkiLCJleHAiOj3MzAyOTI3MzIsImFwcF9pZCI6IjIxYzI5NTgyLTIwZTktNDkwMS1hNjExLTVkM2UwM2QxNzFkYiIsImV4cGlyZXNfaW4iOiIzNTk5IiwiaWF0IjoxNzMwMjg5MTMyLCJqdGkiOiI3ZmEzNTU4Mi0xNDhmLTRiMmEtODYxMS0wNWI4NDg5YjFjYmMifQ.g_dFH-08DGADOX9HIk7wzX5edxXejVsnCen27A25TQ0"
Once an access token has been obtained, it can be placed in the Authorization HTTP header as a bearer token, for example:
curl --location 'https://sitaopen.api.aero/otp/v1/comparison/airlines?airlineCodes=AA%2CWN&from=2024-09-17&to=2024-09-22' \ --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOJIUzI1NiJ9.eyJyZWZyZXNoX3Rva2VuX2V4cGlyZXNfaW4iOiIzNTk5Iiwic3ViIjoic2l0YSIsImFwaV9cm9kdWN0X2xpc3QiOiJbRE9UUy1GbGlnaHQtQ29ubmVjdGlvbi1JbnRlcm5hbF0iLCJpc3MiOiJ1cm46XC9cL2FwaWdlZS1lZdlLUpXVC1wb2xpY3ktdGVzdCIsImFwaV9hY2Nlc3NfdG9rZW4iOiIweXlIZHduSUdtOGo5WlN6WWtuYTBsWG9ZNTFvIiwiYXBpX3JlZnJlc2hfdG9rZW4iOiJraHNlaXN2T3JwSHBUd2NuUVRHdXdBdVdicXNpamNQTyIsImFwaV9zY29wZSI6IiIsImF1ZCI6ImFwaWdlZS1hcGkiLCJleHAiOj3MzAyOTI3MzIsImFwcF9pZCI6IjIxYzI5NTgyLTIwZTktNDkwMS1hNjExLTVkM2UwM2QxNzFkYiIsImV4cGlyZXNfaW4iOiIzNTk5IiwiaWF0IjoxNzMwMjg5MTMyLCJqdGkiOiI3ZmEzNTU4Mi0xNDhmLTRiMmEtODYxMS0wNWI4NDg5YjFjYmMifQ.g_dFH-08DGADOX9HIk7wzX5edxXejVsnCen27A25TQ0'
2.2 Security
- All incoming requests will be REST over HTTPS.
- Users are authenticated using their OAuth token.
- Certain response payload elements will be filtered based on permissions associated with their token.
2.3 Rate Limiting
All incoming requests are subject to a rate limiting restriction. The following headers are included in HTTP responses:
Header | Description |
---|---|
| The total number of requests allowed in the current time window |
| The number of requests left for the current time window |
| The policy describing how many request per time window are allowed |
| The number of seconds remaining in the current time window. Header not displayed after rate limit has been exceeded |
| The epoch timestamp at which the current rate limit window resets. Header only displayed after rate limit has been exceeded |
3 SITA On-Time Performance API Service
The SITA On-Time Performance API is a REST based service which provides information about on-time performances of airports and airlines around the world.
A user may
- Compare the on-time performances of airports and airlines
- Search for the ranking of on-time performances of airports and airlines
- Search for the totals of flights by airports and airlines
3.1 Resources
This section describes each On-Time Performance API service. Detailed API structure, example requests and responses, JSON schema for request (where appropriate) and responses, and error response codes and formats are included.
3.2 On-Time Performance Airline and Airport Comparison
3.2.1 GET Airlines comparison
Compare the on-time performances of the given airlines during the specified period (from and to). The results can be grouped by an interval, such as DAILY, WEEKLY and MONTHLY.
Query parameters
Parameter | Description |
---|---|
| List of 2-character airport IATA code or 3-character airport ICAO code |
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Interval to be applied when grouping results. E.g.: DAILY, WEEKLY, MONTHLY |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Date range start |
|
| Results grouping interval. E.g.: DAILY, WEEKLY, MONTHLY |
|
| Array of OTP results per airline |
|
| Array of Airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airline Code |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Number of flights with unknown status |
|
| Date |
|
| Date range end |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/comparison/airlines?airlineCodes=AA,DL,SW&from=2021-01-01&to=2021-01-07&interval=DAILY' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4940
{
"from" : "2021-01-01",
"to" : "2021-01-07",
"interval" : "DAILY",
"otp" : [ {
"date" : "2021-01-01",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3379,
"onTime" : 2812,
"notOnTime" : 388,
"canceled" : 104,
"unknown" : 75,
"performance" : 85.11,
"coverage" : 97.78,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 2742,
"onTime" : 2019,
"notOnTime" : 483,
"canceled" : 3,
"unknown" : 237,
"performance" : 80.6,
"coverage" : 91.36,
"delay" : null
} ]
}, {
"date" : "2021-01-02",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4280,
"onTime" : 3494,
"notOnTime" : 660,
"canceled" : 38,
"unknown" : 88,
"performance" : 83.35,
"coverage" : 97.94,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3919,
"onTime" : 3072,
"notOnTime" : 547,
"canceled" : 2,
"unknown" : 298,
"performance" : 84.84,
"coverage" : 92.4,
"delay" : null
} ]
}, {
"date" : "2021-01-03",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4309,
"onTime" : 3437,
"notOnTime" : 763,
"canceled" : 39,
"unknown" : 70,
"performance" : 81.08,
"coverage" : 98.38,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 4010,
"onTime" : 2821,
"notOnTime" : 882,
"canceled" : 3,
"unknown" : 304,
"performance" : 76.12,
"coverage" : 92.42,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 8,
"onTime" : 1,
"notOnTime" : 6,
"canceled" : 0,
"unknown" : 1,
"performance" : 14.29,
"coverage" : 87.5,
"delay" : null
} ]
}, {
"date" : "2021-01-04",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4207,
"onTime" : 3358,
"notOnTime" : 694,
"canceled" : 77,
"unknown" : 78,
"performance" : 81.33,
"coverage" : 98.15,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3890,
"onTime" : 3013,
"notOnTime" : 564,
"canceled" : 22,
"unknown" : 291,
"performance" : 83.72,
"coverage" : 92.52,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
}, {
"date" : "2021-01-05",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 2854,
"onTime" : 2568,
"notOnTime" : 211,
"canceled" : 18,
"unknown" : 57,
"performance" : 91.81,
"coverage" : 98.0,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3151,
"onTime" : 2670,
"notOnTime" : 234,
"canceled" : 2,
"unknown" : 245,
"performance" : 91.88,
"coverage" : 92.22,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
}, {
"date" : "2021-01-06",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3038,
"onTime" : 2662,
"notOnTime" : 305,
"canceled" : 15,
"unknown" : 56,
"performance" : 89.27,
"coverage" : 98.16,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3168,
"onTime" : 2767,
"notOnTime" : 164,
"canceled" : 1,
"unknown" : 236,
"performance" : 94.37,
"coverage" : 92.55,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 8,
"onTime" : 7,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 1,
"performance" : 100.0,
"coverage" : 87.5,
"delay" : null
} ]
}, {
"date" : "2021-01-07",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3923,
"onTime" : 3621,
"notOnTime" : 213,
"canceled" : 18,
"unknown" : 71,
"performance" : 94.0,
"coverage" : 98.19,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3569,
"onTime" : 3058,
"notOnTime" : 223,
"canceled" : 7,
"unknown" : 281,
"performance" : 93.0,
"coverage" : 92.13,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 4,
"onTime" : 4,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
} ]
}
3.2.2 GET Airports comparison
Compare the on-time performances of the given airports during the specified period (from and to). The results can be grouped by an interval, such as DAILY, WEEKLY and MONTHLY.
Query parameters
Parameter | Description |
---|---|
| List of 3-character airport IATA code or 4-character airport ICAO code |
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Interval to be applied when grouping results. E.g.: DAILY, WEEKLY, MONTHLY |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Date range start |
|
| Results grouping interval. E.g.: DAILY, WEEKLY, MONTHLY |
|
| Array of OTP results per airport |
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airport Code |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Number of flights with unknown status |
|
| Date |
|
| Date range end |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/comparison/airports?airportCodes=ORD,JFK,ATL&from=2021-01-01&to=2021-01-31&interval=WEEKLY' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3960
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"interval" : "WEEKLY",
"otp" : [ {
"date" : "2020-12-28",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 2564,
"onTime" : 1976,
"notOnTime" : 502,
"canceled" : 12,
"unknown" : 74,
"performance" : 79.36,
"coverage" : 97.11,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 911,
"onTime" : 576,
"notOnTime" : 216,
"canceled" : 10,
"unknown" : 109,
"performance" : 71.82,
"coverage" : 88.04,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 2045,
"onTime" : 1380,
"notOnTime" : 404,
"canceled" : 145,
"unknown" : 116,
"performance" : 71.54,
"coverage" : 94.33,
"delay" : null
} ]
}, {
"date" : "2021-01-04",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5858,
"onTime" : 4951,
"notOnTime" : 736,
"canceled" : 23,
"unknown" : 148,
"performance" : 86.71,
"coverage" : 97.47,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 2034,
"onTime" : 1342,
"notOnTime" : 349,
"canceled" : 28,
"unknown" : 315,
"performance" : 78.07,
"coverage" : 84.51,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 4194,
"onTime" : 3381,
"notOnTime" : 492,
"canceled" : 26,
"unknown" : 295,
"performance" : 86.71,
"coverage" : 92.97,
"delay" : null
} ]
}, {
"date" : "2021-01-11",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5584,
"onTime" : 4950,
"notOnTime" : 501,
"canceled" : 10,
"unknown" : 123,
"performance" : 90.64,
"coverage" : 97.8,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1914,
"onTime" : 1286,
"notOnTime" : 313,
"canceled" : 37,
"unknown" : 278,
"performance" : 78.61,
"coverage" : 85.48,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 4061,
"onTime" : 3312,
"notOnTime" : 434,
"canceled" : 23,
"unknown" : 292,
"performance" : 87.87,
"coverage" : 92.81,
"delay" : null
} ]
}, {
"date" : "2021-01-18",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5692,
"onTime" : 5255,
"notOnTime" : 303,
"canceled" : 12,
"unknown" : 122,
"performance" : 94.34,
"coverage" : 97.86,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1865,
"onTime" : 1308,
"notOnTime" : 267,
"canceled" : 33,
"unknown" : 257,
"performance" : 81.34,
"coverage" : 86.22,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 3986,
"onTime" : 3217,
"notOnTime" : 462,
"canceled" : 23,
"unknown" : 284,
"performance" : 86.9,
"coverage" : 92.88,
"delay" : null
} ]
}, {
"date" : "2021-01-25",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 4811,
"onTime" : 4405,
"notOnTime" : 289,
"canceled" : 19,
"unknown" : 98,
"performance" : 93.46,
"coverage" : 97.96,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1564,
"onTime" : 1084,
"notOnTime" : 229,
"canceled" : 38,
"unknown" : 213,
"performance" : 80.24,
"coverage" : 86.38,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 3464,
"onTime" : 2511,
"notOnTime" : 539,
"canceled" : 126,
"unknown" : 288,
"performance" : 79.06,
"coverage" : 91.69,
"delay" : null
} ]
} ]
}
3.3 On-Time Performance Flight Statistics
3.3.1 GET Flights by airlines
Gets the total number of flights by airlines during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 5000 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airlines |
|
| Number of canceled flights over requested date range |
|
| Daily average number of flights over requested date range |
|
| Array of flights |
|
| IATA Airline Code |
|
| Date range start |
|
| Selected Days |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airlines?from=2021-01-01&to=2021-01-31&top=10' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1206
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"selectedDays" : 31,
"top" : 10,
"airlines" : [ {
"iataCode" : "AA",
"flights" : 109299,
"canceled" : 1549,
"dailyAverage" : 3525.77
}, {
"iataCode" : "DL",
"flights" : 99890,
"canceled" : 126,
"dailyAverage" : 3222.26
}, {
"iataCode" : "UA",
"flights" : 76841,
"canceled" : 1048,
"dailyAverage" : 2478.74
}, {
"iataCode" : "WN",
"flights" : 60656,
"canceled" : 469,
"dailyAverage" : 1956.65
}, {
"iataCode" : "MU",
"flights" : 57148,
"canceled" : 7193,
"dailyAverage" : 1843.48
}, {
"iataCode" : "CZ",
"flights" : 52269,
"canceled" : 1187,
"dailyAverage" : 1686.1
}, {
"iataCode" : "6E",
"flights" : 36225,
"canceled" : 260,
"dailyAverage" : 1168.55
}, {
"iataCode" : "CA",
"flights" : 34552,
"canceled" : 3148,
"dailyAverage" : 1114.58
}, {
"iataCode" : "NH",
"flights" : 33359,
"canceled" : 9435,
"dailyAverage" : 1076.1
}, {
"iataCode" : "G5",
"flights" : 24483,
"canceled" : 732,
"dailyAverage" : 789.77
} ]
}
3.3.2 GET Flights by airports
Gets the total number of flights by airports during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 5000 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights over requested date range |
|
| Daily average number of flights over requested date range |
|
| Array of flights |
|
| IATA Airport Code |
|
| Date range start |
|
| Selected Days |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airports?from=2021-01-01&to=2021-01-31&top=10' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1202
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"selectedDays" : 31,
"top" : 10,
"airports" : [ {
"iataCode" : "ATL",
"flights" : 22756,
"canceled" : 68,
"dailyAverage" : 734.06
}, {
"iataCode" : "DFW",
"flights" : 22535,
"canceled" : 315,
"dailyAverage" : 726.94
}, {
"iataCode" : "ORD",
"flights" : 16736,
"canceled" : 339,
"dailyAverage" : 539.87
}, {
"iataCode" : "DEN",
"flights" : 16664,
"canceled" : 81,
"dailyAverage" : 537.55
}, {
"iataCode" : "CAN",
"flights" : 16654,
"canceled" : 847,
"dailyAverage" : 537.23
}, {
"iataCode" : "PVG",
"flights" : 15750,
"canceled" : 1305,
"dailyAverage" : 508.06
}, {
"iataCode" : "CKG",
"flights" : 15574,
"canceled" : 406,
"dailyAverage" : 502.39
}, {
"iataCode" : "HND",
"flights" : 15324,
"canceled" : 4144,
"dailyAverage" : 494.32
}, {
"iataCode" : "LAX",
"flights" : 14339,
"canceled" : 271,
"dailyAverage" : 462.55
}, {
"iataCode" : "CTU",
"flights" : 12976,
"canceled" : 672,
"dailyAverage" : 418.58
} ]
}
3.4 On-Time Performance Ranking
3.4.1 GET Airlines ranking
Gets the ranking of most on-time airlines during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Region |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airlines?from=2021-01-01&to=2021-01-31®ion=SOA&top=10&minCoverage=50&minDailyFlights=2' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2656
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"region" : "SOA",
"top" : 10,
"minCoverage" : 50,
"minDailyFlights" : 2,
"airlines" : [ {
"iataCode" : "TA",
"flights" : 127,
"onTime" : 124,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 98.41,
"coverage" : 99.21,
"region" : "SOA",
"rank" : 1,
"size" : 9
}, {
"iataCode" : "VV",
"flights" : 403,
"onTime" : 370,
"notOnTime" : 6,
"canceled" : 0,
"unknown" : 0,
"performance" : 98.4,
"coverage" : 93.3,
"region" : "SOA",
"rank" : 2,
"size" : 8
}, {
"iataCode" : "XL",
"flights" : 498,
"onTime" : 473,
"notOnTime" : 15,
"canceled" : 4,
"unknown" : 0,
"performance" : 96.14,
"coverage" : 98.8,
"region" : "SOA",
"rank" : 3,
"size" : 6
}, {
"iataCode" : "VH",
"flights" : 2209,
"onTime" : 1987,
"notOnTime" : 84,
"canceled" : 5,
"unknown" : 0,
"performance" : 95.71,
"coverage" : 93.98,
"region" : "SOA",
"rank" : 4,
"size" : 4
}, {
"iataCode" : "WJ",
"flights" : 471,
"onTime" : 422,
"notOnTime" : 19,
"canceled" : 2,
"unknown" : 0,
"performance" : 95.26,
"coverage" : 94.06,
"region" : "SOA",
"rank" : 5,
"size" : 7
}, {
"iataCode" : "JJ",
"flights" : 84,
"onTime" : 59,
"notOnTime" : 3,
"canceled" : 0,
"unknown" : 0,
"performance" : 95.16,
"coverage" : 73.81,
"region" : "SOA",
"rank" : 6,
"size" : 10
}, {
"iataCode" : "LA",
"flights" : 23903,
"onTime" : 20759,
"notOnTime" : 1060,
"canceled" : 133,
"unknown" : 0,
"performance" : 94.57,
"coverage" : 91.84,
"region" : "SOA",
"rank" : 7,
"size" : 1
}, {
"iataCode" : "AV",
"flights" : 9409,
"onTime" : 8201,
"notOnTime" : 407,
"canceled" : 78,
"unknown" : 0,
"performance" : 94.42,
"coverage" : 92.32,
"region" : "SOA",
"rank" : 8,
"size" : 3
}, {
"iataCode" : "AD",
"flights" : 21738,
"onTime" : 17808,
"notOnTime" : 2054,
"canceled" : 248,
"unknown" : 0,
"performance" : 88.55,
"coverage" : 92.51,
"region" : "SOA",
"rank" : 9,
"size" : 2
}, {
"iataCode" : "VW",
"flights" : 1022,
"onTime" : 490,
"notOnTime" : 48,
"canceled" : 16,
"unknown" : 0,
"performance" : 88.45,
"coverage" : 54.21,
"region" : "SOA",
"rank" : 10,
"size" : 5
} ]
}
3.4.2 GET Airports ranking
Gets the ranking of most on-time airports during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Region |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports?from=2021-01-01&to=2021-01-31®ion=MDE&top=10&minCoverage=50&minDailyFlights=2' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2635
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"region" : "MDE",
"top" : 10,
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "YNB",
"flights" : 92,
"onTime" : 88,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 97.78,
"coverage" : 97.83,
"region" : "MDE",
"rank" : 1,
"size" : 8
}, {
"iataCode" : "MED",
"flights" : 662,
"onTime" : 384,
"notOnTime" : 16,
"canceled" : 1,
"unknown" : 0,
"performance" : 95.76,
"coverage" : 60.57,
"region" : "MDE",
"rank" : 2,
"size" : 1
}, {
"iataCode" : "HAS",
"flights" : 202,
"onTime" : 152,
"notOnTime" : 10,
"canceled" : 1,
"unknown" : 0,
"performance" : 93.25,
"coverage" : 80.69,
"region" : "MDE",
"rank" : 3,
"size" : 3
}, {
"iataCode" : "KYA",
"flights" : 125,
"onTime" : 109,
"notOnTime" : 9,
"canceled" : 0,
"unknown" : 0,
"performance" : 92.37,
"coverage" : 94.4,
"region" : "MDE",
"rank" : 4,
"size" : 6
}, {
"iataCode" : "AQI",
"flights" : 73,
"onTime" : 67,
"notOnTime" : 4,
"canceled" : 2,
"unknown" : 0,
"performance" : 91.78,
"coverage" : 100.0,
"region" : "MDE",
"rank" : 5,
"size" : 10
}, {
"iataCode" : "BAL",
"flights" : 114,
"onTime" : 97,
"notOnTime" : 8,
"canceled" : 1,
"unknown" : 0,
"performance" : 91.51,
"coverage" : 92.98,
"region" : "MDE",
"rank" : 6,
"size" : 7
}, {
"iataCode" : "TUU",
"flights" : 478,
"onTime" : 328,
"notOnTime" : 31,
"canceled" : 2,
"unknown" : 0,
"performance" : 90.86,
"coverage" : 75.52,
"region" : "MDE",
"rank" : 7,
"size" : 2
}, {
"iataCode" : "AJF",
"flights" : 168,
"onTime" : 135,
"notOnTime" : 13,
"canceled" : 2,
"unknown" : 0,
"performance" : 90.0,
"coverage" : 89.29,
"region" : "MDE",
"rank" : 8,
"size" : 4
}, {
"iataCode" : "GZP",
"flights" : 84,
"onTime" : 54,
"notOnTime" : 5,
"canceled" : 1,
"unknown" : 0,
"performance" : 90.0,
"coverage" : 71.43,
"region" : "MDE",
"rank" : 9,
"size" : 9
}, {
"iataCode" : "HTY",
"flights" : 165,
"onTime" : 143,
"notOnTime" : 14,
"canceled" : 2,
"unknown" : 0,
"performance" : 89.94,
"coverage" : 96.36,
"region" : "MDE",
"rank" : 10,
"size" : 5
} ]
}
3.4.3 GET Airport ranking
Gets the ranking of a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK?from=2021-01-01&to=2021-01-31' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 532
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 57,
"onTime" : 27,
"notOnTime" : 29,
"canceled" : 0,
"unknown" : 1,
"performance" : 48.21,
"coverage" : 98.25,
"delay" : {
"*-15" : 48.21,
"15-30" : 25.0,
"30-60" : 19.64,
"60-90" : 5.36,
"90-120" : 1.79,
"120-*" : 0.0
},
"region" : "SEA",
"rank" : 1,
"size" : 1
} ]
}
3.4.4 GET Airport By Airlines ranking
Gets the ranking of the most on-time airlines at a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
| Arrival or Departure indicator, A for Arrivals, D for Departures. Default is D. |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK/airlines?from=2021-01-01&to=2021-01-31&top=10&minCoverage=50&minDailyFlights=2&adi=D' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3888
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 1,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 56,
"onTime" : 27,
"notOnTime" : 29,
"canceled" : 0,
"unknown" : 0,
"performance" : 48.21,
"coverage" : 100.0,
"delay" : {
"*-15" : 48.21,
"15-30" : 25.0,
"30-60" : 19.64,
"60-90" : 5.36,
"90-120" : 1.79,
"120-*" : 0.0
},
"region" : "SEA",
"rank" : 1,
"size" : 1,
"airlines" : [ {
"iataCode" : "EK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 1,
"size" : 6
}, {
"iataCode" : "WE",
"flights" : 5,
"onTime" : 4,
"notOnTime" : 1,
"canceled" : 0,
"unknown" : 0,
"performance" : 80.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 80.0,
"15-30" : 0.0,
"30-60" : 20.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 2,
"size" : 4
}, {
"iataCode" : "PG",
"flights" : 6,
"onTime" : 4,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 66.67,
"coverage" : 100.0,
"delay" : {
"*-15" : 66.67,
"15-30" : 16.67,
"30-60" : 0.0,
"60-90" : 16.67,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 3,
"size" : 3
}, {
"iataCode" : "JL",
"flights" : 2,
"onTime" : 1,
"notOnTime" : 1,
"canceled" : 0,
"unknown" : 0,
"performance" : 50.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 50.0,
"15-30" : 50.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 4,
"size" : 7
}, {
"iataCode" : "VN",
"flights" : 3,
"onTime" : 1,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 33.33,
"coverage" : 100.0,
"delay" : {
"*-15" : 33.33,
"15-30" : 33.33,
"30-60" : 33.33,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 5,
"size" : 5
}, {
"iataCode" : "VZ",
"flights" : 10,
"onTime" : 3,
"notOnTime" : 7,
"canceled" : 0,
"unknown" : 0,
"performance" : 30.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 30.0,
"15-30" : 50.0,
"30-60" : 20.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 6,
"size" : 1
}, {
"iataCode" : "TG",
"flights" : 8,
"onTime" : 1,
"notOnTime" : 7,
"canceled" : 0,
"unknown" : 0,
"performance" : 12.5,
"coverage" : 100.0,
"delay" : {
"*-15" : 12.5,
"15-30" : 50.0,
"30-60" : 25.0,
"60-90" : 12.5,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 7,
"size" : 2
}, {
"iataCode" : "VJ",
"flights" : 2,
"onTime" : 0,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 0.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 0.0,
"15-30" : 50.0,
"30-60" : 50.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 8,
"size" : 8
} ]
} ]
}
3.4.5 GET Airport By Airline ranking
Gets the ranking of a specific airline at a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
| 2-character airport IATA code or 3-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Arrival or Departure indicator, A for Arrivals, D for Departures. Default is D. |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK/airlines/EK?from=2021-01-01&to=2021-01-31&adi=D' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 890
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"region" : "SEA",
"airlines" : [ {
"iataCode" : "EK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
}
} ]
} ]
}
4 Error Response
Response fields
Path | Type | Description |
---|---|---|
|
| Object that holds the error information |
|
| Array of errors |
|
| Support Error Code |
|
| Error Description |
|
| Indicates the invalid query parameter |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airlines?from=2021-01-01&to=2021-01-31&top=1' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 164
{
"errors" : {
"error" : [ {
"code" : 0,
"invalidParam" : "top",
"description" : "must be greater than or equal to 10"
} ]
}
}
5 Use Cases
5.1 On-Time Performance Ranking
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the airport rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/ranking/airports?from=2022-11-10&to=2022-11-11 |
Response: | Returns airport rankings based on on-time performance for the date period given |
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the airline rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/ranking/airlines?from=2022-11-10&to=2022-11-11 |
Response: | Returns airline rankings based on on-time performance for the date period given |
5.2 On-Time Performance Flight Statistics
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the daily flight statistics per airport |
Request: | GET /otp/v1/ranking/airports?from=2022-11-10&to=2022-11-11 |
Response: | Returns daily flight statistics per airport for the date period given |
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the daily flight statistics per airline |
Request: | GET /otp/v1/ranking/airlines?from=2022-11-10&to=2022-11-11 |
Response: | Returns daily flight statistics per airline for the date period given |
5.3 On-Time Performance Comparison
Scenario: | As an API user I want to make a request to the On-Time Performance API to compare the airport rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/comparison/airports?airportCodes=ORD,JFK,ATL&from=2021-01-01&to=2021-01-31&interval=WEEKLY |
Response: | Returns comparison of on-time performance for the given airports within the specified timeframe |
Scenario: | As an API user I want to make a request to the On-Time Performance API to compare the airline rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/comparison/airlines?airlineCodes=AA,DL,SW&from=2021-01-01&to=2021-01-31&interval=WEEKLY |
Response: | Returns comparison of on-time performance for the given airlines within the specified timeframe |
OTP Terms
Data Description | |
Attribute | Description |
iataCode | Airline or Airport code. |
region | The region where the airline operates or the airport is located. |
onTime | Number of on-time flights on a given period. |
notOnTime | Number of-not-on time flights on a given period. |
canceled | Number of canceled flights on a given period. |
flights | Total number of flights on a given period. |
performance | The percentage of on-time flights over the total number of flights. |
coverage | The coverage of this data, based on the total number of flights over the flights we have information of. |
rank | The ranking position based on performance. |
size | The ranking position based on number of flights. |
unknown | Number of flights without on time performance details on a given period. |
Contact Us
For subscription and sales queries, please contact:
Product Inquiries
For On-Time Performance API related queries, please contact:
Technical Support Team
2.2 Security
- All incoming requests will be REST over HTTPS.
- Users are authenticated using their OAuth token.
- Certain response payload elements will be filtered based on permissions associated with their token.
2.3 Rate Limiting
All incoming requests are subject to a rate limiting restriction. The following headers are included in HTTP responses:
Header | Description |
---|---|
| The total number of requests allowed in the current time window |
| The number of requests left for the current time window |
| The policy describing how many request per time window are allowed |
| The number of seconds remaining in the current time window. Header not displayed after rate limit has been exceeded |
| The epoch timestamp at which the current rate limit window resets. Header only displayed after rate limit has been exceeded |
3 SITA On-Time Performance API Service
The SITA On-Time Performance API is a REST based service which provides information about on-time performances of airports and airlines around the world.
A user may
- Compare the on-time performances of airports and airlines
- Search for the ranking of on-time performances of airports and airlines
- Search for the totals of flights by airports and airlines
3.1 Resources
This section describes each On-Time Performance API service. Detailed API structure, example requests and responses, JSON schema for request (where appropriate) and responses, and error response codes and formats are included.
3.2 On-Time Performance Airline and Airport Comparison
3.2.1 GET Airlines comparison
Compare the on-time performances of the given airlines during the specified period (from and to). The results can be grouped by an interval, such as DAILY, WEEKLY and MONTHLY.
Query parameters
Parameter | Description |
---|---|
| List of 2-character airport IATA code or 3-character airport ICAO code |
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Interval to be applied when grouping results. E.g.: DAILY, WEEKLY, MONTHLY |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Date range start |
|
| Results grouping interval. E.g.: DAILY, WEEKLY, MONTHLY |
|
| Array of OTP results per airline |
|
| Array of Airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airline Code |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Number of flights with unknown status |
|
| Date |
|
| Date range end |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/comparison/airlines?airlineCodes=AA,DL,SW&from=2021-01-01&to=2021-01-07&interval=DAILY' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4940
{
"from" : "2021-01-01",
"to" : "2021-01-07",
"interval" : "DAILY",
"otp" : [ {
"date" : "2021-01-01",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3379,
"onTime" : 2812,
"notOnTime" : 388,
"canceled" : 104,
"unknown" : 75,
"performance" : 85.11,
"coverage" : 97.78,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 2742,
"onTime" : 2019,
"notOnTime" : 483,
"canceled" : 3,
"unknown" : 237,
"performance" : 80.6,
"coverage" : 91.36,
"delay" : null
} ]
}, {
"date" : "2021-01-02",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4280,
"onTime" : 3494,
"notOnTime" : 660,
"canceled" : 38,
"unknown" : 88,
"performance" : 83.35,
"coverage" : 97.94,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3919,
"onTime" : 3072,
"notOnTime" : 547,
"canceled" : 2,
"unknown" : 298,
"performance" : 84.84,
"coverage" : 92.4,
"delay" : null
} ]
}, {
"date" : "2021-01-03",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4309,
"onTime" : 3437,
"notOnTime" : 763,
"canceled" : 39,
"unknown" : 70,
"performance" : 81.08,
"coverage" : 98.38,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 4010,
"onTime" : 2821,
"notOnTime" : 882,
"canceled" : 3,
"unknown" : 304,
"performance" : 76.12,
"coverage" : 92.42,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 8,
"onTime" : 1,
"notOnTime" : 6,
"canceled" : 0,
"unknown" : 1,
"performance" : 14.29,
"coverage" : 87.5,
"delay" : null
} ]
}, {
"date" : "2021-01-04",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 4207,
"onTime" : 3358,
"notOnTime" : 694,
"canceled" : 77,
"unknown" : 78,
"performance" : 81.33,
"coverage" : 98.15,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3890,
"onTime" : 3013,
"notOnTime" : 564,
"canceled" : 22,
"unknown" : 291,
"performance" : 83.72,
"coverage" : 92.52,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
}, {
"date" : "2021-01-05",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 2854,
"onTime" : 2568,
"notOnTime" : 211,
"canceled" : 18,
"unknown" : 57,
"performance" : 91.81,
"coverage" : 98.0,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3151,
"onTime" : 2670,
"notOnTime" : 234,
"canceled" : 2,
"unknown" : 245,
"performance" : 91.88,
"coverage" : 92.22,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
}, {
"date" : "2021-01-06",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3038,
"onTime" : 2662,
"notOnTime" : 305,
"canceled" : 15,
"unknown" : 56,
"performance" : 89.27,
"coverage" : 98.16,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3168,
"onTime" : 2767,
"notOnTime" : 164,
"canceled" : 1,
"unknown" : 236,
"performance" : 94.37,
"coverage" : 92.55,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 8,
"onTime" : 7,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 1,
"performance" : 100.0,
"coverage" : 87.5,
"delay" : null
} ]
}, {
"date" : "2021-01-07",
"airlines" : [ {
"iataCode" : "AA",
"flights" : 3923,
"onTime" : 3621,
"notOnTime" : 213,
"canceled" : 18,
"unknown" : 71,
"performance" : 94.0,
"coverage" : 98.19,
"delay" : null
}, {
"iataCode" : "DL",
"flights" : 3569,
"onTime" : 3058,
"notOnTime" : 223,
"canceled" : 7,
"unknown" : 281,
"performance" : 93.0,
"coverage" : 92.13,
"delay" : null
}, {
"iataCode" : "SW",
"flights" : 4,
"onTime" : 4,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : null
} ]
} ]
}
3.2.2 GET Airports comparison
Compare the on-time performances of the given airports during the specified period (from and to). The results can be grouped by an interval, such as DAILY, WEEKLY and MONTHLY.
Query parameters
Parameter | Description |
---|---|
| List of 3-character airport IATA code or 4-character airport ICAO code |
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Interval to be applied when grouping results. E.g.: DAILY, WEEKLY, MONTHLY |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Date range start |
|
| Results grouping interval. E.g.: DAILY, WEEKLY, MONTHLY |
|
| Array of OTP results per airport |
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airport Code |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Number of flights with unknown status |
|
| Date |
|
| Date range end |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/comparison/airports?airportCodes=ORD,JFK,ATL&from=2021-01-01&to=2021-01-31&interval=WEEKLY' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3960
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"interval" : "WEEKLY",
"otp" : [ {
"date" : "2020-12-28",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 2564,
"onTime" : 1976,
"notOnTime" : 502,
"canceled" : 12,
"unknown" : 74,
"performance" : 79.36,
"coverage" : 97.11,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 911,
"onTime" : 576,
"notOnTime" : 216,
"canceled" : 10,
"unknown" : 109,
"performance" : 71.82,
"coverage" : 88.04,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 2045,
"onTime" : 1380,
"notOnTime" : 404,
"canceled" : 145,
"unknown" : 116,
"performance" : 71.54,
"coverage" : 94.33,
"delay" : null
} ]
}, {
"date" : "2021-01-04",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5858,
"onTime" : 4951,
"notOnTime" : 736,
"canceled" : 23,
"unknown" : 148,
"performance" : 86.71,
"coverage" : 97.47,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 2034,
"onTime" : 1342,
"notOnTime" : 349,
"canceled" : 28,
"unknown" : 315,
"performance" : 78.07,
"coverage" : 84.51,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 4194,
"onTime" : 3381,
"notOnTime" : 492,
"canceled" : 26,
"unknown" : 295,
"performance" : 86.71,
"coverage" : 92.97,
"delay" : null
} ]
}, {
"date" : "2021-01-11",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5584,
"onTime" : 4950,
"notOnTime" : 501,
"canceled" : 10,
"unknown" : 123,
"performance" : 90.64,
"coverage" : 97.8,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1914,
"onTime" : 1286,
"notOnTime" : 313,
"canceled" : 37,
"unknown" : 278,
"performance" : 78.61,
"coverage" : 85.48,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 4061,
"onTime" : 3312,
"notOnTime" : 434,
"canceled" : 23,
"unknown" : 292,
"performance" : 87.87,
"coverage" : 92.81,
"delay" : null
} ]
}, {
"date" : "2021-01-18",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 5692,
"onTime" : 5255,
"notOnTime" : 303,
"canceled" : 12,
"unknown" : 122,
"performance" : 94.34,
"coverage" : 97.86,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1865,
"onTime" : 1308,
"notOnTime" : 267,
"canceled" : 33,
"unknown" : 257,
"performance" : 81.34,
"coverage" : 86.22,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 3986,
"onTime" : 3217,
"notOnTime" : 462,
"canceled" : 23,
"unknown" : 284,
"performance" : 86.9,
"coverage" : 92.88,
"delay" : null
} ]
}, {
"date" : "2021-01-25",
"airports" : [ {
"iataCode" : "ATL",
"flights" : 4811,
"onTime" : 4405,
"notOnTime" : 289,
"canceled" : 19,
"unknown" : 98,
"performance" : 93.46,
"coverage" : 97.96,
"delay" : null
}, {
"iataCode" : "JFK",
"flights" : 1564,
"onTime" : 1084,
"notOnTime" : 229,
"canceled" : 38,
"unknown" : 213,
"performance" : 80.24,
"coverage" : 86.38,
"delay" : null
}, {
"iataCode" : "ORD",
"flights" : 3464,
"onTime" : 2511,
"notOnTime" : 539,
"canceled" : 126,
"unknown" : 288,
"performance" : 79.06,
"coverage" : 91.69,
"delay" : null
} ]
} ]
}
3.3 On-Time Performance Flight Statistics
3.3.1 GET Flights by airlines
Gets the total number of flights by airlines during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 5000 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airlines |
|
| Number of canceled flights over requested date range |
|
| Daily average number of flights over requested date range |
|
| Array of flights |
|
| IATA Airline Code |
|
| Date range start |
|
| Selected Days |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airlines?from=2021-01-01&to=2021-01-31&top=10' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1206
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"selectedDays" : 31,
"top" : 10,
"airlines" : [ {
"iataCode" : "AA",
"flights" : 109299,
"canceled" : 1549,
"dailyAverage" : 3525.77
}, {
"iataCode" : "DL",
"flights" : 99890,
"canceled" : 126,
"dailyAverage" : 3222.26
}, {
"iataCode" : "UA",
"flights" : 76841,
"canceled" : 1048,
"dailyAverage" : 2478.74
}, {
"iataCode" : "WN",
"flights" : 60656,
"canceled" : 469,
"dailyAverage" : 1956.65
}, {
"iataCode" : "MU",
"flights" : 57148,
"canceled" : 7193,
"dailyAverage" : 1843.48
}, {
"iataCode" : "CZ",
"flights" : 52269,
"canceled" : 1187,
"dailyAverage" : 1686.1
}, {
"iataCode" : "6E",
"flights" : 36225,
"canceled" : 260,
"dailyAverage" : 1168.55
}, {
"iataCode" : "CA",
"flights" : 34552,
"canceled" : 3148,
"dailyAverage" : 1114.58
}, {
"iataCode" : "NH",
"flights" : 33359,
"canceled" : 9435,
"dailyAverage" : 1076.1
}, {
"iataCode" : "G5",
"flights" : 24483,
"canceled" : 732,
"dailyAverage" : 789.77
} ]
}
3.3.2 GET Flights by airports
Gets the total number of flights by airports during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 5000 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights over requested date range |
|
| Daily average number of flights over requested date range |
|
| Array of flights |
|
| IATA Airport Code |
|
| Date range start |
|
| Selected Days |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airports?from=2021-01-01&to=2021-01-31&top=10' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1202
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"selectedDays" : 31,
"top" : 10,
"airports" : [ {
"iataCode" : "ATL",
"flights" : 22756,
"canceled" : 68,
"dailyAverage" : 734.06
}, {
"iataCode" : "DFW",
"flights" : 22535,
"canceled" : 315,
"dailyAverage" : 726.94
}, {
"iataCode" : "ORD",
"flights" : 16736,
"canceled" : 339,
"dailyAverage" : 539.87
}, {
"iataCode" : "DEN",
"flights" : 16664,
"canceled" : 81,
"dailyAverage" : 537.55
}, {
"iataCode" : "CAN",
"flights" : 16654,
"canceled" : 847,
"dailyAverage" : 537.23
}, {
"iataCode" : "PVG",
"flights" : 15750,
"canceled" : 1305,
"dailyAverage" : 508.06
}, {
"iataCode" : "CKG",
"flights" : 15574,
"canceled" : 406,
"dailyAverage" : 502.39
}, {
"iataCode" : "HND",
"flights" : 15324,
"canceled" : 4144,
"dailyAverage" : 494.32
}, {
"iataCode" : "LAX",
"flights" : 14339,
"canceled" : 271,
"dailyAverage" : 462.55
}, {
"iataCode" : "CTU",
"flights" : 12976,
"canceled" : 672,
"dailyAverage" : 418.58
} ]
}
3.4 On-Time Performance Ranking
3.4.1 GET Airlines ranking
Gets the ranking of most on-time airlines during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Region |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airlines?from=2021-01-01&to=2021-01-31®ion=SOA&top=10&minCoverage=50&minDailyFlights=2' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2656
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"region" : "SOA",
"top" : 10,
"minCoverage" : 50,
"minDailyFlights" : 2,
"airlines" : [ {
"iataCode" : "TA",
"flights" : 127,
"onTime" : 124,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 98.41,
"coverage" : 99.21,
"region" : "SOA",
"rank" : 1,
"size" : 9
}, {
"iataCode" : "VV",
"flights" : 403,
"onTime" : 370,
"notOnTime" : 6,
"canceled" : 0,
"unknown" : 0,
"performance" : 98.4,
"coverage" : 93.3,
"region" : "SOA",
"rank" : 2,
"size" : 8
}, {
"iataCode" : "XL",
"flights" : 498,
"onTime" : 473,
"notOnTime" : 15,
"canceled" : 4,
"unknown" : 0,
"performance" : 96.14,
"coverage" : 98.8,
"region" : "SOA",
"rank" : 3,
"size" : 6
}, {
"iataCode" : "VH",
"flights" : 2209,
"onTime" : 1987,
"notOnTime" : 84,
"canceled" : 5,
"unknown" : 0,
"performance" : 95.71,
"coverage" : 93.98,
"region" : "SOA",
"rank" : 4,
"size" : 4
}, {
"iataCode" : "WJ",
"flights" : 471,
"onTime" : 422,
"notOnTime" : 19,
"canceled" : 2,
"unknown" : 0,
"performance" : 95.26,
"coverage" : 94.06,
"region" : "SOA",
"rank" : 5,
"size" : 7
}, {
"iataCode" : "JJ",
"flights" : 84,
"onTime" : 59,
"notOnTime" : 3,
"canceled" : 0,
"unknown" : 0,
"performance" : 95.16,
"coverage" : 73.81,
"region" : "SOA",
"rank" : 6,
"size" : 10
}, {
"iataCode" : "LA",
"flights" : 23903,
"onTime" : 20759,
"notOnTime" : 1060,
"canceled" : 133,
"unknown" : 0,
"performance" : 94.57,
"coverage" : 91.84,
"region" : "SOA",
"rank" : 7,
"size" : 1
}, {
"iataCode" : "AV",
"flights" : 9409,
"onTime" : 8201,
"notOnTime" : 407,
"canceled" : 78,
"unknown" : 0,
"performance" : 94.42,
"coverage" : 92.32,
"region" : "SOA",
"rank" : 8,
"size" : 3
}, {
"iataCode" : "AD",
"flights" : 21738,
"onTime" : 17808,
"notOnTime" : 2054,
"canceled" : 248,
"unknown" : 0,
"performance" : 88.55,
"coverage" : 92.51,
"region" : "SOA",
"rank" : 9,
"size" : 2
}, {
"iataCode" : "VW",
"flights" : 1022,
"onTime" : 490,
"notOnTime" : 48,
"canceled" : 16,
"unknown" : 0,
"performance" : 88.45,
"coverage" : 54.21,
"region" : "SOA",
"rank" : 10,
"size" : 5
} ]
}
3.4.2 GET Airports ranking
Gets the ranking of most on-time airports during the period (from and to).
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Region |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports?from=2021-01-01&to=2021-01-31®ion=MDE&top=10&minCoverage=50&minDailyFlights=2' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2635
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"region" : "MDE",
"top" : 10,
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "YNB",
"flights" : 92,
"onTime" : 88,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 97.78,
"coverage" : 97.83,
"region" : "MDE",
"rank" : 1,
"size" : 8
}, {
"iataCode" : "MED",
"flights" : 662,
"onTime" : 384,
"notOnTime" : 16,
"canceled" : 1,
"unknown" : 0,
"performance" : 95.76,
"coverage" : 60.57,
"region" : "MDE",
"rank" : 2,
"size" : 1
}, {
"iataCode" : "HAS",
"flights" : 202,
"onTime" : 152,
"notOnTime" : 10,
"canceled" : 1,
"unknown" : 0,
"performance" : 93.25,
"coverage" : 80.69,
"region" : "MDE",
"rank" : 3,
"size" : 3
}, {
"iataCode" : "KYA",
"flights" : 125,
"onTime" : 109,
"notOnTime" : 9,
"canceled" : 0,
"unknown" : 0,
"performance" : 92.37,
"coverage" : 94.4,
"region" : "MDE",
"rank" : 4,
"size" : 6
}, {
"iataCode" : "AQI",
"flights" : 73,
"onTime" : 67,
"notOnTime" : 4,
"canceled" : 2,
"unknown" : 0,
"performance" : 91.78,
"coverage" : 100.0,
"region" : "MDE",
"rank" : 5,
"size" : 10
}, {
"iataCode" : "BAL",
"flights" : 114,
"onTime" : 97,
"notOnTime" : 8,
"canceled" : 1,
"unknown" : 0,
"performance" : 91.51,
"coverage" : 92.98,
"region" : "MDE",
"rank" : 6,
"size" : 7
}, {
"iataCode" : "TUU",
"flights" : 478,
"onTime" : 328,
"notOnTime" : 31,
"canceled" : 2,
"unknown" : 0,
"performance" : 90.86,
"coverage" : 75.52,
"region" : "MDE",
"rank" : 7,
"size" : 2
}, {
"iataCode" : "AJF",
"flights" : 168,
"onTime" : 135,
"notOnTime" : 13,
"canceled" : 2,
"unknown" : 0,
"performance" : 90.0,
"coverage" : 89.29,
"region" : "MDE",
"rank" : 8,
"size" : 4
}, {
"iataCode" : "GZP",
"flights" : 84,
"onTime" : 54,
"notOnTime" : 5,
"canceled" : 1,
"unknown" : 0,
"performance" : 90.0,
"coverage" : 71.43,
"region" : "MDE",
"rank" : 9,
"size" : 9
}, {
"iataCode" : "HTY",
"flights" : 165,
"onTime" : 143,
"notOnTime" : 14,
"canceled" : 2,
"unknown" : 0,
"performance" : 89.94,
"coverage" : 96.36,
"region" : "MDE",
"rank" : 10,
"size" : 5
} ]
}
3.4.3 GET Airport ranking
Gets the ranking of a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK?from=2021-01-01&to=2021-01-31' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 532
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 57,
"onTime" : 27,
"notOnTime" : 29,
"canceled" : 0,
"unknown" : 1,
"performance" : 48.21,
"coverage" : 98.25,
"delay" : {
"*-15" : 48.21,
"15-30" : 25.0,
"30-60" : 19.64,
"60-90" : 5.36,
"90-120" : 1.79,
"120-*" : 0.0
},
"region" : "SEA",
"rank" : 1,
"size" : 1
} ]
}
3.4.4 GET Airport By Airlines ranking
Gets the ranking of the most on-time airlines at a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Number of top results to limit the size of the list. Must be a value between 10 and 100 |
| Number of bottom results to limit the size of the list. Must be a value between 10 and 100. Cannot be requested along with the top filter |
| Minimum coverage. The default value is 50 |
| Minimum number of average daily flights. The default value is 1 |
| Arrival or Departure indicator, A for Arrivals, D for Departures. Default is D. |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK/airlines?from=2021-01-01&to=2021-01-31&top=10&minCoverage=50&minDailyFlights=2&adi=D' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3888
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 1,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 56,
"onTime" : 27,
"notOnTime" : 29,
"canceled" : 0,
"unknown" : 0,
"performance" : 48.21,
"coverage" : 100.0,
"delay" : {
"*-15" : 48.21,
"15-30" : 25.0,
"30-60" : 19.64,
"60-90" : 5.36,
"90-120" : 1.79,
"120-*" : 0.0
},
"region" : "SEA",
"rank" : 1,
"size" : 1,
"airlines" : [ {
"iataCode" : "EK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 1,
"size" : 6
}, {
"iataCode" : "WE",
"flights" : 5,
"onTime" : 4,
"notOnTime" : 1,
"canceled" : 0,
"unknown" : 0,
"performance" : 80.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 80.0,
"15-30" : 0.0,
"30-60" : 20.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 2,
"size" : 4
}, {
"iataCode" : "PG",
"flights" : 6,
"onTime" : 4,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 66.67,
"coverage" : 100.0,
"delay" : {
"*-15" : 66.67,
"15-30" : 16.67,
"30-60" : 0.0,
"60-90" : 16.67,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 3,
"size" : 3
}, {
"iataCode" : "JL",
"flights" : 2,
"onTime" : 1,
"notOnTime" : 1,
"canceled" : 0,
"unknown" : 0,
"performance" : 50.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 50.0,
"15-30" : 50.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 4,
"size" : 7
}, {
"iataCode" : "VN",
"flights" : 3,
"onTime" : 1,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 33.33,
"coverage" : 100.0,
"delay" : {
"*-15" : 33.33,
"15-30" : 33.33,
"30-60" : 33.33,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 5,
"size" : 5
}, {
"iataCode" : "VZ",
"flights" : 10,
"onTime" : 3,
"notOnTime" : 7,
"canceled" : 0,
"unknown" : 0,
"performance" : 30.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 30.0,
"15-30" : 50.0,
"30-60" : 20.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 6,
"size" : 1
}, {
"iataCode" : "TG",
"flights" : 8,
"onTime" : 1,
"notOnTime" : 7,
"canceled" : 0,
"unknown" : 0,
"performance" : 12.5,
"coverage" : 100.0,
"delay" : {
"*-15" : 12.5,
"15-30" : 50.0,
"30-60" : 25.0,
"60-90" : 12.5,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 7,
"size" : 2
}, {
"iataCode" : "VJ",
"flights" : 2,
"onTime" : 0,
"notOnTime" : 2,
"canceled" : 0,
"unknown" : 0,
"performance" : 0.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 0.0,
"15-30" : 50.0,
"30-60" : 50.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"rank" : 8,
"size" : 8
} ]
} ]
}
3.4.5 GET Airport By Airline ranking
Gets the ranking of a specific airline at a specific airport during the period (from and to).
Path parameters
Parameter | Description |
---|---|
| 3-character airport IATA code or 4-character airport ICAO code |
| 2-character airport IATA code or 3-character airport ICAO code |
Query parameters
Parameter | Description |
---|---|
| Date range start e.g 2021-01-01 |
| Date range end e.g 2021-01-31 |
| Arrival or Departure indicator, A for Arrivals, D for Departures. Default is D. |
Request headers
Name | Description |
---|---|
| Content type of this request. Required value is 'application/json' |
| Authorization header that contains the access token. |
Response fields
Path | Type | Description |
---|---|---|
|
| Array of airports |
|
| Array of airlines |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airline Code |
|
| Airline name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airline |
|
| Number of flights with unknown status |
|
| Number of canceled flights |
|
| Percentage of flights for which OTP stats are available |
|
| Flight delay group interval. The key is defined by an specific interval of minutes (<from_value>-<to_value>) and the content is the percentage of flights with delay value between these values (<to_value> not included). The delay percentage does not include the canceled flights and the flights without actual date values |
|
| Up-to 15 minute delays (including negative delays) |
|
| 120 minute and greater delays |
|
| 15 to 30 minute delays |
|
| 30 to 60 minute delays |
|
| 60 to 90 minute delays |
|
| 90 to 120 minute delays |
|
| Flights |
|
| IATA Airport Code |
|
| Airport name |
|
| Number of not on-time flights |
|
| Number of on-time flights |
|
| On-time performance rating of this flight |
|
| Ranking based on performance |
|
| Region |
|
| Ranking based on the size of the set of flights for this airport |
|
| Number of flights with unknown status |
|
| Bottom (N) performers |
|
| Date range start |
|
| Minimum requested coverage |
|
| Minimum number of average daily flights |
|
| Region |
|
| Date range end |
|
| Top (N) performers |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/ranking/airports/BKK/airlines/EK?from=2021-01-01&to=2021-01-31&adi=D' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 890
{
"from" : "2021-01-01",
"to" : "2021-01-31",
"minCoverage" : 50,
"minDailyFlights" : 2,
"airports" : [ {
"iataCode" : "BKK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
},
"region" : "SEA",
"airlines" : [ {
"iataCode" : "EK",
"flights" : 2,
"onTime" : 2,
"notOnTime" : 0,
"canceled" : 0,
"unknown" : 0,
"performance" : 100.0,
"coverage" : 100.0,
"delay" : {
"*-15" : 100.0,
"15-30" : 0.0,
"30-60" : 0.0,
"60-90" : 0.0,
"90-120" : 0.0,
"120-*" : 0.0
}
} ]
} ]
}
4 Error Response
Response fields
Path | Type | Description |
---|---|---|
|
| Object that holds the error information |
|
| Array of errors |
|
| Support Error Code |
|
| Error Description |
|
| Indicates the invalid query parameter |
Curl request
$ curl 'https://sitaopen.api.aero/otp/v1/flights/airlines?from=2021-01-01&to=2021-01-31&top=1' -i -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 164
{
"errors" : {
"error" : [ {
"code" : 0,
"invalidParam" : "top",
"description" : "must be greater than or equal to 10"
} ]
}
}
5 Use Cases
5.1 On-Time Performance Ranking
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the airport rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/ranking/airports?from=2022-11-10&to=2022-11-11 |
Response: | Returns airport rankings based on on-time performance for the date period given |
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the airline rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/ranking/airlines?from=2022-11-10&to=2022-11-11 |
Response: | Returns airline rankings based on on-time performance for the date period given |
5.2 On-Time Performance Flight Statistics
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the daily flight statistics per airport |
Request: | GET /otp/v1/ranking/airports?from=2022-11-10&to=2022-11-11 |
Response: | Returns daily flight statistics per airport for the date period given |
Scenario: | As an API user I want to make a request to the On-Time Performance API to return the daily flight statistics per airline |
Request: | GET /otp/v1/ranking/airlines?from=2022-11-10&to=2022-11-11 |
Response: | Returns daily flight statistics per airline for the date period given |
5.3 On-Time Performance Comparison
Scenario: | As an API user I want to make a request to the On-Time Performance API to compare the airport rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/comparison/airports?airportCodes=ORD,JFK,ATL&from=2021-01-01&to=2021-01-31&interval=WEEKLY |
Response: | Returns comparison of on-time performance for the given airports within the specified timeframe |
Scenario: | As an API user I want to make a request to the On-Time Performance API to compare the airline rankings of on-time performance in a specified date range |
Request: | GET /otp/v1/comparison/airlines?airlineCodes=AA,DL,SW&from=2021-01-01&to=2021-01-31&interval=WEEKLY |
Response: | Returns comparison of on-time performance for the given airlines within the specified timeframe |
OTP Terms
Data Description | |
Attribute | Description |
iataCode | Airline or Airport code. |
region | The region where the airline operates or the airport is located. |
onTime | Number of on-time flights on a given period. |
notOnTime | Number of-not-on time flights on a given period. |
canceled | Number of canceled flights on a given period. |
flights | Total number of flights on a given period. |
performance | The percentage of on-time flights over the total number of flights. |
coverage | The coverage of this data, based on the total number of flights over the flights we have information of. |
rank | The ranking position based on performance. |
size | The ranking position based on number of flights. |
unknown | Number of flights without on time performance details on a given period. |
Contact Us
For subscription and sales queries, please contact:
Product Inquiries
For On-Time Performance API related queries, please contact:
Technical Support Team