- 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
- Overview
- 1 Revision History
- 2 Registration and API Signup
- 3 Flight Schedule API
- 4 Error Response
- Appendix A: Flight Schedule Use Cases
- Appendix B: Flight Schedule Service Type Codes
- Contact Us
- SITA Flight Status API
- SITA Flight Status Notification API
- SITA Historical Flight Status API
- SITA On Time Performance API
Overview
The SITA Flight Schedule API is ideal for passenger or operations app developers that need reliable and accurate schedule information globally. The API provides schedules for upcoming flights, for airports worldwide. Data can be returned for specific airlines and divided into arriving or departing flights.
The flight schedules can be obtained based on airport or flight number.
Examples of information included: arrival/ departure, scheduled time, airport, terminal, claim, aircraft, marketingCarriers / operatingCarrier, airline, flightNumber, tailNumber.
Who uses it
Airlines & Airports operators, Global Distribution Systems (GDS), Data aggregators & system providers, Government agencies & authorities, Travel agents, Original Equipment Manufacturers (OEMs) & Education institutions.
SITA Flight Schedule API
1 Revision History
Date | Version | Description | Author |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 Registration and API Signup
2.1 Authentication
To access the APIs an OAuth access token must be supplied. To obtain an OAuth token a request must be sent to the https://sitaopen.api.aero/schedule/oauth/token
endpoint using the OAuth2 Client Credential flow, using your API key as the client_id
, and your consumer secret as the client_secret
.
Once an access token has been obtained, it can be placed in the Authorization
HTTP header as a bearer token, for example:
Authorization: Bearer eyJ92dNw9dka...
2.2 SITA Flight Schedule API Structure
The scheme, domain and high level path parameters portion of the URL is:
Where schedule is the functional domain. The current version is v1.
Following the schedule domain parameter, and version, the next path parameter(s) define the service called. As of this version, the following functions are provided:
Function | Method | Description |
---|---|---|
|
|
|
|
|
|
2.3 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.4 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 UTC timestamp at which the current rate limit window resets |
3 Flight Schedule API
3.1 Resources
This section describes Flight Schedule API service. Detailed API structure, example requests and responses and JSON schema for request (where appropriate) and responses
3.1.1 Schedule By Departure and Arrival Stations
Path parameters
Parameter | Description |
---|---|
|
The version of this API e.g. v1 |
|
Valid IATA/ICAO departure Airport Code |
|
Valid IATA/ICAO arrival Airport Code |
Request headers
Name | Description |
---|---|
|
The Content-Type of this request |
|
Authorization header that contains the access token. |
Query parameters
Parameter | Description |
---|---|
|
Start Date for Operation Date Filter (Valid format is 'yyyy-MM-dd'). If not defined, current UTC date will be assigned |
|
End Date for Operation Date Filter (Valid format is 'yyyy-MM-dd'). If defined, operationDateFrom should also be present. If not defined, a 3 days window will be used based on operationDateFrom (if present) or the current UTC date. |
|
Group associated marketing and operating carrier flights into a single record. Default false. |
Response fields
Path | Type | Description |
---|---|---|
|
|
Operation end date |
|
|
A number used to differentiate between itineraries with the same Flight Designator (excluding Operational Suffixes, if any) |
|
|
3-character IATA or 4-character ICAO arrival airport code |
|
|
Operating airline |
|
|
Aircraft rotation layover |
|
|
Departure airport country code |
|
|
Departure airport timezone |
|
|
Arrival airport ICAO code e.g KJFK |
|
|
Passenger service class name e.g. BusinessClassPremium |
|
|
Cockpit crew employer |
|
|
Departure airport ICAO code e.g KJFK |
|
|
Aircraft schedule time of arrival |
|
|
Minimum connecting time |
|
|
Arrival airport latitude position |
|
|
Arrival day difference |
|
|
Departure airport region |
|
|
Passenger scheduled time of departure |
|
|
Airport Elevation |
|
|
Operation begin date |
|
|
Country Name where airport is located |
|
|
Departure airport continent |
|
|
3-character IATA or 4-character ICAO departure airport code |
|
|
Days of operation |
|
|
Departure airport longitude position |
|
|
Arrival airport IATA code e.g JFK |
|
|
Flight transit layover |
|
|
Flight number of onward flight |
|
|
Departure airport country |
|
|
Passenger service class code e.g. A |
|
|
Electronic ticketing candidate |
|
|
Departure terminal |
|
|
Arrival airport region |
|
|
Aircraft owner |
|
|
Departure day difference |
|
|
Indicates if the airline is the flight operator |
|
|
Departure airport IATA code e.g JFK |
|
|
Flight frequency rate |
|
|
Arrival airport type e.g. LARGE_AIRPORT |
|
|
Joint operation airline |
|
|
Arrival airport ident |
|
|
Arrival terminal |
|
|
Service type |
|
|
Departure airport latitude position |
|
|
Passenger Reservations Booking Designator |
|
|
Arrival airport country |
|
|
2-character continent value |
|
|
Airline code of onward flight |
|
|
Airport altitude |
|
|
Arrival airport full name |
|
|
Indicates more results are available. Pass this value to the continuationToken parameter on the request to retrieve the next page |
|
|
UTC offset at arrival airport |
|
|
Itinerary variation identifier |
|
|
On time performance indicator |
|
|
Departure airport full name |
|
|
UTC offset at departure airport |
|
|
Arrival airport country code |
|
|
Passenger Reservations Booking Modifier |
|
|
Arrival airport timezone |
|
|
Aircraft version |
|
|
Marketing airline flight number |
|
|
Sequence number |
|
|
Aircraft type |
|
|
Arrival airport city |
|
|
Traffic restriction code |
|
|
Flight suffix of onward flight e.g. 4A, 123B |
|
|
Departure airport type e.g. LARGE_AIRPORT |
|
|
1-character direction indicator (A/D) |
|
|
Departure airport identification |
|
|
Arrival airport local code |
|
|
Type of meal service e.g. Breakfast |
|
|
Available in-flight service |
|
|
Passenger schedule time of arrival |
|
|
Cabin crew employer |
|
|
Record serial number |
|
|
Departure airport city |
|
|
Aircraft scheduled time of departure |
|
|
Continent where airport is located |
|
|
Secure flight indicator |
|
|
Arrival airport longitude position |
|
|
Traffic Restriction Code for flight leg |
|
|
Marketing airline code |
|
|
Departure airport local code |
Curl request
$ curl 'https://sitaopen.api.aero/schedule/v1/route/departure/JFK/arrival/LAX?operationDateFrom=2020-07-06&operationDateTo=2020-07-10&groupMarketingCarriers=true' -i -X GET \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3581
{
"departure" : "JFK",
"arrival" : "LAX",
"adi" : "D",
"continent" : "NA",
"country" : "US",
"schedules" : [ {
"itineraryVariationIdentifier" : 1,
"legSequenceNumber" : 1,
"serviceType" : "J",
"operationBegin" : "06JUL2020",
"operationEnd" : "03JUL2021",
"daysOfOperation" : [ "Monday", "Tuesday", "Thursday" ],
"frequencyRate" : "2",
"departureStation" : {
"type" : "LARGE_AIRPORT",
"elevation" : 13,
"continent" : "NA",
"countryCode" : "US",
"region" : "US-NY",
"localCode" : "JFK",
"name" : "John F Kennedy International Airport",
"iataCode" : "KJFK",
"icaoCode" : "JFK",
"city" : "New York",
"country" : "US",
"timezone" : "America/New_York",
"ident" : "JFK",
"lat" : 40.63980103,
"lng" : -73.77890015
},
"passengerSTD" : "0730",
"aircraftSTD" : "0730",
"utcOffsetDepStation" : "-0500",
"passengerDepartureTerminal" : "G",
"arrivalStation" : {
"type" : "LARGE_AIRPORT",
"elevation" : 125,
"continent" : "NA",
"countryCode" : "US",
"region" : "US-CA",
"localCode" : "JFK",
"name" : "Los Angeles International Airport",
"iataCode" : "KLAX",
"icaoCode" : "LAX",
"city" : "Los Angeles",
"country" : "US",
"timezone" : "America/Los_Angeles",
"ident" : "JFK",
"lat" : 33.94250107,
"lng" : -118.4079971
},
"aircraftSTA" : "1105",
"passengerSTA" : "1105",
"utcOffsetArrStation" : "-0700",
"passengerArrivalTerminal" : "0",
"aircraftType" : "32B",
"prbd" : "FAJRDIYBHKMLGVSNQO",
"prbm" : "N",
"mealService" : {
"mealServicePerClass" : [ {
"passengerCode" : "F",
"passengerClass" : "FirstClass",
"mealService" : [ "Breakfast" ]
}, {
"passengerCode" : "J",
"passengerClass" : "BusinessClassPremium",
"mealService" : [ "Breakfast" ]
}, {
"passengerCode" : "Y",
"passengerClass" : "EconomyOrCoach",
"mealService" : [ "Snack or Brunch" ]
}, {
"passengerCode" : "V",
"passengerClass" : "EconomyOrCoachDiscounted",
"mealService" : [ "Snack or Brunch" ]
} ]
},
"jointOperationAirline" : "AA",
"minimumConnectingTime" : "0200",
"secureFlightIndicator" : "S",
"itineraryVariationIdentifierOverflow" : "2",
"aircraftOwner" : "AA",
"cockpitCrewEmployer" : "AA",
"cabinCrewEmployer" : "AA",
"onwardFlight" : {
"airlineDesignator" : "AA",
"flightNumber" : "1",
"aircraftRotationLayover" : "0",
"operationSuffix" : "A"
},
"flightTransitLayover" : "2",
"operatingAirline" : "OPERATING_FLIGHT",
"trafficRestrictionCode" : [ "O" ],
"trafficRestrictionCodeLegOverflowIndication" : "Z",
"aircraftVersion" : "A318",
"departureDayDifference" : 0,
"arrivalDayDifference" : 0,
"recordSerialNumber" : "000003",
"marketingCarriers" : [ {
"airlineDesignator" : "TN",
"flightNumber" : "1101",
"flightOperator" : false
} ],
"inFlightServiceInformation" : [ {
"service" : "Audio programming"
}, {
"service" : "Wi-Fi"
}, {
"service" : "In-seat Video Player/Library"
}, {
"service" : "USB Power"
} ],
"onTimePerformanceIndicator" : "80-89",
"electronicTicketingCandidate" : "Y"
} ],
"continuationToken" : "Aw=="
}
3.1.2 Schedule By Airport and ADI
Path parameters
Parameter | Description |
---|---|
|
The version of this API e.g. v1 |
|
1-character direction indicator (A/D) |
|
Valid IATA/ICAO departure or arrival Airport Code |
Request headers
Name | Description |
---|---|
|
The Content-Type of this request |
|
Authorization header that contains the access token. |
Query parameters
Parameter | Description |
---|---|
|
Start Date for Operation Date Filter (Valid format is 'yyyy-MM-dd'). If not defined, current UTC date will be assigned |
|
End Date for Operation Date Filter (Valid format is 'yyyy-MM-dd'). If defined, operationDateFrom should also be present. If not defined, a 3 days window will be used based on operationDateFrom (if present) or the current UTC date. |
|
Group associated marketing and operating carrier flights into a single record. Default false. |
Response fields
Path | Type | Description |
---|---|---|
|
|
Operation end date |
|
|
A number used to differentiate between itineraries with the same Flight Designator (excluding Operational Suffixes, if any) |
|
|
3-character IATA or 4-character ICAO arrival airport code |
|
|
Operating airline |
|
|
Aircraft rotation layover |
|
|
Departure airport country code |
|
|
Departure airport timezone |
|
|
Arrival airport ICAO code e.g KJFK |
|
|
Passenger service class name e.g. BusinessClassPremium |
|
|
Cockpit crew employer |
|
|
Departure airport ICAO code e.g KJFK |
|
|
Aircraft schedule time of arrival |
|
|
Minimum connecting time |
|
|
Arrival airport latitude position |
|
|
Arrival day difference |
|
|
Departure airport region |
|
|
Passenger scheduled time of departure |
|
|
Airport Elevation |
|
|
Operation begin date |
|
|
Country Name where airport is located |
|
|
Departure airport continent |
|
|
3-character IATA or 4-character ICAO departure airport code |
|
|
Days of operation |
|
|
Departure airport longitude position |
|
|
Arrival airport IATA code e.g JFK |
|
|
Flight transit layover |
|
|
Flight number of onward flight |
|
|
Departure airport country |
|
|
Passenger service class code e.g. A |
|
|
Electronic ticketing candidate |
|
|
Departure terminal |
|
|
Arrival airport region |
|
|
Aircraft owner |
|
|
Departure day difference |
|
|
Indicates if the airline is the flight operator |
|
|
Departure airport IATA code e.g JFK |
|
|
Flight frequency rate |
|
|
Arrival airport type e.g. LARGE_AIRPORT |
|
|
Joint operation airline |
|
|
Arrival airport ident |
|
|
Arrival terminal |
|
|
Service type |
|
|
Departure airport latitude position |
|
|
Passenger Reservations Booking Designator |
|
|
Arrival airport country |
|
|
2-character continent value |
|
|
Airline code of onward flight |
|
|
Airport altitude |
|
|
Arrival airport full name |
|
|
Indicates more results are available. Pass this value to the continuationToken parameter on the request to retrieve the next page |
|
|
UTC offset at arrival airport |
|
|
Itinerary variation identifier |
|
|
On time performance indicator |
|
|
Departure airport full name |
|
|
UTC offset at departure airport |
|
|
Arrival airport country code |
|
|
Passenger Reservations Booking Modifier |
|
|
Arrival airport timezone |
|
|
Aircraft version |
|
|
Marketing airline flight number |
|
|
Sequence number |
|
|
Aircraft type |
|
|
Arrival airport city |
|
|
Traffic restriction code |
|
|
Flight suffix of onward flight e.g. 4A, 123B |
|
|
Departure airport type e.g. LARGE_AIRPORT |
|
|
1-character direction indicator (A/D) |
|
|
Departure airport identification |
|
|
Arrival airport local code |
|
|
Type of meal service e.g. Breakfast |
|
|
Available in-flight service |
|
|
Passenger schedule time of arrival |
|
|
Cabin crew employer |
|
|
Record serial number |
|
|
Departure airport city |
|
|
Aircraft scheduled time of departure |
|
|
Continent where airport is located |
|
|
Secure flight indicator |
|
|
Arrival airport longitude position |
|
|
Traffic Restriction Code for flight leg |
|
|
Marketing airline code |
|
|
Departure airport local code |
Curl request
$ curl 'https://sitaopen.api.aero/schedule/v1/airport/JFK/direction/D?operationDateFrom=2020-07-06&operationDateTo=2020-07-10&groupMarketingCarriers=true' -i -X GET \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3581
{
"departure" : "JFK",
"arrival" : "LAX",
"adi" : "D",
"continent" : "NA",
"country" : "US",
"schedules" : [ {
"itineraryVariationIdentifier" : 1,
"legSequenceNumber" : 1,
"serviceType" : "J",
"operationBegin" : "06JUL2020",
"operationEnd" : "03JUL2021",
"daysOfOperation" : [ "Monday", "Tuesday", "Thursday" ],
"frequencyRate" : "2",
"departureStation" : {
"type" : "LARGE_AIRPORT",
"elevation" : 13,
"continent" : "NA",
"countryCode" : "US",
"region" : "US-NY",
"localCode" : "JFK",
"name" : "John F Kennedy International Airport",
"iataCode" : "KJFK",
"icaoCode" : "JFK",
"city" : "New York",
"country" : "US",
"timezone" : "America/New_York",
"ident" : "JFK",
"lat" : 40.63980103,
"lng" : -73.77890015
},
"passengerSTD" : "0730",
"aircraftSTD" : "0730",
"utcOffsetDepStation" : "-0500",
"passengerDepartureTerminal" : "G",
"arrivalStation" : {
"type" : "LARGE_AIRPORT",
"elevation" : 125,
"continent" : "NA",
"countryCode" : "US",
"region" : "US-CA",
"localCode" : "JFK",
"name" : "Los Angeles International Airport",
"iataCode" : "KLAX",
"icaoCode" : "LAX",
"city" : "Los Angeles",
"country" : "US",
"timezone" : "America/Los_Angeles",
"ident" : "JFK",
"lat" : 33.94250107,
"lng" : -118.4079971
},
"aircraftSTA" : "1105",
"passengerSTA" : "1105",
"utcOffsetArrStation" : "-0700",
"passengerArrivalTerminal" : "0",
"aircraftType" : "32B",
"prbd" : "FAJRDIYBHKMLGVSNQO",
"prbm" : "N",
"mealService" : {
"mealServicePerClass" : [ {
"passengerCode" : "F",
"passengerClass" : "FirstClass",
"mealService" : [ "Breakfast" ]
}, {
"passengerCode" : "J",
"passengerClass" : "BusinessClassPremium",
"mealService" : [ "Breakfast" ]
}, {
"passengerCode" : "Y",
"passengerClass" : "EconomyOrCoach",
"mealService" : [ "Snack or Brunch" ]
}, {
"passengerCode" : "V",
"passengerClass" : "EconomyOrCoachDiscounted",
"mealService" : [ "Snack or Brunch" ]
} ]
},
"jointOperationAirline" : "AA",
"minimumConnectingTime" : "0200",
"secureFlightIndicator" : "S",
"itineraryVariationIdentifierOverflow" : "2",
"aircraftOwner" : "AA",
"cockpitCrewEmployer" : "AA",
"cabinCrewEmployer" : "AA",
"onwardFlight" : {
"airlineDesignator" : "AA",
"flightNumber" : "1",
"aircraftRotationLayover" : "0",
"operationSuffix" : "A"
},
"flightTransitLayover" : "2",
"operatingAirline" : "OPERATING_FLIGHT",
"trafficRestrictionCode" : [ "O" ],
"trafficRestrictionCodeLegOverflowIndication" : "Z",
"aircraftVersion" : "A318",
"departureDayDifference" : 0,
"arrivalDayDifference" : 0,
"recordSerialNumber" : "000003",
"marketingCarriers" : [ {
"airlineDesignator" : "TN",
"flightNumber" : "1101",
"flightOperator" : false
} ],
"inFlightServiceInformation" : [ {
"service" : "Audio programming"
}, {
"service" : "Wi-Fi"
}, {
"service" : "In-seat Video Player/Library"
}, {
"service" : "USB Power"
} ],
"onTimePerformanceIndicator" : "80-89",
"electronicTicketingCandidate" : "Y"
} ],
"continuationToken" : "Aw=="
}
4 Error Response
Response fields
Path | Type | Description |
---|---|---|
|
|
Indicates the invalid query parameter |
|
|
Object that holds the error information |
|
|
Schedule API Internal Error Code |
|
|
Error Description |
|
|
Indicates the invalid query parameter value |
|
|
Array of errors |
Curl request
$ curl 'https://sitaopen.api.aero/schedule/v1/route/departure/JFK/arrival/LAX?operationDateFrom=2022-07-30&operationDateTo=2022-07-31&groupMarketingCarriers=true&pageSize=-1' -i -X GET \
-H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...' \
-H 'Content-Type: application/json'
HTTP response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 209
{
"errors" : {
"error" : [ {
"description" : "Invalid page size.",
"code" : 2028,
"invalidParam" : "pageSize",
"invalidValue" : "Please contact API Support"
} ]
}
}
Appendix A: Flight Schedule Use Cases
Scenario: |
As an API user I want to make a request to the Schedule API to return all flights for a specific departure airport, to a specific arrival airport for a certain timeframe |
Request: |
GET /schedule/v1/route/departure/JFK/arrival/LAX?operationDateFrom=2022-10-17&operationDateTo=2022-10-24 |
Response: |
List of flight records for JFK departure flights arriving in LAX between October 17th and October 24th 2022 |
Scenario: |
As an API user I want to make a request to the Schedule API to return all departures for a chosen airport on a specific date |
Request: |
GET /schedule/v1/airport/JFK/direction/D?operationDateFrom=2022-10-17&operationDateTo=2022-10-24 |
Response: |
List of flight records for flights departing JFK between October 17th and October 24th 2022 |
Scenario: |
As an API user I want to make a request to the Schedule API to return all arrivals for a chosen airport on a specific date |
Request: |
GET /schedule/v1/airport/JFK/direction/A?operationDateFrom=2022-10-17&operationDateTo=2022-10-24 |
Response: |
List of flight records for flights arriving in JFK between October 17th and October 24th 2022 |
Appendix B: Flight Schedule Service Type Codes
Code | Description | Application | Content |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contact Us
For subscription and sales queries, please contact:
Product Inquiries
For Flight Schedule API related queries, please contact:
Technical Support Team
For site related technical queries and support, please contact:
Customer Support Team