웹 서비스나 앱을 만들 때 환율 데이터가 필요한 순간이 많습니다. 하지만 매번 API 키를 발급받고 로그인 과정을 거치는 건 생각보다 번거롭죠.
이번 글에서는 API Key 없이 간단한 URL 요청만으로 활용할 수 있는 환율 데이터 출처를 정리해 드립니다. 실시간 조회부터 과거 특정 날짜의 환율 조회까지 상황별로 알맞은 방법을 찾아보세요.
1. 실시간 환율 전용 (간단한 API)
별도의 인증 키 발급 없이 빠르게 실시간 환율 정보를 확인할 때 활용하는 엔드포인트입니다.
네이버 검색 API (CSEARCH)
- URL 예시:
https://m.search.naver.com/p/csearch/content/qapirender.nhn?key=calculator&pkid=141&q=%ED%99%98%EC%9C%A8&where=m&u1=keb&u6=standardUnit&u7=0&u3=USD&u4=KRW&u8=down&u2=1 - 특징: 네이버 모바일 환율 계산기 검색 결과를 만드는 내부 API 구조입니다.
- 단점: 파라미터가 복잡하며, 네이버의 내부 업데이트 시 응답 포맷이 달라질 수 있습니다.
2. 과거 날짜별 환율 조회 (국내 은행 및 금융기관)
과거 특정 일자의 원화(KRW) 기준 환율 데이터가 필요한 경우 활용할 수 있는 엔드포인트 및 스크래핑 출처입니다.
① 네이버 금융 일별 시세 (HTML 스크래핑)
- URL 예시:
https://finance.naver.com/marketindex/exchangeDailyQuote.nhn?marketindexCd=FX_USDKRW - 특징: 일자별 환율 목록이 HTML 테이블 형태로 제공됩니다.
- 활용: Python BeautifulSoup 같은 파싱 라이브러리로 스크래핑해서 일자별 데이터베이스를 구축할 때 용이합니다.
② 국민은행 고시회차 조회
- URL 예시:
https://obank.kbstar.com/quics?chgCompId=b101827&baseCompId=b101827&page=C101423&cc=b101827:b101827&조회년월일=20240104&등록회차=00000&monyCd=&selDate=20240104&strFocusBtn=&조회날짜기준=&고시회차기준=1&통화선택기준=1&btnClick=Y&searchDate=20240104&고시회차선택=1 - 특징:
searchDate및selDate파라미터에 원하는 날짜(YYYYMMDD)를 지정하면 해당 일자의 국민은행 고시 환율을 불러옵니다.
③ 하나은행 Ajax 환율 조회
- URL 예시:
https://www.hanabank.com/cms/rate/wpfxd651_01i_01.do?ajax=true&curCd=USD&tmpInqStrDt=2024-01-04&pbldDvCd=0&pbldSqn=&hid_key_data=&inqStrDt=20240104&inqKindCd=1&hid_enc_data=&requestTarget=searchContentDiv - 특징:
inqStrDt파라미터 값 변경을 통해 일자별 데이터를 가져옵니다. Ajax 요청 방식이라 응답 데이터를 분석하기가 용이합니다.
④ SMBS (중소기업자간경쟁제품 종합정보시스템)
- URL 예시:
http://www.smbs.biz/Flash/TodayExRate_flash.jsp?tr_date=2024-01-04 - 특징:
tr_date파라미터(YYYY-MM-DD)를 전달하여 과거 환율을 조회합니다. 표준 JSON 구조는 아니지만 단순 문자열 형태로 응답이 와서 파싱하기 편합니다.
3. 해외 오픈 API
Fixer.io
- 웹사이트: https://fixer.io/
- 장점: 데이터 구조가 깔끔하고 인터페이스가 안정적인 글로벌 서비스입니다.
- 주의사항: 기본 기준 통화(Base Currency)가 원화(KRW)가 아닌 경우가 많아, 원화 기준으로 산출 시 교차 계산(2차 계산)이 필요합니다. 또한 장 마감 기준 시차가 존재하여 국내 거래 환율 변동과 약간의 차이가 날 수 있습니다.
한눈에 보는 비교 요약
| 구분 | 추천 출처 | 과거 날짜 조회 | 응답 포맷 | 특징 |
|---|---|---|---|---|
| 실시간 | 네이버 검색 API | 불가 | JSON | 모바일 계산기용 데이터 |
| 과거 날짜(국내) | 하나은행 / 국민은행 | 가능 | HTML / Ajax | YYYYMMDD 날짜 파라미터 활용 |
| 과거 날짜(간이) | SMBS Flash | 가능 | Text | 단순 문자열 파싱 용이 |
| 글로벌 API | Fixer.io | 가능 | JSON | 원화 계산 시 교차 환율 적용 필요 |
💡 요약 및 추천 사용법
- 실시간 환율 노출: 네이버 검색 엔드포인트를 간단히 활용하거나 실시간용 파서 작성.
- 과거 일별 히스토리 데이터: 하나은행/국민은행 엔드포인트나 네이버 금융 일별 시세 스크래핑 방식을 추천합니다.