daero 대로

열린 대중교통 경로탐색 · 오픈 API
지도
API 문서
개인정보처리방침
정류장 이름으로 검색하거나, 지도를 클릭해 출발(파랑)·도착(빨강)을 지정하세요.
출발 미지정
도착 미지정

개요

daero 는 GTFS 기반 국내 대중교통 door-to-door 경로탐색 API 입니다. 인증(API 키) 불필요. 모든 응답은 application/json; charset=UTF-8. CORS 전체 허용. 각 엔드포인트에 파라미터·예제 요청·예제 코드(curl/JS/Python)·호출 테스트가 함께 있습니다.

Base URLhttp://localhost:8090
인증없음 (공개)
메서드GET
시각 형식HH:MM / HH:MM:SS (자정 기준, 24시 초과 = 심야)
이 스펙을 Claude Code·Cursor 등 LLM 도구에 넣으면 연동 코드를 바로 생성할 수 있어요.

응답 스키마 (경로 API 공통)

최상위에는 추천 경로가 펼쳐지고(하위호환), options 배열에 [추천, 대안...]이 담깁니다.

필드타입설명
foundboolean경로 발견 여부
queryMsint탐색 소요(ms)
accessStops, egressStopsintplan/coords 전용 — 출발·도착 좌표 근처에서 접근에 사용한 정류장 수
options[]array경로 옵션 목록(추천 + 대안)
options[].tagstring추천 / 지하철·철도 우선 / 환승 최소 / 대안 …
options[].departure, arrivalstring출발·도착 시각 HH:MM
options[].durationMinint총 소요(분)
options[].transfersint환승 횟수
options[].estimatedFareKrwint예상 요금(원, 근사)
options[].modes[]string[]사용 교통수단
options[].legs[]array구간 목록
legs[].modestringBUS·SUBWAY·RAIL·AIR·FERRY·WALK
legs[].routestring노선명(도보 제외)
legs[].from, tostring승·하차 정류장명
legs[].depart, arrivestring구간 출발·도착 시각
legs[].minint구간 소요(분)
legs[].fromLat/fromLon/toLat/toLondouble구간 양끝 좌표(경로선용)
legs[].path[[lat,lon]]정차 순서대로 경유좌표(지도 선형용). 승차~하차 중간 정류장 포함
legs[].realtimeMinint실시간 도착(분). 추천 경로 첫 버스 leg에, 실시간 데이터 있을 때만 표시(없으면 필드 없음)
legs[].realtimeSecint실시간 도착(초)
legs[].realtimeStopsLeftint도착예정 버스의 남은 정거장 수
{
  "found": true, "queryMs": 140,
  "tag": "추천", "departure": "09:00", "arrival": "09:29",
  "durationMin": 29, "transfers": 1, "estimatedFareKrw": 1350, "modes": ["BUS"],
  "legs": [ { "mode": "BUS", "route": "262", "from": "서울역", "to": "종로2가",
              "depart": "09:01", "arrive": "09:07", "min": 6,
              "fromLat": 37.55, "fromLon": 126.97, "toLat": 37.57, "toLon": 126.98 } ],
  "options": [ /* {tag:"추천",...}, {tag:"지하철·철도 우선",...}, {tag:"환승 최소",...} */ ]
}

에러 응답 & 상태 코드

오류 시 일관된 JSON { "error": "코드", "message": "설명" } 을 반환합니다.

상태error발생 조건
400missing_parameter필수 파라미터 누락(예: fromLat 없음)
400invalid_parameter파라미터 타입 오류(예: fromLat=abc)
400invalid_input값 검증 실패 — 좌표 범위(±90/±180)·time 형식(HH:MM)·빈 검색어
429rate_limitedIP당 요청 한도 초과. Retry-After 헤더 후 재시도
503server_busy동시 경로탐색 혼잡(대기 초과). 잠시 후 재시도
503timetable not built기동 직후 시간표 로딩 전(수 초). 곧 정상화

주의 · 한계

