Flight Duration API
dots.support@sita.aero
- 1 Revision History
- 2 Registration and API Sign Up
- 3 SITA Flight Duration API
- 3.1 Resources
- 3.1.1 GET Duration stats by Airports for all Airlines
- 3.1.2 GET Duration stats by Airports with Min, Max and Percentiles
- 3.1.3 GET Duration stats by Airports and split by Airline
- 3.1.4 GET Duration stats by Airports and split by Airline and show Min, Max
- 3.1.5 GET Duration stats by Airports and split by Airline and show Min, Max and Percentiles
- 3.1.6 GET Duration stats by Airports for a specific Airline and show Min, Max and Percentiles
- 3.1 Resources
- 4 Error Response
- 5 Appendix A - Definitions, Acronyms and Abbreviations
- 6 Appendix B - SITA Flight Duration API Use Cases
1 Revision History
Date | Version | Description | Author |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
2 Registration and API Sign Up
To access the APIs you will need a registration key, also known as 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 API Key Usage
The API key will be passed in an HTTP header as follows:
-
Name of header: x-apiKey
-
Value of header: The API key as generated for the application.
2.2 Security
-
All incoming requests will be REST over HTTPS.
-
Users are authenticated using their API key.
2.3 Flight Duration API Structure
The scheme, domain and high level path parameters portion of the URL is:
Where duration is the functional domain. The current version is v2.
Function | Method | Description |
---|---|---|
|
|
|
|
|
|
3 SITA Flight Duration API
Flight Duration API provides duration statistics for flights between two airports based on data collected from the SITA Flight Information system.
The metrics available include average duration, min duration, max duration, and percentile breakdown. Each of these can be displayed as an aggregate figure (e.g. average duration for all airlines) or split out per airline.
3.1 Resources
This section describes Flight Duration API with regards to:
-
Detailed API structure
-
Example requests and responses
-
JSON schema for request (where appropriate) and responses
-
Error response codes and formats
3.1.1 GET Duration stats by Airports for all Airlines
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 132
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : "*",
"average" : 189
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
Average duration |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Origin Airport |
|
|
Airline |
|
|
Destination Airport |
3.1.2 GET Duration stats by Airports with Min, Max and Percentiles
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
Request parameters
Parameter | Description |
---|---|
|
Boolean value - Use this to have the min and max durations in the response |
|
Boolean value - Use this to have the duration percentiles returned |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA?showMinMax=true&showPercentiles=true' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 330
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : null,
"average" : 189,
"min" : 174,
"max" : 204,
"percentiles" : {
"1" : 174,
"99" : 204,
"5" : 174,
"75" : 192,
"50" : 190,
"25" : 185,
"95" : 203
}
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
50th percentile |
|
|
95th percentile |
|
|
Destination Airport |
|
|
Airline |
|
|
Min duration |
|
|
Duration percentiles breakdown |
|
|
5th percentile |
|
|
25th percentile |
|
|
75th percentile |
|
|
Origin Airport |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Average duration |
|
|
Max duration |
|
|
1st percentile |
|
|
99th percentile |
3.1.3 GET Duration stats by Airports and split by Airline
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
Request parameters
Parameter | Description |
---|---|
|
Used to specify how the duration stats should be split. Currently only 'airline' is supported |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA?split=airline' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 185
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : "AA",
"average" : 189
}, {
"airline" : "DL",
"average" : 189
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
Average duration |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Origin Airport |
|
|
Airline |
|
|
Destination Airport |
3.1.4 GET Duration stats by Airports and split by Airline and show Min, Max
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
Request parameters
Parameter | Description |
---|---|
|
Used to specify how the duration stats should be split. Currently only 'airline' is supported |
|
Boolean value - Use this to have the min and max durations in the response |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA?split=airline&showMinMax=true' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 257
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : "AA",
"average" : 189,
"min" : 174,
"max" : 204
}, {
"airline" : "DL",
"average" : 189,
"min" : 174,
"max" : 204
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
Origin Airport |
|
|
Airline |
|
|
Min duration |
|
|
Destination Airport |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Average duration |
|
|
Max duration |
3.1.5 GET Duration stats by Airports and split by Airline and show Min, Max and Percentiles
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
Request parameters
Parameter | Description |
---|---|
|
Used to specify how the duration stats should be split. Currently only 'airline' is supported |
|
Boolean value - Use this to have the min and max durations in the response |
|
Boolean value - Use this to have the duration percentiles returned |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA?split=airline&showMinMax=true&showPercentiles=true' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 579
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : "AA",
"average" : 189,
"min" : 174,
"max" : 204,
"percentiles" : {
"1" : 174,
"99" : 204,
"5" : 174,
"75" : 192,
"50" : 190,
"25" : 185,
"95" : 203
}
}, {
"airline" : "DL",
"average" : 189,
"min" : 174,
"max" : 204,
"percentiles" : {
"1" : 177,
"99" : 200,
"5" : 177,
"75" : 198,
"50" : 189,
"25" : 181,
"95" : 200
}
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
50th percentile |
|
|
95th percentile |
|
|
Destination Airport |
|
|
Airline |
|
|
Min duration |
|
|
Duration percentiles breakdown |
|
|
5th percentile |
|
|
25th percentile |
|
|
75th percentile |
|
|
Origin Airport |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Average duration |
|
|
Max duration |
|
|
1st percentile |
|
|
99th percentile |
3.1.6 GET Duration stats by Airports for a specific Airline and show Min, Max and Percentiles
Path parameters
Parameter | Description |
---|---|
|
The version of this API. |
|
3-character IATA or 4-character ICAO origin airport code |
|
3-character IATA or 4-character ICAO destination airport code |
|
2-character IATA or 3-character ICAO airline code |
Request parameters
Parameter | Description |
---|---|
|
Boolean value - Use this to have the min and max durations in the response |
|
Boolean value - Use this to have the duration percentiles returned |
Request headers
Name | Description |
---|---|
|
Content type of this request. Required value is 'application/json' |
|
Authorization header that contains the API key |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v2/JFK/MIA/AA?showMinMax=true&showPercentiles=true' -i -X GET \
-H 'X-apiKey: FAKE KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 330
{
"originAirport" : "JFK",
"destinationAirport" : "MIA",
"stats" : [ {
"airline" : "AA",
"average" : 189,
"min" : 174,
"max" : 204,
"percentiles" : {
"1" : 174,
"99" : 204,
"5" : 174,
"75" : 192,
"50" : 190,
"25" : 185,
"95" : 203
}
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
50th percentile |
|
|
95th percentile |
|
|
Destination Airport |
|
|
Airline |
|
|
Min duration |
|
|
Duration percentiles breakdown |
|
|
5th percentile |
|
|
25th percentile |
|
|
75th percentile |
|
|
Origin Airport |
|
|
Duration stats (average, min, max, percentile breakdown) |
|
|
Average duration |
|
|
Max duration |
|
|
1st percentile |
|
|
99th percentile |
4 Error Response
Response fields
Path | Type | Description |
---|---|---|
|
|
Indicates the invalid query parameter |
|
|
Error Description |
|
|
Object that holds the error information |
|
|
Duration API Internal Error Code |
|
|
Array of errors |
Curl request
$ curl 'https://sitaopen-qa.api.aero/duration/v1/AMS/INVALID_AIRPORT_CODE' -i -X GET \
-H 'X-apiKey: FAKE_API_KEY' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 164
{
"errors" : {
"error" : [ {
"description" : "Airport not found",
"code" : 2020,
"invalidParam" : "destinationAirport"
} ]
}
}
5 Appendix A - Definitions, Acronyms and Abbreviations
Term | Definition |
---|---|
6 Appendix B - SITA Flight Duration API Use Cases
Scenario: |
As an API user I want to make a request to the Duration API to return flight duration statistics between 2 specified airports |
Request: |
GET /duration/v2/LHR/DXB |
Response: |
Returns flight duration statistics between LHR and DXB |
Scenario: |
As an API user I want to make a request to the Duration API to return flight duration statistics between 2 specified airports with a given airline |
Request: |
GET /duration/v2/LHR/DXB/AA |
Response: |
Returns flight duration statistics between LHR and DXB for the airline AA |
Scenario: |
As an API user I want to make a request to the Duration API to return the average flight duration time between 2 airports in minutes |
Request: |
GET /duration/v1/LHR/DXB |
Response: |
Returns average flight duration times between LHR and DUB in minutes |
Scenario: |
As an API user I want to make a request to the Duration API to return the average flight duration time between 2 airports in minutes for a specific airline |
Request: |
GET /duration/v1/LHR/DXB/AA |
Response: |
Returns average flight duration times between LHR and DUB in minutes for the airline AA |
Last updated 2022-10-28 12:55:05 +0100