Comparison/비교

2026년 무료 환율 API를 비교하는 방법

무료 FX 데이터 소스를 고르는 일은 가격만의 문제가 아닙니다. 할당량, 장중 신선도, 신선도 메타데이터, 이력 깊이, 변환 엔드포인트, 에이전트 지원까지 여섯 가지 차원이 중요합니다. 각각을 어떻게 따져봐야 하는지 설명합니다.

ERexchangerate.dev·Jun 19, 2026·6분 읽기

대부분의 무료 환율 API는 겉보기엔 비슷합니다: JSON, bearer 토큰, 통화 100개 정도. 실제 프로젝트에서 중요한 차이는 하루 고시가와 다음 고시가 사이, 한도를 넘었을 때의 오류 메시지, 새벽 3시에도 코드가 믿어야 하는 필드에서 드러납니다. 브랜드 순위가 아니라 차원별로 선택하세요.

Key points
무료 등급의 할당량은 제공업체마다 크게 다릅니다. exchangerate.dev는 카드 없이 월 10,000회, 분당 12회 요청을 제공합니다.
장중 신선도가 가장 뚜렷한 차별점입니다. ECB만 사용하는 소스는 영업일마다 고시가를 한 번만 발표합니다 — 16:00 CET 이후에도 시장은 계속 움직이지만 환율은 그대로입니다.
모든 응답의 sourcemarket_session은 시계를 보고 추측할 필요 없이 코드가 실제로 무엇을 보고 있는지 알려줍니다.
단일 날짜 경로 /v1/{date}/{base}로 1999년까지의 일별 이력을 이용할 수 있습니다.
내장된 /v1/convert 엔드포인트와 /v1/mcp의 MCP 서버 덕분에 흔한 작업에 필요한 연결 코드가 줄어듭니다.

순위보다 차원이 나은 이유

API 순위 목록은 작성자가 글을 쓴 날 어떤 것을 선호했는지 알려줄 뿐입니다. 차원별 분석은 어떤 것이 자신의 프로젝트에 맞는지 알려줍니다. 하루에 한 번 참조 데이터만 소비하는 대시보드는 하루 내내 가격을 제시하는 여행 앱과 필요한 것이 다릅니다.

아래 여섯 가지 차원은 거의 모든 FX 연동에서 나오는 질문을 다룹니다. 순서대로 검토하면 대부분의 프로젝트는 끝나기 전에 명확한 답을 얻습니다.

차원 1: 무료 월간 할당량과 요청 한도

할당량은 무료로 프로토타입을 만들고 소규모 프로덕션 워크로드를 운영할 수 있는지, 아니면 일주일 안에 한계에 부딪히는지를 결정합니다. 요청 한도는 배치 작업에서 처음부터 재시도 로직을 작성하지 않고도 호출을 몰아서 할 수 있는지를 결정합니다.

ECB는 기준환율을 무료로, 할당량 제한 없이 발표합니다. 다만 개발자용 API가 아니라 원시 XML 피드이며, 영업일마다 한 번만 갱신됩니다. 오픈소스 프로젝트 Frankfurter는 ECB 데이터를 키도 강제 할당량도 없는 JSON API로 감싸지만, 하루 한 번 갱신되는 주기는 그대로 물려받습니다.

이 둘과 별개로 알아둘 만한 세 번째 키 불필요 범주가 있습니다: fawazahmed0/exchange-api 같은 커뮤니티 유지 관리, CDN 호스팅 정적 JSON 프로젝트입니다. 요청에 응답하는 서버 자체가 없고, jsDelivr나 Cloudflare Pages에서 제공되는 버전 관리된 JSON 파일일 뿐입니다. 매일 갱신되며 CC0 퍼블릭 도메인 라이선스 아래 200개 이상의 통화(흔한 암호화폐 포함)를 다루고, 키도 강제 요청 한도도 없습니다. 다만 구조적인 트레이드오프가 있습니다: source나 신선도 메타데이터가 없고, 변환 엔드포인트도, 실시간 장중 갱신도 없으며, 미러가 다운되었을 때 책임지는 단일 주체도 없습니다 — 바로 이 이유로 프로젝트 자체 문서도 두 CDN 호스트 사이에 폴백을 구성하라고 권장합니다.

