금융 및 환율 데이터은(는) 무엇을 하나요?
키가 필요 없는 호출로 환율과 암호화폐 가격을 가져옵니다. 이 스킬이 방지하는 실수: 학습 메모리에서 exchangerate.host, Fixer, Alpha Vantage를 떠올려 사용하는 것(모두 현재 키가 필요함), 또는 학습 데이터의 오래된 환율을 실제 계산에 사용하는 것.
순위별 API
- Frankfurter (api.frankfurter.dev) - fiat FX의 기본값. 유럽 중앙은행(ECB) 기준 금리, 약 30개 주요 통화, 1999년 이후 과거 데이터, 시계열, 키 불필요, 걱정할 만한 속도 제한 없음.
- CoinGecko 무료 티어 (api.coingecko.com) - 수천 개 코인의 암호화폐 가격, 시가총액, 24시간 변동률. 키 불필요하지만 엄격한 제한 있음: 익명 IP에서 분당 약 5-15회 호출. 여러 id를 한 번의 호출로 배치 처리; 429 오류 발생 시 60초 대기.
절차
- fiat인가 암호화폐인가? Fiat → Frankfurter. 암호화폐 → CoinGecko. 암호화폐→fiat 변환은 CoinGecko 호출 한 번(
vs_currencies=eur)으로 처리, 두 번의 호출 필요 없음. - 날짜를 확인하세요. ECB 기준 금리는 영업일 기준 약 16:00 CET에 업데이트됨; 응답의
date필드가 실제로 받은 날짜를 알려줍니다. 주말/공휴일 요청은 이전 영업일의 데이터를 반환 - 그 날짜를 인용하고, 오늘 날짜인 것처럼 제시하지 마십시오. - CoinGecko id, ticker가 아닌 것을 사용하세요.
ids매개변수는bitcoin,ethereum,solana등이 필요하며, BTC/ETH가 아닙니다. 익숙하지 않은 코인의 경우/api/v3/search?query={name}→coins[0].id를 통해 한 번 확인하세요. - 절대 메모리에서 FX 계산을 하지 마세요. 작업이 금액에 환율을 곱하는 경우, 환율은 이들 호출 중 하나에서 가져와야 하며, 날짜가 첨부되어야 합니다.
누락된 정보(통화 쌍 또는 코인(기본값 없음), 날짜/범위(기본값: 최신), 금액(기본값: 1))가 있는 경우에만 사용자에게 물어보세요.
URL 템플릿 + 실제 응답 형식
최신 환율:
https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY
{"amount":1.0,"base":"USD","date":"<마지막 영업일>","rates":{"EUR":0.87352,"GBP":0.74878,"JPY":161.15}}
&amount=250을 사용하여 서버 측에서 금액을 변환하면 rates가 미리 곱해져 반환됩니다.
과거 데이터 / 시계열:
https://api.frankfurter.dev/v1/2024-01-15?base=USD&symbols=EUR ← 특정 날짜
https://api.frankfurter.dev/v1/2024-01-02..2024-01-31?base=USD&symbols=EUR ← 범위
https://api.frankfurter.dev/v1/currencies ← 코드 → 이름 매핑
범위 형식: {"rates":{"2024-01-02":{"EUR":0.91274},"2024-01-03":{"EUR":0.91583}}} - 날짜 키, 영업일만 포함(1년 전체 기준 약 256개의 일일 포인트; 주말 키는 없으므로 누락을 데이터 부재로 취급하지 마십시오). 종료 날짜를 생략(/2024-01-02..)하면 현재까지 조회됩니다.
암호화폐 현물 가격:
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true
{"bitcoin":{"usd":63289,"usd_24h_change":1.19},"ethereum":{"usd":1790.89,"usd_24h_change":1.90}}
알 수 없는 id는 응답에서 자동으로 제외됩니다 - 키가 없다는 것은 가격이 0이 아니라 잘못된 id를 의미합니다.
암호화폐 시장 테이블 (순위, 시가총액, 공급량):
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=20&page=1
{"id","symbol","name","current_price","market_cap","market_cap_rank","price_change_percentage_24h","circulating_supply","ath"} 배열 - 한 번의 호출로 스무 번의 /simple/price 호출을 대체합니다; 목록에는 이를 선호하세요.
산출물
해당 날짜/타임스탬프와 출처가 명시된 환율 또는 가격, 그리고 사용된 정확한 URL을 포함합니다. 모든 변환은 산술 연산을 보여줍니다: 250 USD × 0.87352 (ECB, <환율 날짜>) = 218.38 EUR.
사용하지 마십시오 - 대신 X를 사용하세요
- exchangerate.host - 모든 요청에 이제
access_key가 필요하며, 키리스 사용 불가가 확인됨. Frankfurter가 이를 대체합니다. - Fixer, Alpha Vantage, Finnhub, Polygon, OpenExchangeRates - 키 필요; Frankfurter/CoinGecko로 충분할 때 사용자에게 가입을 요청하지 마십시오.
- 주식/지분 시세 - 키리스로 검증을 통과하는 API가 없습니다. 솔직하게 말하고 유료 옵션을 언급하되 가격을 조작하지 마십시오.
- GDP, 인플레이션, 실업률, 무역 시계열 - government-open-data를 사용하세요.
- 재정 조언 - 이 스킬은 숫자를 가져옵니다; 매수/매도/할당 판단은 범위를 벗어납니다. 데이터를 제시하고, 추천은 하지 마십시오.
품질 기준
- 모든 숫자는 날짜와 출처를 포함합니다; 어떤 환율이나 가격도 학습 메모리에서 비롯되지 않습니다.
- Frankfurter의 약 30통화 제한이 존중됨 - 희귀 통화 쌍(예: NGN, VND)은 지원되지 않는다고 선언하고, 근사치를 사용하지 않습니다.
- CoinGecko 호출은 배치 처리됩니다; 429 오류 발생 시 재시도 루프 대신 백오프합니다.
public-apis 프로젝트(MIT 라이선스)에서 가져와 활성 상태를 확인했습니다.