tequila API
tequila는 Kiwi.com에서 제공하는 API는 항공권, 철도 등 교통편 검색과 관련한 정보를 준다.
one-way 편도, return 왕복, multicity 다목적지, nomad 미정의 여정을 선택할 수 있다.
1. 회원가입
비밀번호 생성규칙이 조금 까다롭다.
대소문자, 숫자 등을 포함해야 한다.
2. 시작 전 절차 따르기
- read documentation 공식문서 읽기
- create a solution 사용할 solution 생성하기
- add bank account 나를 인증할 은행 계좌 등록하기
- start using solutions solution 사용하기
3. create a solution 솔루션 생성하기
create solution> Meta Search API integration> type choose(one-way 편도, return 왕복, multicity 다목적지, nomad 미정)> Name 입력> create
4. API keys 확인하기
5. API 소개
- 기본 endpoint
https://api.tequila.kiwi.com/
1) Locations API
위치 정보
https://api.tequila.kiwi.com//locations/query
- 필수 파라미터
term
- 선택 파라미터
locale, location_types, limit, active_only, sort
import requests
from pprint import pprint
APIKEY ="자신의 APIKEY 적기"
tequila_url = "자신의 endpoint 적기"
headers = {
"apikey":APIKEY
}
parameters = {
"term":"Paris", #내가 찾고자하는 용어
"location_types":"airport",
"limit": 1}
response = requests.get(url=tequila_url, headers=headers, params=parameters)
response.raise_for_status()
tequila_datas = response.json()
pprint(tequila_datas)
>>
{'last_refresh': 1664793003,
'locations': [{'active': True,
'airport_int_id': 9667,
'alternative_departure_points': [{'distance': 16.69,
'duration': 796,
'id': 'FR-PLAI-PARC'},
{'distance': 190.06,
'duration': 7266.3,
'id': 'LIL'},
{'distance': 198.74,
'duration': 8435.4,
'id': 'XCR'},
{'distance': 213.47,
'duration': 8513.2,
'id': 'DOL'},
{'distance': 22.52,
'duration': 1236.7,
'id': 'FR-PARI-PA10'},
{'distance': 27.21,
'duration': 1569.5,
'id': 'FR-PARI-PAR9'},
{'distance': 27.37,
'duration': 1497.7,
'id': 'FR-PARI-PAR3'},
{'distance': 27.6,
'duration': 1586.1,
'id': 'FR-PARI-PA11'},
{'distance': 28.62,
'duration': 1581.7,
'id': 'FR-PARI-PARI'},
{'distance': 30.33,
'duration': 1711.6,
'id': 'FR-PARI-PAR1'},
{'distance': 30.48,
'duration': 1747,
'id': 'FR-PARI-PAR2'},
{'distance': 41.46,
'duration': 2213.1,
'id': 'FR-DISN-PARI'},
{'distance': 44.54,
'duration': 2554.2,
'id': 'ORY'},
{'distance': 45.49,
'duration': 2562.7,
'id': 'XJY'},
{'distance': 78.32,
'duration': 3340.6,
'id': 'BVA'}],
'alternative_names': ['Aéroport de Paris-Charles-de-Gaulle',
'Paris (CDG)'],
'car_rentals': [{'provider_id': 1175,
'providers_locations': ['644548']}],
'city': {'autonomous_territory': None,
'code': 'PAR',
'continent': {'code': 'EU',
'id': 'europe',
'name': 'Europe',
'slug': 'europe'},
'country': {'code': 'FR',
'id': 'FR',
'name': 'France',
'slug': 'france'},
'id': 'paris_fr',
'name': 'Paris',
'nearby_country': None,
'region': {'id': 'western-europe',
'name': 'Western Europe',
'slug': 'western-europe'},
'slug': 'paris-france',
'subdivision': None},
'code': 'CDG',
'dst_popularity_score': 4380128.0,
'global_rank_dst': 9,
'icao': 'LFPG',
'id': 'CDG',
'int_id': 9667,
'location': {'lat': 49.009722, 'lon': 2.547778},
'name': 'Charles de Gaulle Airport',
'new_ground': False,
'providers': [1028,
1035,
1053,
1064,
1096,
1128,
1148,
1163,
1165,
1175,
1227,
1229,
1282,
1283,
1291,
1329],
'rank': 18,
'routing_priority': 0,
'slug': 'charles-de-gaulle-paris-france',
'slug_en': 'charles-de-gaulle-paris-france',
'special': [{'id': 'notre-dame_poi',
'name': 'Notre Dame',
'slug': 'notre-dame'},
{'id': 'versailles_poi',
'name': 'Versailles',
'slug': 'versailles'},
{'id': 'louvre-museum_poi',
'name': 'Louvre Museum',
'slug': 'louvre-museum'},
{'id': 'le-cimetiere-de-pere-lachaise_poi',
'name': 'Le Cimetiere de Pere Lachaise',
'slug': 'le-cimetiere-de-pere-lachaise'},
{'id': 'giverny_poi',
'name': 'Giverny',
'slug': 'giverny'},
{'id': 'eiffel-tower_poi',
'name': 'Eiffel Tower',
'slug': 'eiffel-tower'}],
'tags': [{'month_from': -1,
'month_to': -1,
'tag': 'sightseeing'},
{'month_from': -1, 'month_to': -1, 'tag': 'culture'},
{'month_from': -1,
'month_to': -1,
'tag': 'famous cities'},
{'month_from': -1, 'month_to': -1, 'tag': 'romance'},
{'month_from': -1,
'month_to': -1,
'tag': 'city break'}],
'timezone': 'Europe/Paris',
'tourist_region': [{'id': 'ile-de-france_poi',
'name': 'Ile de France',
'slug': 'ile-de-france'},
{'id': 'greater-paris_poi',
'name': 'Greater Paris',
'slug': 'greater-paris'},
{'id': 'autoroute-utrecht-paris_poi',
'name': 'Autoroute Utrecht Paris',
'slug': 'autoroute-utrecht-paris'}],
'type': 'airport'}],
'meta': {'locale': {'code': 'en-US',
'status': 'Locale not specified, using default.'}},
'results_retrieved': 1}
print(tequila_datas['locations'][0]['code'])
>>CDG