Free 플랜이 USD 전용에 부딪히면, Open Exchange Rates의 대안
Open Exchange Rates의 Free 플랜은 월 1,000회 요청을 제공하지만, 모든 요청이 USD로 가격이 매겨집니다. 월 $12 이상을 내기 전까지는 변환 엔드포인트도, 시계열도, 다른 기준 통화도 없습니다. 이것이 실제로 무엇을 대가로 치르게 하는지, 그리고 살펴볼 만한 네 곳을 소개합니다.
USD 기준 Free 플랜으로도 EUR/GBP나 다른 크로스 환율을 만들 수 있습니다. USD 환율을 가져와 하나를 다른 하나로 나누면 크로스 환율이 나옵니다. 실제로 작동합니다. 다만 이는 추적해야 할 요청 필드가 하나 더 늘고, 코드에 나눗셈이 하나 더 필요하며, 소수점 셋째 자리에서 누적되는 작은 반올림 오차가 생긴다는 뜻이기도 합니다 — 대부분의 인보이스 용도에서는 눈치채지 못하겠지만, 일부 대사(reconciliation) 작업에서는 문제가 됩니다.
Free 플랜이 멈추는 지점
Open Exchange Rates는 Free 등급 계정에 매시간 환율 갱신과 일별 과거 데이터를 포함해 월 1,000회 요청을 제공합니다. 함정은 모든 응답이 USD 기준으로 돌아오고, Free 플랜에서는 이를 바꿀 방법이 없다는 것입니다. base=EUR을 요청하면 엔드포인트에 따라 API가 이를 무시하거나 오류를 반환합니다.
Free 등급은 /convert와 시계열 호출도 완전히 제외합니다. 둘 다 유료 플랜에서만 열리며, 유료 플랜은 월 $12부터 시작해 base 매개변수는 물론 변환과 시계열까지, 추가 비용 없이 얼마든지 많은 기준 통화에 대해 즉시 풀어줍니다.
USD 기준 우회법, 솔직하게 말하면
Free 플랜에 묶여 있는데 EUR/GBP 환율이 필요하다면, 아직 돈을 낼 필요는 없습니다. 응답의 모든 통화는 USD 기준으로 고시되므로, EUR/GBP는 그냥 rates.GBP / rates.EUR입니다 — 원래 API가 대신 해줄 나눗셈을 직접 하는 것입니다.
감안해야 할 것이 두 가지 있습니다. 코드: USD가 아닌 모든 통화쌍마다 나눗셈 단계와 값이 없거나 0인 경우에 대한 방어 로직이 필요합니다. 반올림: 이미 반올림된 두 USD 고시가를 나누면 해당 기준 통화로 직접 가져온 환율에 비해 작은 누적 오차가 생깁니다 — 대시보드에서는 보이지 않지만, 소수점 넷째 자리까지 확인하는 대사 작업에서는 그렇지 않습니다.
/convert는 기준 통화처럼 깔끔하게 직접 만들어 대체할 방법이 없습니다. 시계열은 하루치마다 과거 데이터 엔드포인트를 반복 호출해야 한다는 뜻이라, 1,000회 요청 예산을 빠르게 소진시킵니다 — 기준 통화 벽보다 더 넘기 어려운 벽입니다.대신 살펴볼 네 곳
Frankfurter — 무료, 오픈소스, 키 불필요, ECB 전용
Frankfurter는 유럽중앙은행 참조 환율을 JSON API로 감싸고 있습니다. API 키도, 강제되는 할당량도 없으며 오픈소스입니다. 대가는 데이터입니다: ECB 환율은 영업일마다 한 번, 대략 16:00 CET에 발표되며 주말 데이터는 전혀 없습니다. 영업일의 하루 한 번 고시가로 충분하다면, Frankfurter는 비용도 가입도 필요 없습니다.
ExchangeRate-API 오픈 액세스 — 무료, 키 불필요, 하루 한 번 갱신
ExchangeRate-API는 open.er-api.com에서 진짜로 키가 필요 없는 엔드포인트를 운영합니다. 가입도, API 키도 필요 없습니다. Frankfurter와 같은 신선도 등급인 하루 한 번 갱신됩니다. 두 가지 조건이 붙습니다: 눈에 보이는 출처 표기(exchangerate-api.com으로 연결되는 "Rates By Exchange Rate API")와 원본 데이터 재배포 금지입니다. 다만 캐싱은 괜찮습니다. 한도를 초과하면 HTTP 429가 반환되며 20분 후 해제됩니다. 오픈 액세스보다 상위인 키 기반 Free 등급은 월 1,500회 요청을 제공합니다.
Fixer — 무료, 키 필요, EUR 전용, 100회 호출
Fixer는 Free 플랜에서도 키가 필요하며, 그 플랜은 EUR 기준으로만 작동합니다 — 다른 모든 기준 통화와 변환은 Basic 등급 이상에서만 열립니다. 할당량은 월 100회로, Open Exchange Rates보다 자릿수 하나만큼 더 빡빡합니다. Free 플랜에는 매시간 갱신, SSL, 전체 과거 데이터가 포함됩니다.
exchangerate.dev — 무료, 키 필요, 임의의 기준 통화, 장중 갱신
이곳의 Free 등급은 신용카드 없이 월 10,000회 호출, 분당 12회 요청으로 465개 통화쌍을 다룹니다. 어떤 등급에서도 기준 통화 제한이 없습니다 — EUR 기준과 USD 기준 모두 똑같이 무료입니다 — 그리고 1999년까지 거슬러 올라가는 전체 일별 과거 데이터가 무료로 포함됩니다. 주요 통화쌍은 거래일마다 약 60초 간격으로 갱신되며, 나머지는 ECB나 FRED의 일별 참조 환율이 뒷받침합니다. 빠른 평가를 위한 익명의 키 없는 호출도 가능하며, IP별로 상한이 있습니다.
작업에 맞는 플랜 고르기
월요일부터 금요일까지의 종가만 필요한 배치 작업에는 가입이 필요 없는 세 가지 무료 옵션이 있습니다: Frankfurter, ExchangeRate-API 오픈 액세스, 또는 위의 USD 우회법입니다. 토요일 환율이 필요하거나 base 매개변수가 그냥 작동해야 하는 프로젝트는 ECB 전용 소스를 넘어서 살펴봐야 합니다. 거래일 내내 실시간 가격을 고시하려면 장중에 갱신되는 소스가 필요합니다.
USD 기준 우회법은 영원히 피해 다녀야 할 버그가 아닙니다 — 오늘 바로 출시할 수 있는 나눗셈이며, 반올림이 실제로 문제가 될 때 다시 살펴보면 되는 것입니다.