As of May 1st, 2020, the project is deprecated and no longer maintained. The latest update in v1.1.5 includes changing the library to use a secure connection when calling Skyscanner's APIs as this is required for all users and http is no longer supported. The development of this SDK from that point on is fully abandoned.
As we cannot guarantee for how long it will continue working, you should not to use the SDK when starting new projects. If it is already in use in your projects, please upgrade to its latest version and keep in mind that due to planned changes in our Skyscanner APIs it may not work as expected after July 2020.
You will need to contact us to request an API key to use our APIs via the following form: https://partners.skyscanner.net/contact.
We receive a large number of requests and although we do our best to reply to all we cannot guarantee that your application will be successful.
Skyscanner Python SDK for Skyscanner's API
- Free software: Apache license
- SDK Documentation: https://skyscanner.readthedocs.org.
- API Documentation: https://business.skyscanner.net/portal/en-GB/Documentation/ApiOverview
- Tested on Python 2.6, 2.7, 3.3, 3.4
- Supports Flights, Hotels, and Carhire
At the command line:
$ easy_install skyscanner
Or, if you have virtualenvwrapper installed:
$ mkvirtualenv skyscanner $ pip install skyscanner
Contact us to request an API key: https://partners.skyscanner.net/contact
If you don't already have one, create a Skyscanner account.
Sign into your account and click 'Import Existing App' and use your API key to create an App
Set your API Key in your code:
from skyscanner.skyscanner import Flights flights_service = Flights('<Your API Key>')
Get the flights live pricing result by writing a few lines of code:
from skyscanner.skyscanner import Flights flights_service = Flights('<Your API Key>') result = flights_service.get_result( country='UK', currency='GBP', locale='en-GB', originplace='SIN-sky', destinationplace='KUL-sky', outbounddate='2017-05-28', inbounddate='2017-05-31', adults=1).parsed print(result)
Note that both the inbounddate
and outbounddate
might need to be updated.
For more example usage, refer to the SDK documentation or the API documentation.
Tests might appear to be broken sometimes, this is due to the throttling in the API. In such cases, you will see the following error in the build log:
requests.exceptions.HTTPError: 429 Client Error: Too many requests in the last minute.
Please allow up to 15 minutes for your API key to be activated. Until it is activated you will get a 403 exception:
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://partners.api.skyscanner.net/apiservices/pricing/v1.0?apiKey=<Your API key>