REST API 레퍼런스
FundaFX REST API를 사용하면 AI가 수집·검증한 경제 팩트, 지표 데이터, 캘린더, 중앙은행 정보에 액세스할 수 있습니다. 모든 응답은 JSON 형식입니다.
30초 만에 시작하기
API 키를 받아 복사·붙여넣기만 하면 바로 데이터를 가져올 수 있습니다.
API 키 받기
FundaFX 모바일 앱의 설정 > API 키 관리에서 발급해 주세요. fndx_로 시작하는 키가 표시됩니다. 이 키가 당신의 인증 정보입니다.
아래를 복사·붙여넣고 실행
YOUR_KEY 부분을 1단계에서 받은 키로 교체해 주세요.
curl -s "https://api.fundafx.link/api/v1/facts?limit=3&importance=high" \
-H "X-API-Key: YOUR_KEY" | python3 -m json.tool
응답 읽는 법
성공하면 아래와 같은 JSON이 반환됩니다. items 배열에 팩트(경제 뉴스)가 들어 있습니다.
{
"items": [
{
"id": "6615a7ca-b2df-47c8-b038-c08bf260505a", // 팩트의 고유 ID (UUID)
"fact_type": "media_report", // 종류: institutional_release / official_speech / media_report
"category": "geopolitical", // 카테고리: monetary_policy / inflation / employment 등
"importance": "high", // 중요도: high / medium / low
"text": {
"en": {
"title": "Global markets to stay driven by West Asia conflict; Fed neutral guidance reflects uncertainty",
"summary": "The Afghanistannews.net report states that global markets will remain driven by the West Asia conflict...",
"detail": null, // 상세 설명 (있는 경우만)
"quality_score": null // 텍스트 품질 점수 0.0-1.0
},
"ja": {
"title": "西アジア情勢が世界市場を引き続き動かす;FRBの中立的指針は不確実性を反映",
"summary": "アフガニスタンニュースの報道によれば、西アジア情勢が世界市場を引き続き動かし...",
"detail": null,
"quality_score": null
}
},
"currencies_affected": [ // 이 팩트가 영향을 주는 통화
{ "code": "USD" }
],
"verification_details": { // AI에 의한 팩트체크 결과
"sources_checked": 2, // 확인한 소스 수
"sources_confirmed": 1, // 확인된 소스 수
"confidence_score": 0.662, // 신뢰도 점수 (0.0-1.0)
"verified_at": "2026-03-21T05:30:36.860963",
"notes": "Rule check: No numeric value to rule-check; deferring to LLM. | Original article title and content match..."
},
"source_urls": ["http://www.afghanistannews.net/news/278934978/..."],
"source_name": "gdelt", // 데이터 소스 이름
"source_collector": "gdelt", // 수집 파이프라인 이름
"event_timestamp": "2026-03-21T04:15:00+00:00" // 이벤트 발생 일시
}
],
"count": 35, // 필터 조건에 일치하는 총 건수
"limit": 3, // 이번 요청의 가져오기 상한
"offset": 0, // 페이지네이션 오프셋
"disclaimer": { // 면책 사항 (모든 응답에 부여)
"en": "This information is AI-aggregated factual data and does not constitute investment advice...",
"ja": "本情報はAIによる事実情報の収集・構造化データであり、投資助言ではありません..."
}
}
인증
모든 API 엔드포인트는 인증이 필요합니다 (일부 공개 엔드포인트 제외).
API 키 구조
1. 발급 방법: FundaFX 모바일 앱의 설정 > API 키 관리에서 발급할 수 있습니다.
2. 키 형식: fndx_로 시작하는 문자열입니다. 서버 측에서는 SHA256 해시로 저장되며, 키 원문은 발급 시 한 번만 표시됩니다. 분실한 경우 재발급해 주세요.
3. 요청 방법: 요청 헤더에 X-API-Key를 설정합니다.
4. 월간 리셋: 요청 횟수 카운터는 매월 1일에 리셋됩니다.
curl https://api.fundafx.link/api/v1/facts \
-H "X-API-Key: fndx_your_api_key_here"
레이트 리밋
API 키 등급에 따라 요청 수가 제한됩니다.
| 등급 | 제한 | 가격 |
|---|---|---|
| Free | 100 요청 / 월 | 무료 |
| Pro | 5,000 요청 / 월 | $4.99 / 월 |
현재 사용량은 GET /auth/usage로 확인할 수 있습니다. 제한 초과 시 429 Too Many Requests가 반환됩니다.
응답 헤더
모든 인증 완료 요청의 응답에 다음 헤더가 부여됩니다.
| 헤더 | 설명 | 예 |
|---|---|---|
X-RateLimit-Limit | 월간 요청 상한 | 100 |
X-RateLimit-Remaining | 이번 달 남은 요청 수 | 77 |
X-RateLimit-Reset | 카운터 리셋까지 남은 초 수 | 1728000 |
SDK 예제
Python·JavaScript에서 복사·붙여넣기만으로 동작하는 완전한 코드 예제입니다.
import requests API_KEY = "fndx_your_api_key_here" # 본인의 키로 교체 BASE = "https://api.fundafx.link/api/v1" HEADERS = {"X-API-Key": API_KEY} # --- 1. USD 관련 고중요도 팩트 가져오기 --- resp = requests.get( f"{BASE}/facts", headers=HEADERS, params={"currency": "USD", "importance": "high", "limit": 5}, ) facts = resp.json() print(f"USD 관련 중요 팩트: {facts['count']}건") for item in facts["items"]: title = item["text"]["ja"]["title"] score = item["verification_details"]["confidence_score"] print(f" [{score:.2f}] {title}") # --- 2. FED의 현재 금리 --- fed = requests.get(f"{BASE}/central-banks/FED", headers=HEADERS).json() print(f"\nFED 정책금리: {fed['current_rate']}%") print(f"다음 FOMC: {fed['next_meeting_date']}") # --- 3. EURUSD 환율 (최근 3일) --- rates = requests.get( f"{BASE}/exchange-rates/EURUSD", headers=HEADERS, params={"days": 3}, ).json() for v in rates["values"][:3]: print(f" {v['date']} | EURUSD = {v['close']}")
const API_KEY = "fndx_your_api_key_here"; // 본인의 키로 교체 const BASE = "https://api.fundafx.link/api/v1"; const headers = { "X-API-Key": API_KEY }; // --- 1. USD 관련 고중요도 팩트 가져오기 --- const factsRes = await fetch( `${BASE}/facts?currency=USD&importance=high&limit=5`, { headers } ); const facts = await factsRes.json(); console.log(`USD 관련 중요 팩트: ${facts.count}건`); facts.items.forEach(item => { const title = item.text.ja.title; const score = item.verification_details.confidence_score; console.log(` [${score?.toFixed(2)}] ${title}`); }); // --- 2. FED의 현재 금리 --- const fed = await fetch(`${BASE}/central-banks/FED`, { headers }).then(r => r.json()); console.log(`\nFED 정책금리: ${fed.current_rate}%`); console.log(`다음 FOMC: ${fed.next_meeting_date}`); // --- 3. EURUSD 환율 (최근 3일) --- const rates = await fetch( `${BASE}/exchange-rates/EURUSD?days=3`, { headers } ).then(r => r.json()); rates.values.slice(0, 3).forEach(v => { console.log(` ${v.date} | EURUSD = ${v.close}`); });
엔드포인트 목록
Auth
API 키의 사용량 확인. 남은 요청 수를 확인하고 레이트 리밋을 관리할 수 있습니다.
현재 API 키의 레이트 리밋 사용 상황을 반환합니다. 월간 남은 요청 수와 사용 등급을 확인할 수 있습니다.
활용 예: 남은 요청 수 확인
애플리케이션 시작 시나 배치 처리 전에 남은 요청 수를 확인한 후 데이터를 가져오는 것을 권장합니다.
curl -s https://api.fundafx.link/api/v1/auth/usage \
-H "X-API-Key: YOUR_KEY"
{
"api_key_id": 1, // API 키의 내부 ID
"requests_this_month": 0, // 이번 달 요청 수
"rate_limit_per_month": 100, // 월간 상한 (Free: 100, Pro: 5000)
"tier": "free" // 등급: "free" 또는 "pro"
}
Facts
외환시장에 영향을 주는 펀더멘털 팩트(경제지표 발표, 통화정책 결정, 주요 인사 발언, 보도 등). AI 파이프라인으로 수집·검증·번역된 데이터입니다.
팩트 목록을 가져옵니다. 필터 조건으로 좁힐 수 있습니다. 이벤트 최신순으로 정렬됩니다.
Query Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| fact_type | string | 팩트 종류: institutional_release(공식 기관 발표), official_speech(주요 인사 발언), media_report(보도) |
| category | string | 카테고리: monetary_policy, employment, inflation, gdp_growth, fiscal_policy, geopolitical 등 |
| currency | string | 영향받는 통화 코드: USD, EUR, JPY, GBP, AUD, CAD, CHF, NZD, CNY |
| importance | string | 중요도: high, medium, low |
| source_collector | string | 수집 출처: ecb, cb_rss, gdelt, twitter, news_rss, frb_rss 등 |
| date_from | datetime | 시작 일시 (ISO 8601) 예: 2026-03-01T00:00:00Z |
| date_to | datetime | 종료 일시 (ISO 8601) |
| limit | int | 가져올 건수 (1-200, 기본값 50) |
| offset | int | 페이지네이션 오프셋 (기본값 0) |
활용 예: 최근 1주일간 USD 관련 고중요도 뉴스 가져오기
curl -s "https://api.fundafx.link/api/v1/facts?currency=USD&importance=high&limit=5&date_from=2026-03-15T00:00:00Z" \
-H "X-API-Key: YOUR_KEY"
{
"items": [
{
"id": "6615a7ca-b2df-47c8-b038-c08bf260505a",
"fact_type": "media_report",
"category": "geopolitical",
"importance": "high",
"stage": "published",
"text": {
"en": {
"title": "Global markets to stay driven by West Asia conflict; Fed neutral guidance reflects uncertainty",
"summary": "The Afghanistannews.net report states that global markets will remain driven by the West Asia conflict, and that Federal Reserve neutral guidance reflects uncertainty.",
"detail": null,
"quality_score": null
},
"ja": {
"title": "西アジア情勢が世界市場を引き続き動かす;FRBの中立的指針は不確実性を反映",
"summary": "アフガニスタンニュースの報道によれば、西アジア情勢が世界市場を引き続き動かし、連邦準備制度の中立的なガイダンスが不確実性を反映している。",
"detail": null,
"quality_score": null
}
},
"currencies_affected": [
{ "code": "USD" }
],
"context": {
"related_facts": [
{
"id": "2f9c4bd9-7e5f-4243-b97e-9253b0fe31b6",
"title": "Bureau of Labor Statistics posted about employment data on X",
"fact_type": "institutional_release",
"event_timestamp": "2026-03-20T14:08:02+00:00"
}
],
"currency_context": {
"USD": {
"dominant_category": "gdp_growth",
"recent_fact_count": 32
}
}
},
"verification_details": {
"sources_checked": 2,
"sources_confirmed": 1,
"confidence_score": 0.662,
"verified_at": "2026-03-21T05:30:36.860963",
"notes": "Rule check: No numeric value to rule-check; deferring to LLM..."
},
"source_urls": ["http://www.afghanistannews.net/news/278934978/..."],
"source_name": "gdelt",
"source_collector": "gdelt",
"event_timestamp": "2026-03-21T04:15:00+00:00",
"created_at": "2026-03-20T20:30:42.740844+00:00",
"updated_at": "2026-03-20T20:30:42.740844+00:00",
"published_at": "2026-03-20T20:30:42.740844+00:00"
}
],
"count": 35,
"limit": 5,
"offset": 0,
"disclaimer": {
"en": "This information is AI-aggregated factual data and does not constitute investment advice. Past statistics do not guarantee future results. All investment decisions are made at your own risk and responsibility.",
"ja": "本情報はAIによる事実情報の収集・構造化データであり、投資助言ではありません。過去の統計は将来の結果を保証するものではなく、最終的な投資判断は必ずご自身の責任で行ってください。"
}
}
응답 필드 상세
text
언어별 로컬라이즈된 텍스트. 키는 언어 코드(en = 영어, ja = 일본어).
| 필드 | 타입 | 설명 |
|---|---|---|
| title | string | 짧은 헤드라인 (1줄) |
| summary | string | 요약문 (1-3문장) |
| detail | string | null | 상세 설명 (있는 경우만) |
| quality_score | float | null | 텍스트 품질 점수 (0.0-1.0, AI 자동 평가) |
currencies_affected
이 팩트가 영향을 주는 통화의 배열.
| 필드 | 타입 | 설명 |
|---|---|---|
| code | string | ISO 통화 코드: USD, EUR, JPY, GBP, AUD, CAD, CHF, NZD, CNY |
verification_details
AI 파이프라인에 의한 팩트체크 결과.
| 필드 | 타입 | 설명 |
|---|---|---|
| sources_checked | int | 검증을 위해 확인된 소스 수 |
| sources_confirmed | int | 내용을 확인할 수 있었던 소스 수 |
| confidence_score | float | 신뢰도 점수 (0.0-1.0) |
| verified_at | datetime | null | 검증 완료 일시 (ISO 8601) |
| notes | string | null | 검증 시의 보충 메모 (AI 생성) |
context
팩트의 문맥 정보. 관련 팩트와 통화의 최근 상황을 제공합니다.
| 필드 | 타입 | 설명 |
|---|---|---|
| related_facts | array | null | 관련 팩트 목록 (id, title, fact_type, event_timestamp) |
| currency_context | object | null | 통화별 개황 (dominant_category, recent_fact_count) |
UUID로 팩트의 상세 정보를 가져옵니다. 응답 필드는 GET /facts의 각 항목과 동일합니다.
Path Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| fact_id | uuid 필수 | 팩트의 UUID (예: 6615a7ca-b2df-47c8-b038-c08bf260505a) |
curl -s "https://api.fundafx.link/api/v1/facts/6615a7ca-b2df-47c8-b038-c08bf260505a" \
-H "X-API-Key: YOUR_KEY"
Indicators
경제지표(GDP, CPI, 고용통계 등)의 메타데이터와 시계열 데이터.
경제지표 목록을 가져옵니다. 국가 코드·카테고리로 좁힐 수 있습니다.
Query Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| country_code | string | ISO 국가 코드: US, JP, DE, GB, AU 등 |
| category | string | 카테고리: inflation, employment, gdp_growth, monetary_policy 등 |
활용 예: 미국 경제지표 목록 가져오기
curl -s "https://api.fundafx.link/api/v1/indicators?country_code=US" \
-H "X-API-Key: YOUR_KEY"
{
"items": [
{
"id": 2,
"code": "US_CPI",
"name_en": "US Consumer Price Index",
"name_ja": "米国消費者物価指数",
"country_code": "US",
"currency": "USD",
"category": "inflation",
"importance": "high",
"unit": "Index",
"frequency": "monthly",
"source_api": "OECD",
"source_series_id": "CPIAUCSL",
"description": null
},
{
"id": 1,
"code": "US_GDP",
"name_en": "US Gross Domestic Product",
"name_ja": "米国GDP",
"country_code": "US",
"currency": "USD",
"category": "gdp_growth",
"importance": "high",
"unit": "Billions USD",
"frequency": "quarterly",
"source_api": "OECD",
"source_series_id": "GDP",
"description": null
},
{
"id": 3,
"code": "US_NFP",
"name_en": "US Nonfarm Payrolls",
"name_ja": "米国非農業部門雇用者数",
"country_code": "US",
"currency": "USD",
"category": "employment",
"importance": "high",
"unit": "Thousands",
"frequency": "monthly",
"source_api": "OECD",
"source_series_id": "PAYEMS",
"description": null
}
],
"count": 6,
"disclaimer": { "en": "...", "ja": "..." }
}
지표의 상세 메타데이터와 시계열 데이터(values 배열)를 가져옵니다.
Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| indicator_id | int 필수 | 지표 ID (path) — GET /indicators에서 받은 id를 지정 |
| limit | int | 시계열 데이터의 가져올 건수 (1-500, 기본값 50) |
활용 예: 미국 GDP의 상세 정보와 시계열 데이터 가져오기
curl -s "https://api.fundafx.link/api/v1/indicators/1" \
-H "X-API-Key: YOUR_KEY"
{
"id": 1,
"code": "US_GDP",
"name_en": "US Gross Domestic Product",
"name_ja": "米国GDP",
"country_code": "US",
"currency": "USD",
"category": "gdp_growth",
"importance": "high",
"unit": "Billions USD",
"frequency": "quarterly",
"source_api": "OECD",
"source_series_id": "GDP",
"description": null,
"values": [] // 시계열 데이터 (value, previous_value, expected_value, period, release_date)
}
지표의 최신값만 가져옵니다. 시계열 데이터가 필요 없고 최신값만 필요할 때 유용합니다.
정책금리 추이의 통합 데이터. 중앙은행 정보·지표값·관련 팩트를 일괄로 가져옵니다. 금리 차트 표시에 최적입니다.
Query Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| currencies | string | 통화 코드 (콤마 구분): USD,EUR,JPY |
| days | int | 조회 기간 (일수, 1-3650, 기본값 365) |
Central Banks
주요 8개 중앙은행의 정보(정책금리, 다음 회의, 총재 이름)와 금리차 매트릭스.
모든 활성 중앙은행을 반환합니다. 현재 정책금리·다음 회의일·총재 이름을 포함합니다.
curl -s "https://api.fundafx.link/api/v1/central-banks" \
-H "X-API-Key: YOUR_KEY"
{
"items": [
{
"id": 1,
"code": "FED",
"name_en": "Federal Reserve",
"name_ja": "米連邦準備制度理事会",
"country_code": "US",
"currency": "USD",
"institution_type": "central_bank",
"website_url": "https://www.federalreserve.gov",
"current_rate": 4.5,
"next_meeting_date": "2026-03-18",
"governor_name": "Jerome Powell",
"is_active": true,
"metadata": {}
},
{
"id": 2,
"code": "ECB",
"name_en": "European Central Bank",
"name_ja": "欧州中央銀行",
"country_code": "EU",
"currency": "EUR",
"current_rate": 3.15,
"next_meeting_date": "2026-03-06",
"governor_name": "Christine Lagarde"
},
{ "code": "BOJ", "name_ja": "日本銀行", "current_rate": 0.5, "governor_name": "Kazuo Ueda" },
{ "code": "BOE", "name_ja": "イングランド銀行", "current_rate": 4.5, "governor_name": "Andrew Bailey" },
{ "code": "RBA", "name_ja": "オーストラリア準備銀行", "current_rate": 4.1, "governor_name": "Michele Bullock" },
{ "code": "BOC", "name_ja": "カナダ銀行", "current_rate": 3.25, "governor_name": "Tiff Macklem" },
{ "code": "SNB", "name_ja": "スイス国立銀行", "current_rate": 0.5, "governor_name": "Martin Schlegel" },
{ "code": "RBNZ", "name_ja": "ニュージーランド準備銀行", "current_rate": 3.75, "governor_name": "Adrian Orr" }
],
"count": 8
}
모든 중앙은행 간의 금리차 매트릭스를 반환합니다. 캐리 트레이드 분석에 유용합니다. 셀 값 = 행 금리 - 열 금리 (%)로 표시됩니다.
{
"institutions": [
{ "code": "FED", "currency": "USD", "current_rate": 4.5 },
{ "code": "ECB", "currency": "EUR", "current_rate": 3.15 },
{ "code": "BOJ", "currency": "JPY", "current_rate": 0.5 }
],
"matrix": {
"FED": { "ECB": 1.35, "BOJ": 4.0, "BOE": 0.0, "RBA": 0.4 }, // FED 금리 - 상대 금리
"ECB": { "FED": -1.35, "BOJ": 2.65, "BOE": -1.35 },
"BOJ": { "FED": -4.0, "ECB": -2.65, "BOE": -4.0 }
}
}
코드 지정으로 중앙은행의 상세 정보를 가져옵니다.
Path Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| code | string 필수 | FED, ECB, BOJ, BOE, RBA, BOC, SNB, RBNZ |
활용 예: FED의 현재 금리와 다음 회의일
curl -s "https://api.fundafx.link/api/v1/central-banks/FED" \
-H "X-API-Key: YOUR_KEY"
{
"id": 1,
"code": "FED",
"name_en": "Federal Reserve",
"name_ja": "米連邦準備制度理事会",
"country_code": "US",
"currency": "USD",
"institution_type": "central_bank",
"website_url": "https://www.federalreserve.gov",
"current_rate": 4.5, // 현재 정책금리 (%)
"next_meeting_date": "2026-03-18", // 다음 회의일
"governor_name": "Jerome Powell", // 총재 이름
"is_active": true,
"metadata": {}
}
Exchange Rates
ECB 기준 일별 환율 시계열 데이터. EUR 기준 통화쌍만 지원합니다.
통화쌍의 일별 환율을 가져옵니다. EUR 기준 통화쌍만 지원(EURUSD, EURJPY, EURGBP 등). EUR 기준이 아닌 통화쌍(예: USDJPY)은 에러가 발생합니다.
Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| pair | string 필수 | 통화쌍 (path): EURUSD, EURJPY, EURGBP, EURAUD, EURCAD, EURCHF, EURNZD |
| days | int | 조회 기간 (일수, 1-3650, 기본값 365) |
활용 예: 최근 3일간의 EURUSD 환율
curl -s "https://api.fundafx.link/api/v1/exchange-rates/EURUSD?days=3" \
-H "X-API-Key: YOUR_KEY"
{
"pair": "EURUSD",
"base_currency": "EUR",
"quote_currency": "USD",
"values": [
{ "date": "2026-03-19", "close": 1.1489 },
{ "date": "2026-03-18", "close": 1.15 },
{ "date": "2026-03-17", "close": 1.1531 }
],
"count": 3,
"disclaimer": {
"en": "This information is AI-aggregated factual data...",
"ja": "本情報はAIによる事実情報の収集・構造化データであり..."
}
}
EUR 기준이 아닌 통화쌍은 에러가 발생합니다
예를 들어 USDJPY를 지정한 경우:
{
"detail": "Exchange rate data not available for pair 'USDJPY'. Only EUR-based pairs are currently supported."
}
Sources
FundaFX가 수집하는 데이터 소스와 모니터링 계정 목록. 소스의 라이선스 정보도 확인할 수 있습니다.
모든 데이터 소스(ECB, FRB, e-Stat 등)와 모니터링 대상 X 계정 목록을 반환합니다.
curl -s "https://api.fundafx.link/api/v1/sources" \
-H "X-API-Key: YOUR_KEY"
{
"data_sources": [
{
"name": "ecb",
"display_name_en": "ECB Statistical Data",
"display_name_ja": "ECB統計データ",
"category": "central_bank",
"is_active": true,
"license": "Free use with attribution (Source: ECB statistics.)",
"url": "https://data.ecb.europa.eu"
},
{
"name": "estat",
"display_name_en": "e-Stat (Japan Statistics)",
"display_name_ja": "e-Stat(政府統計)",
"category": "government",
"is_active": true,
"license": "CC-BY 4.0",
"url": "https://www.e-stat.go.jp"
}
],
"monitoring_accounts": [
{ "username": "FederalReserve", "display_name": "Federal Reserve" }
]
}
에러 코드
모든 에러 응답은 JSON 형식으로 반환됩니다. detail 필드에 에러 내용이 기재됩니다.
| 코드 | 설명 | 해결 방법 |
|---|---|---|
400 |
요청 파라미터가 잘못됨 | 파라미터의 타입·값을 확인. 예: importance는 high/medium/low만 가능 |
401 |
API 키가 무효이거나 지정되지 않음 | X-API-Key 헤더를 확인. 분실한 경우 앱에서 재발급 |
404 |
리소스를 찾을 수 없음 | 지정한 ID나 코드의 존재를 확인 |
429 |
레이트 리밋 초과 | GET /auth/usage로 잔량 확인. Pro로 업그레이드하거나 다음 달까지 대기 |
500 |
서버 내부 에러 | 일시적 문제일 가능성. 잠시 후 재시도 |
에러 응답 예시
{
"detail": "Authentication required. Provide X-App-Token or X-API-Key header."
}
{
"detail": "Invalid or inactive API key"
}
{
"detail": "Exchange rate data not available for pair 'USDJPY'. Only EUR-based pairs are currently supported."
}