TAGOBus-API는 국가대중교통정보센터(TAGO)에서 제공하는 버스 정보 API를 Python에서 쉽게 사용할 수 있도록 만든 비공식 Python 라이브러리입니다.
Unoffical-TAGO-API 는 python 3.10 이상의 버전을 지원합니다. (추후 3.10 이하 버전도 지원할 예정입니다.)
pip install Unoffical-TAGO-API본 API를 사용하기 위해서는 공공데이터포털에서 TAGO 버스 관련 데이터를 활용 신청해야 합니다.
서비스 키는 공공데이터포털 마이페이지에서 Decoding 키를 사용하세요.
| 매개변수 | 설명 |
|---|---|
cityCode |
도시 코드 |
routeNo |
버스 노선 번호 |
routeId |
버스 노선 ID |
nodeId |
정류소 ID |
nodeNm |
정류소 이름 |
nodeNo |
정류소 번호 |
gpsLati |
위도(WGS84) |
gpsLong |
경도(WGS84) |
from tagoapi import TAGOClient, TAGOAuth
client = TAGOClient(auth=TAGOAuth("YOUR_SERVICE_KEY"))클라이언트를 사용하지 않고도 지역 기반 정류장 검색이 가능합니다.
from tagoapi import get_station
stations = get_station("대구")
print(stations)모든 메서드와 get_station 함수는 다음과 같은 도메인 객체를 반환합니다.
Station: 정류소 정보Vehicle: 버스 차량 정보Route: 버스 노선 정보ArrivalInfo: 버스 도착 정보
도메인 객체들의 상위 객체 입니다.
다음과 같은 공통 메서드를 제공합니다.
obj.to_dict() # 객체 → dict 변환
BaseModel.from_dict(dict) # dict → 객체 변환
BaseModel.from_list(list) # dict 리스트 → 객체 리스트 변환도메인 객체들을 요소로 갖는 list 입니다. 기본적으로 Python의 기본 자료형인 list를 상속 받습니다.
| 필드명 | 타입 | 설명 |
|---|---|---|
nodeId |
str |
정류소 ID |
nodeNm |
str |
정류소명 |
nodeNo |
int |
정류소 번호 |
gpsLati |
float |
위도 (WGS84) |
gpsLong |
float |
경도 (WGS84) |
cityCode |
int |
도시코드 |
updowncd |
int |
상하행구분코드 (0: 상행, 1: 하행) |
nodeord |
int |
정류소순번 |
routes |
BaseList[Route] |
정류소를 경유하는 노선 |
| 필드명 | 타입 | 설명 |
|---|---|---|
routeId |
str |
노선 ID |
routeNo |
str |
노선명 |
routeTp |
int |
노선유형 |
endNodeNm |
str |
종점 |
startNodeNm |
str |
기점 |
endvehicletime |
int |
막차시간 |
startvehicletime |
int |
첫차시간 |
stations |
BaseList[Station] |
노선이 경유하는 정류소 |
| 필드명 | 타입 | 설명 |
|---|---|---|
node |
Station |
정류소 정보 |
route |
Route |
노선 정보 |
arrprevstationcnt |
int |
노선유형 |
vehicletp |
str |
차랑유형 |
arrtime |
int |
도착예상시간 |
| 필드명 | 타입 | 설명 |
|---|---|---|
route |
Route |
노선 정보 |
gpsLati |
float |
위도 (WGS84) |
gpsLong |
float |
경도 (WGS84) |
arrtime |
int |
도착예상시간 |
arrprevstationcnt |
int |
노선유형 |
vehicleTp |
str |
차랑유형 |
vehicleNo |
str |
차랑번호 |
| 메서드 | 설명 | 매개변수 |
|---|---|---|
get_route_by_no |
버스 노선 번호로 조회 | cityCode, routeNo |
get_route_by_id |
노선 ID로 정보 조회 | cityCode, routeId |
get_route_by_station |
정류소 경유 노선 조회 | cityCode, nodeId |
get_station_by_route |
노선 경유 정류소 조회 | cityCode, routeId |
get_station |
정류소명 또는 번호로 조회 | cityCode, nodeNm (선택: nodeNo) |
get_station_by_gps |
GPS 좌표 기반 주변 정류소 조회 | gpsLati, gpsLong |
get_arrival_by_station |
실시간 도착예정정보 및 운행정보 목록을 조회 | cityCode, nodeId |
get_route_arrival_by_station |
특정노선의 실시간 도착예정정보 및 운행정보 목록을 조회 | cityCode, nodeId, routeId |
get_route_pos |
버스의 GPS위치정보의 목록을 조회 | cityCode, routeId |
get_route_pos_near_station |
특정정류소에 접근한 버스의 GPS위치정보를 조회 | cityCode, routeId, nodeId |
버그 제보 또는 기능 요청은 GitHub 이슈에 등록해주세요.