키 없이 시작하는 지점으로, exchangerate.dev는 IP 주소별로 상한이 있는 익명 호출을 허용합니다. 카드 없이 /signup에서 받을 수 있는 무료 키는 이를 월 10,000회, 분당 12회 요청으로 올려줍니다.

결정하기 전에 호출 수를 계산하세요
페이지 로드마다 환율을 가져오는 페이지는 월 10,000회 방문에서 10,000회 호출을 소비합니다. 5분마다 통화쌍 20개를 개별적으로 확인하는 크론 작업은 하루 5,760회를 호출합니다. 이 통화쌍들을 하나의 symbols 요청으로 묶으면 288회로 줄어듭니다. 등급을 고르기 전에 자신의 숫자를 알아두세요.

차원 2: 장중 신선도

대부분의 개발자가 문제가 생기기 전까지는 생각하지 않는 차원입니다. ECB 기준환율은 영업일마다 약 16:00 CET에 발표됩니다 — 그 이후에도 시장은 계속 움직이지만 고시가는 다음 영업일까지 갱신되지 않습니다. 이 고시가만 소스로 삼는 API는 남은 오후 내내, 밤새, 그리고 주말 내내 전날 환율을 반환합니다.

하루에 한 번 마감 환율만 소비하는 파이프라인이라면 문제없습니다. 소비자 대상 앱, 이커머스 사이트, 또는 "최신"이 현재 시장을 의미하기를 기대하는 코드라면, 환율이 장중 움직임을 반영하는지 아니면 최대 24시간 전 고시가인지 알아야 합니다.

exchangerate.dev에는 거래 주간 내내 약 60초마다 갱신되는 live 소스가 있습니다. 통화쌍이 이 소스에서 나오면, market_session이 현재 세션 상태(open, weekend 등)를 알려주고 data_updated_at이 환율이 마지막으로 움직인 정확한 시점을 확인해줍니다.

차원 3: 신선도 메타데이터

환율은 숫자입니다. 그 숫자가 3분 전 현물 집계값인지 어제 아침 기준환율인지 아는 것에 따라 그 값을 책임감 있게 다룰 수 있는 방법이 달라집니다.

대부분의 API는 타임스탬프를 반환합니다. 이는 응답이 생성된 시점을 알려줄 뿐, 원본 데이터가 마지막으로 움직인 시점은 알려주지 않습니다. exchangerate.dev는 함께 보면 진짜 질문에 답이 되는 두 필드를 반환합니다:

  • source: live(집계된 현물), ecb_daily(ECB 기준환율), fred_daily(연준 일일 시계열) 중 하나입니다.
  • market_session: open, weekend, interbank_closed 중 하나이며, 은행 간 거래 주간의 상태를 알려줍니다.
  • data_updated_at: 원본 환율이 마지막으로 기록된 시점이며, 응답이 생성된 시점인 timestamp와는 별개입니다.
  • is_forward_filled: 이력과 범위 응답에서 true이면 그날 발표된 환율이 없어 이전 값이 이월되었다는 뜻입니다.

timestamp 대신 data_updated_at을 확인하는 캐싱 레이어는 사용자에게 오래된 데이터를 제공하는 것도, 불필요한 업스트림 호출도 피할 수 있습니다.

차원 4: 이력 깊이

일별 이력은 데이터셋을 소급 채울 수 있는지, 지난 1년의 차트를 만들 수 있는지, 10년치 환율로 회귀분석을 할 수 있는지를 결정합니다. 일부 무료 API는 이력을 90일로 제한합니다. 더 깊은 이력을 유료 등급 뒤에 가둬두는 곳도 있습니다.

exchangerate.dev는 무료 등급에서도 1999년까지의 일별 이력을 노출합니다. 단일 날짜 경로 /v1/2024-01-15/USD는 그날의 환율을 반환합니다. start_dateend_date 매개변수를 쓰는 /v1/range 엔드포인트는 한 번의 호출로 전체 시계열을 반환합니다. 이 과거 기록의 기반은 ECB EXR 시계열과 FRED 데이터이므로, 커버리지는 해당 기관들이 발표한 범위와 일치합니다.