· alternatives최대치입니다. 실제 반환 수는 그 경로에 존재하는 서로 다른 최적 경로 개수에 따라 그보다 적을 수 있습니다.
· 레이트리밋: 공개 API 보호를 위해 IP당 요청 속도를 제한합니다(초과 시 429). 지속 호출은 완만하게, 순간 버스트는 일정 한도까지 허용.
· 요금은 도시 통합요금 근사치(철도·항공 실요금 미반영).
· 경로선 좌표는 정류장 직선 연결(정밀 선형 데이터 없음).
· GTFS 스냅샷 기반(정적) — 실시간 지연 미반영, "예상 경로·소요시간" 용도.
· 지도 타일 © OpenStreetMap, 대중교통 데이터는 각 제공처 이용조건을 따릅니다.

개인정보처리방침

시행일: 2026-07-14 · 최종 개정: 2026-07-14

daero(이하 "서비스")는 「개인정보 보호법」 등 관련 법령을 준수하며, 이용자의 개인정보 보호를 위해 다음과 같이 개인정보처리방침을 수립·공개합니다. 서비스는 회원 가입·로그인 절차가 없고, 자체적으로 쿠키를 설정하거나 이용자 개인정보를 수집·저장하지 않습니다. 경로 질의 값(좌표·시각)은 경로 계산에만 사용되며 저장하지 않습니다.

1. 수집하는 개인정보 항목 및 수집 방법

서비스 애플리케이션 자체는 개인정보를 수집·저장하지 않습니다. 다만 아래의 경우 정보가 생성될 수 있습니다.

2. 개인정보의 이용 목적

3. 쿠키의 설치·운영 및 거부

서비스는 이용 편의와 광고 제공을 위해 쿠키를 사용합니다. 이용자는 웹브라우저 설정에서 쿠키 저장을 허용·거부하거나 삭제할 수 있습니다. 쿠키 저장을 거부하는 경우 맞춤형 광고 등 일부 기능이 제한될 수 있습니다. (브라우저별 설정 > 개인정보/쿠키 메뉴 참고)

4. 광고 및 제3자 서비스

웹 지도 화면에는 카카오 애드핏의 광고가 노출되며, 광고 사업자는 맞춤형 광고 제공·측정을 위해 쿠키 및 광고식별자를 수집·이용할 수 있습니다. 이는 해당 사업자의 개인정보처리방침에 따라 처리됩니다. 또한 지도 표시를 위해 OpenStreetMap 타일 서비스가 사용됩니다. 오픈 API(JSON 응답)에는 광고·추적 요소가 포함되지 않습니다.

5. 개인정보의 제3자 제공

서비스는 이용자의 개인정보를 원칙적으로 외부에 제공하지 않습니다. 다만 위 광고·지도 등 서비스 제공에 필요한 범위에서 해당 사업자를 통해 처리되며, 법령에 근거하거나 수사기관의 적법한 요청이 있는 경우에 한해 제공될 수 있습니다.

6. 개인정보의 보유·이용 기간 및 파기

자동 수집된 접속 기록 등은 서비스 운영·보안 목적에 필요한 기간 동안만 보관한 후 지체 없이 파기합니다. 관련 법령에서 보존을 요구하는 경우 해당 기간 동안 보관합니다.

7. 이용자의 권리와 행사 방법

이용자는 언제든지 브라우저의 쿠키 거부·삭제, 맞춤형 광고 수신 거부 등을 통해 자신의 정보에 대한 권리를 행사할 수 있습니다.

8. 개인정보의 안전성 확보 조치

서비스는 접근 통제, 접속 기록의 보관·점검, 통신 구간 암호화 등 합리적인 수준의 보호조치를 취합니다.

9. 개인정보 보호책임자 및 문의

개인정보 처리에 관한 문의·불만은 아래로 접수할 수 있습니다.

그 밖의 개인정보 침해에 대한 상담은 개인정보침해신고센터(privacy.kisa.or.kr, 국번없이 118) 등에 문의할 수 있습니다.

10. 방침의 변경

본 방침은 법령·서비스 변경에 따라 개정될 수 있으며, 개정 시 본 페이지를 통해 공지합니다.