차원 5: 내장 변환 엔드포인트

많은 API는 환율표만 반환하고 곱셈은 사용자에게 맡깁니다. 통화쌍 하나라면 괜찮지만, 배치 변환 작업이나 장바구니 합계를 변환하는 결제 흐름에는 수학 헬퍼가 아니라 변환 기본 기능이 필요합니다.

GET /v1/convert/USD/EUR/100은 한 번의 호출로 rate, converted, derived를 반환합니다. POST /v1/convert 엔드포인트는 하나의 요청으로 배치 변환을 처리합니다. 서로 직접 고시되지 않는 통화쌍인 삼각 교차환율도 서버 측에서 처리됩니다.

차원 6: 에이전트와 MCP 지원

LLM 에이전트와 AI 어시스턴트는 API를 안정적으로 호출하려면 구조화된 도구 정의가 필요합니다. 원시 REST API는 이 연결 코드를 직접 작성해야 하지만, MCP 서버는 도구 정의를 API와 함께 제공합니다.

exchangerate.dev는 https://api.exchangerate.dev/v1/mcp(서버 이름 exchangerate-dev)에서 Model Context Protocol 서버를 운영합니다. 다섯 가지 도구를 제공합니다: list_currencies, get_rate, convert, get_range, search_docs(FAQ 검색). 도구는 REST API와 같은 월간 할당량과 분당 한도를 공유하므로 별도로 추적할 청구가 없습니다.

여섯 가지 차원 한눈에 비교

차원ECB / Frankfurter(오픈소스)exchangerate.dev(무료 등급)
무료 월간 할당량강제 한도 없음(ECB 피드); Frankfurter는 계량 없음월 10,000회, 분당 12회
장중 신선도다음 영업일 고시(~16:00 CET)까지 이전 ECB 고시가 반환실시간 소스가 거래 주간 내내 ~60초마다 갱신
신선도 메타데이터타임스탬프뿐source, market_session, data_updated_at
이력 깊이ECB 이력 ~1999년까지(Frankfurter); 그 외에는 원시 XML/v1/{date}/{base}로 1999년까지 일별 이력
변환 엔드포인트제공되지 않음; 산술 계산은 호출자 책임/v1/convert/{from}/{to}/{amount} + 배치 POST
에이전트 / MCP 지원네이티브 MCP 서버 없음다섯 가지 도구를 갖춘 /v1/mcp의 MCP 서버
어느 경우든 환율은 인디케이티브 값입니다
출처가 ECB든 연준이든 실시간 집계든, 공개적으로 이용 가능한 모든 FX 환율은 분석과 표시를 위한 참조 수치입니다. 딜링 견적이 아니므로 거래 정산에 사용해서는 안 됩니다.

내게 맞는 선택 고르기

프로젝트에 하루 한 번 마감 환율만 필요하고, 신선도 메타데이터가 필요 없으며, 원시 ECB XML 피드를 가져오는 데 거부감이 없다면 Frankfurter가 무료로 많은 부분을 커버합니다. 잘 관리되는 오픈소스 프로젝트이며 합리적인 출발점입니다.

장중 신선도(ECB 고시 시점뿐 아니라 하루 내내 움직이는 환율)가 필요하거나, 응답에 sourcemarket_session을 원하거나, ECB 피드에서 쉽게 얻을 수 있는 범위를 넘는 이력이 필요하거나, FX 도구를 호출하는 LLM 에이전트를 만들고 있다면 exchangerate.dev가 그런 경우를 위해 설계되었습니다. 무료 등급은 카드가 필요 없고 MCP 서버도 포함되어 있습니다.

올바른 API는 기능 목록이 가장 긴 것이 아니라 한계가 자신의 사용 사례와 맞아떨어지는 것입니다.

ER
exchangerate.dev
개발자와 그들이 만드는 도구를 위한 인디케이티브 FX 환율.

Keep reading

Referencesource와 market_session 읽기Read GuideMCP로 LLM 에이전트에 실시간 FX 환율 제공하기Read
더 많은 비교Fixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
학습Reading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB 기준환율 설명
실시간 환율EUR/USDGBP/USDUSD/JPY