# 国际货币汇率

> 来源页面: https://www.gugudata.com/api/details/currencyexchange

## 概览

- API 标识: `currencyexchange`
- 分类: 金融/基础
- 描述: 支持多种货币对
- 标签: 每日精准汇率 / 多币种支持
- 短标签: 基础数据 / 货币
- 详情页: https://www.gugudata.com/api/details/currencyexchange
- LLM Markdown: https://www.gugudata.com/api/details/currencyexchange/llm.md
- 数据预览: https://www.gugudata.com/preview/currencyexchange
- 购买开通: https://www.gugudata.com/order/currencyexchange
- APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## 给大模型的接入指令

如果你正在帮助用户接入这个 API，请优先使用本文档中的接口地址、请求方式、请求参数、返回参数、状态码、cURL 示例和预览数据生成代码或排查问题。

- 接入目标: 调用 `国际货币汇率`，不要臆造未在文档中出现的参数或返回字段。
- AppKey 获取: 用户登录咕咕数据开发者中心后，在 `APP KEY 管理` 页面复制对应产品的 AppKey。
- AppKey 替换: 示例中的 `YOUR_APPKEY`、`APPKEY`、`{{YOUR_APPKEY}}`、`{{appkey}}`、`{{appKey}}` 都应替换为用户自己的 AppKey。
- AppKey 传递: 推荐使用 `X-GUGUDATA-APPKEY` 或 `X-API-Key` 请求头；OpenAI 兼容客户端可使用 `Authorization: Bearer <AppKey>`；历史示例中的 query 参数 `appkey` 继续有效。
- 开通与续费: 未开通时引导用户访问购买开通页；已开通或需要续费时，引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果，响应体内的业务状态码代表接口业务结果，代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中，由服务端统一发起请求，不要写入网页、App 客户端或公开仓库。

关键链接:

- 接口详情页: https://www.gugudata.com/api/details/currencyexchange
- LLM Markdown: https://www.gugudata.com/api/details/currencyexchange/llm.md
- 数据预览: https://www.gugudata.com/preview/currencyexchange
- 购买开通页: https://www.gugudata.com/order/currencyexchange
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## API 功能

- 支持多种货币汇率查询；
- 支持部分加密货币汇率查询；
- 数据为每日更新汇率数据；
- 可一次查询源货币代码对应所有目标货币汇率；
- 秒级查询性能，支持高并发；
- 全接口支持 HTTPS（TLS v1.0 / v1.1 / v1.2 / v1.3）；
- 全面兼容 Apple ATS；
- 全国多节点 CDN 部署；
- 接口极速响应，多台服务器构建 API 接口负载均衡。
- 接口调用状态与状态监控: https://www.gugudata.com/status

## API 文档

- 接口地址: `https://api.gugudata.com/v2/finance/currency-exchange`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `GET`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE`
- 接口测试: https://api.gugudata.com/v2/finance/currency-exchange/demo
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official/collection/1163860-ee114343-4622-4a54-a39b-994173c27dac/?action=share&creator=1163860&active-environment=1163860-a95b31ef-324f-43db-b2fc-faa41f45bd35
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json

## 鉴权方式

接口支持以下 AppKey 传递方式，任选一种即可；已有请求示例、Postman 集合和历史代码仍可继续使用原来的 `appkey` 参数方式。

| 位置 | 写法 | 说明 |
| --- | --- | --- |
| HTTP Header | `X-GUGUDATA-APPKEY: YOUR_APPKEY` | 推荐方式，适合服务端接入和统一封装。 |
| HTTP Header | `X-API-Key: YOUR_APPKEY` | 通用 API Key Header，便于和常见 API 客户端集成。 |
| HTTP Header | `Authorization: Bearer YOUR_APPKEY` | 适合 OpenAI 兼容接口或 Bearer Token 风格客户端。 |
| Query 参数 | `?appkey=YOUR_APPKEY` | 兼容现有示例、Postman 集合、浏览器调试和历史代码。 |

> 部分历史 POST 接口仍兼容表单或 JSON body 中的 `appkey`；新接入建议优先使用 Header 或 Query 参数。

## 请求参数

| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| appkey | string | 是 | YOUR_APPKEY | 付费后获取的 APPKEY。文档示例默认通过 Query 参数 appkey 传递；历史 Form 或 JSON body 中的 appkey 仍兼容。 |
| source | string | 是 | YOUR_VALUE | 源货币代码，例如：USD，支持的货币：$MYRO(myro) \| $WEN(wen) \| 00(00 token) \| 1000SATS(1000sats) \| 1INCH(1inch) \| AAVE(aave) \| ABT(arcblock) \| ACH(alchemy pay) \| ACS(acryptos) \| ADA(cardano) \| AED(emirati dirham) \| AERGO(aergo) \| AERO(aero coin) \| AFN(afghan afghani) \| AGIX(singularitynet) \| AGLD(adventure gold) \| AI(flourishing ai) \| AIOZ(aioz network) \| AKT(akash network) \| ALCX(alchemix) \| ALEPH(aleph.im) \| ALEX(alexandrite) \| ALGO(algorand) \| ALICE(my neighbor alice) \| ALL(albanian lek) \| ALPH(alephium) \| ALT(altcoin) \| ALUSD(alchemix usd) \| AMD(armenian dram) \| AMP(amp) \| ANG(dutch guilder) \| ANKR(ankr network) \| ANT(aragon) \| AOA(angolan kwanza) \| APE(apecoin) \| APEX(apexcoin) \| API3(api3) \| APT(aptos) \| AR(arweave) \| ARB(arbitrum) \| ARK(ark) \| ARKM(arkm) \| ARPA(arpa chain) \| ARS(argentine peso) \| ASM(assemble protocol) \| AST(airswap) \| ASTR(astar) \| ATA(automata network) \| ATOM(cosmos) \| ATS(austrian schilling) \| AUCTION(bounce token auction) \| AUD(australian dollar) \| AUDIO(audius) \| AURORA(aurora) \| AVAX(avalanche) \| AVT(aventus) \| AWG(aruban or dutch guilder) \| AXL(axelar) \| AXS(axie infinity) \| AZERO(aleph zero) \| AZM(azerbaijani manat) \| AZN(azerbaijan manat) \| BABYDOGE(babydoge eth) \| BADGER(badger dao) \| BAKE(bakerytoken) \| BAL(balancer) \| BAM(bosnian convertible mark) \| BAND(band protocol) \| BAT(basic attention token) \| BBD(barbadian or bajan dollar) \| BCH(bitcoin cash) \| BDT(bangladeshi taka) \| BDX(beldex) \| BEAM(beam) \| BEF(belgian franc) \| BGB(bitget token) \| BGN(bulgarian lev) \| BHD(bahraini dinar) \| BICO(biconomy) \| BIF(burundian franc) \| BIGTIME(bigtime) \| BIT(bitdao) \| BLD(bld) \| BLUR(blur) \| BLZ(bluzelle) \| BMD(bermudian dollar) \| BNB(binance coin) \| BND(bruneian dollar) \| BNT(bancor network) \| BOB(bolivian bolíviano) \| BOBA(boba network) \| BOND(barnbridge) \| BONK(bonk) \| BORA(bora) \| BORG(borg) \| BRL(brazilian real) \| BSD(bahamian dollar) \| BSV(bitcoin sv) \| BSW(biswap) \| BTC(bitcoin) \| BTC.B(btc.b) \| BTCB(bitcoin bep2) \| BTG(bitcoin gold) \| BTN(bhutanese ngultrum) \| BTRST(braintrust) \| BTT(bittorrent) \| BUSD(binance usd) \| BWP(botswana pula) \| BYN(belarusian ruble) \| BYR(belarusian ruble) \| BZD(belizean dollar) \| C98(coin98) \| CAD(canadian dollar) \| CAKE(pancakeswap) \| CANTO(canto) \| CBETH(coinbase wrapped staked eth) \| CDAI(compound dai) \| CDF(congolese franc) \| CDT(blox) \| CELO(celo) \| CELR(celer network) \| CETH(ceth) \| CFG(centrifuge) \| CFX(conflux) \| CGLD(celo gold) \| CHEEL(cheel) \| CHF(swiss franc) \| CHR(chromia) \| CHZ(chiliz) \| CKB(nervos network) \| CLP(chilean peso) \| CLV(clover finance) \| CNH(chinese yuan renminbi offshore) \| CNY(chinese yuan renminbi) \| COMAI(comai) \| COMP(compound) \| COP(colombian peso) \| CORE(core group asset) \| CORGIAI(corgiai) \| COTI(coti) \| COVAL(coval) \| CQT(covalent) \| CRC(costa rican colon) \| CRO(crypto.com chain) \| CRPT(crypterium) \| CRV(curve dao token) \| CSPR(casper) \| CTC(cartercoin) \| CTSI(cartesi) \| CTX(cryptex finance) \| CUC(cuban convertible peso) \| CUP(cuban peso) \| CVC(civic) \| CVE(cape verdean escudo) \| CVX(convex finance) \| CWBTC(cwbtc) \| CYP(cypriot pound) \| CZK(czech koruna) \| DAG(constellation) \| DAI(dai) \| DAO(dao maker) \| DAR(mines of dalarnia) \| DASH(digital cash) \| DCR(decred) \| DDX(derivaDAO) \| DEM(german deutsche mark) \| DESO(decentralized social) \| DEXE(dexe) \| DEXT(dextools) \| DFI(dfistarter) \| DIA(dia) \| DIMO(dimo) \| DJF(djiboutian franc) \| DKK(danish krone) \| DNT(district0x) \| DOGE(dogecoin) \| DOP(dominican peso) \| DORA(dora factory) \| DOT(polkadot) \| DREP(drep [new]) \| DYDX(dydx) \| DYM(dym) \| DYP(defi yield protocol) \| DZD(algerian dinar) \| EDU(educoin) \| EDUM(edum) \| EEK(estonian kroon) \| EGLD(elrond) \| EGP(egyptian pound) \| ELA(elastos) \| ELF(aelf) \| ELG(escoinToken) \| ENJ(enjin coin) \| ENS(ethereum name service) \| EOS(eos) \| ERN(eritrean nakfa) \| ESP(spanish peseta) \| ETB(ethiopian birr) \| ETC(ethereum classic) \| ETH(ethereum) \| ETH2(ethereum 2.0) \| ETHDYDX(ethdydx) \| ETHW(ethw) \| ETHX(ethx) \| EUR(euro) \| EUROC(euro coin) \| EVER(everLife.AI) \| FDUSD(fdusd) \| FEI(fei usd) \| FET(fetch.ai) \| FIDA(bonfida) \| FIL(filecoin) \| FIM(finnish markka) \| FIS(stafi) \| FJD(fijian dollar) \| FKP(falkland island pound) \| FLOKI(baby moon floki) \| FLOW(flow) \| FLR(flare) \| FLUX(datamine flux) \| FNSA(fnsa) \| FORT(forta) \| FORTH(ampleforth governance token) \| FOX(shapeshift fox token) \| FRAX(frax) \| FRF(french franc) \| FRXETH(frxeth) \| FTM(fantom) \| FTN(ftn) \| FTT(farmatrust) \| FX(function x) \| FXS(frax share) \| GAJ(gaj finance) \| GAL(project galaxy) \| GALA(gala) \| GAS(gas) \| GBP(british pound) \| GEL(georgian lari) \| GFI(goldfinch) \| GGP(guernsey pound) \| GHC(ghanaian cedi) \| GHS(ghanaian cedi) \| GHST(aavegotchi) \| GIP(gibraltar pound) \| GLM(golem) \| GLMR(moonbeam) \| GMD(gambian dalasi) \| GMT(stepn) \| GMX(goldmaxcoin) \| GNF(guinean franc) \| GNO(gnosis) \| GNS(gains network) \| GNT(greentrust) \| GODS(gods unchained) \| GRD(greek drachma) \| GRT(the graph) \| GST(green satoshi token) \| GT(gatetoken) \| GTC(gitcoin) \| GTQ(guatemalan quetzal) \| GUSD(gemini us dollar) \| GXC(gx coin) \| GYD(guyanese dollar) \| GYEN(gyen) \| HBAR(hedera) \| HBTC(huobi btc) \| HFT(hashflow) \| HIGH(highstreet) \| HKD(hong kong dollar) \| HNL(honduran lempira) \| HNT(helium) \| HONEY(honey) \| HOPR(hopr) \| HOT(hydro protocol) \| HRK(croatian kuna) \| HT(huobi token) \| HTG(haitian gourde) \| HUF(hungarian forint) \| ICP(internet computer) \| ICX(icon project) \| ID(trigid) \| IDEX(idex) \| IDR(indonesian rupiah) \| IEP(irish pound) \| ILS(israeli shekel) \| ILV(illuvium) \| IMP(isle of man pound) \| IMX(immutable x) \| INDEX(index cooperative) \| INJ(injective) \| INR(indian rupee) \| INV(inverse finance) \| IOST(ios token) \| IOTA(iota) \| IOTX(iotex) \| IQD(iraqi dinar) \| IRR(iranian rial) \| ISK(icelandic krona) \| ITL(italian lira) \| JASMY(jasmy) \| JEP(jersey pound) \| JMD(jamaican dollar) \| JOD(jordanian dinar) \| JOE(joe) \| JPY(japanese yen) \| JST(just) \| JTO(jto) \| JUP(jupiter) \| KAS(kas) \| KAVA(kava) \| KCS(kucoin) \| KDA(kadena) \| KEEP(keep network) \| KES(kenyan shilling) \| KGS(kyrgyzstani som) \| KHR(cambodian riel) \| KLAY(klaytn) \| KMF(comorian franc) \| KNC(kyber network crystals) \| KPW(north korean won) \| KRL(kryll) \| KRW(south korean won) \| KSM(kusama) \| KUB(bitkub coin) \| KUJI(kujira) \| KWD(kuwaiti dinar) \| KYD(caymanian dollar) \| KZT(kazakhstani tenge) \| LAK(lao kip) \| LBP(lebanese pound) \| LCX(lcx) \| LDO(lido dao token) \| LEO(leocoin) \| LINK(chainlink) \| LIT(litentry) \| LKR(sri lankan rupee) \| LOKA(league of kingdoms arena) \| LOOM(loom network) \| LPT(livepeer (lpt)) \| LQTY(liquity) \| LRC(loopring) \| LRD(liberian dollar) \| LSETH(liquid staked ethereum) \| LSK(lisk) \| LSL(basotho loti) \| LTC(litecoin) \| LTL(lithuanian litas) \| LUF(luxembourg franc) \| LUNA(terra) \| LUNC(lunc) \| LUSD(limited usd) \| LVL(latvian lat) \| LYD(libyan dinar) \| LYX(lyx) \| LYXE(lukso) \| MAD(moroccan dirham) \| MAGIC(magic) \| MANA(mana coin decentraland) \| MANTA(manta) \| MASK(mask network) \| MATH(math) \| MATIC(polygon) \| MAV(mav) \| MAVIA(mavia) \| MBX(mobiecoin) \| MCO2(moss carbon credit) \| MDL(moldovan leu) \| MDT(measurable data token) \| MEDIA(media network) \| MEME(pepe) \| METH(mirrored ether) \| METIS(metisDAO) \| MGA(malagasy ariary) \| MGF(malagasy franc) \| MINA(mina) \| MIR(mirror protocol) \| MKD(macedonian denar) \| MKR(maker) \| MKUSD(mkusd) \| MLN(enzyme) \| MMK(burmese kyat) \| MNDE(marinade) \| MNT(mongolian tughrik) \| MOBILE(mobile) \| MOG(mog) \| MONA(monavale) \| MOP(macau pataca) \| MOVR(moonriver) \| MPL(maple) \| MRO(mauritanian ouguiya) \| MRU(mauritanian ouguiya) \| MSOL(marinade staked sol) \| MTL(maltese lira) \| MUBI(mubi) \| MULTI(multichain) \| MUR(mauritian rupee) \| MUSE(muse) \| MVR(maldivian rufiyaa) \| MWK(malawian kwacha) \| MX(marsx) \| MXC(mxc) \| MXN(mexican peso) \| MXV(mxv) \| MYR(malaysian ringgit) \| MZM(mozambican metical) \| MZN(mozambican metical) \| NAD(namibian dollar) \| NCT(polyswarm) \| NEAR(near protocol) \| NEO(neo) \| NEON(neon) \| NEST(nest protocol) \| NEXO(nexo) \| NFT(nft) \| NGN(nigerian naira) \| NIO(nicaraguan cordoba) \| NKN(nkn) \| NLG(dutch guilder) \| NMR(numeraire network) \| NOK(norwegian krone) \| NOS(nos) \| NPR(nepalese rupee) \| NTRN(neutron) \| NU(nucypher) \| NXM(nxm) \| NZD(new zealand dollar) \| OAS(oas) \| OCEAN(ocean protocol) \| OGN(origin token) \| OHM(olympus v1) \| OKB(okex) \| OKT(oec token) \| OLAS(olas) \| OM(mantra dao) \| OMG(omisego) \| OMI(ecomi) \| OMR(omani rial) \| ONDO(ondo) \| ONE(menlo one) \| ONT(ontology) \| OOKI(ooki protocol) \| OP(optimism) \| ORCA(orca) \| ORDI(ordi) \| ORN(orion protocol) \| OSMO(osmosis) \| OX(betbox) \| OXT(orchid network) \| PAAL(paal) \| PAB(panamanian balboa) \| PANDORA(pandora) \| PAX(paxos standard token) \| PAXG(pax gold) \| PEN(peruvian sol) \| PENDLE(pendle) \| PEOPLE(constitutionDAO) \| PEPE(pepe) \| PERP(perpetual protocol) \| PGK(papua new guinean kina) \| PHP(philippine peso) \| PIXEL(pixelverse) \| PKR(pakistani rupee) \| PLA(playdapp) \| PLN(polish zloty) \| PLU(pluton) \| PNG(pangolin) \| POKT(pocket network) \| POLS(polkastarter) \| POLY(polymath) \| POLYX(polyx) \| POND(marlin) \| PORK(pork) \| PORTAL(portal) \| POWR(powerledger) \| PRIME(echelon prime) \| PRO(propy) \| PROM(prometeus) \| PRQ(parsiq) \| PTE(portuguese escudo) \| PUNDIX(pundi x (new)) \| PYG(paraguayan guarani) \| PYR(vulcan forged pyr) \| PYTH(pyth) \| PYUSD(pyusd) \| QAR(qatari riyal) \| QI(benqi) \| QNT(quant) \| QSP(quantstamp) \| QTUM(qtum) \| QUICK(quickswap) \| RAD(radicle) \| RAI(rai reflex index) \| RARE(superRare) \| RARI(rarible) \| RAY(raydium) \| RBN(ribbon finance) \| REN(renbtc) \| RENDER(render) \| REP(augur) \| REPV2(repv2) \| REQ(request) \| RETH(rocket pool eth) \| RGT(rari governance token) \| RIF(rif token) \| RLB(rlb) \| RLC(iexec rlc) \| RLY(rally) \| RNDR(render token) \| ROL(romanian leu) \| RON(romanian leu) \| ROSE(oasis network) \| RPL(rocket pool) \| RSD(serbian dinar) \| RUB(russian ruble) \| RUNE(thorchain (erc20)) \| RVN(ravencoin) \| RWF(rwandan franc) \| SAND(the sandbox) \| SAR(saudi arabian riyal) \| SATS(satoshi) \| SAVAX(savax) \| SBD(solomon islander dollar) \| SC(siacoin) \| SCR(seychellois rupee) \| SDD(sudanese dinar) \| SDG(sudanese pound) \| SEAM(seam) \| SEI(sei) \| SEK(swedish krona) \| SFP(safepal) \| SFRXETH(sfrxeth) \| SFUND(seedify.fund) \| SGB(subgame) \| SGD(singapore dollar) \| SHDW(genesysgo shadow) \| SHIB(shiba inu) \| SHP(saint helenian pound) \| SHPING(shping coin) \| SIT(slovenian tolar) \| SKK(slovak koruna) \| SKL(skale network) \| SLE(sierra leonean leone) \| SLL(sierra leonean leone) \| SLP(smooth love potion) \| SNT(status network) \| SNX(synthetix network) \| SOL(solana) \| SOS(somali shilling) \| SPA(sperax) \| SPELL(spell token) \| SPL(seborgan luigino) \| SRD(surinamese dollar) \| SRG(surinamese guilder) \| SSP(south sudanese pound) \| SSV(ssvcoin) \| STD(sao tomean dobra) \| STETH(lido steth) \| STG(stargate finance) \| STN(sao tomean dobra) \| STORJ(storj) \| STRAX(stratis) \| STRD(strd) \| STRK(strike) \| STSOL(lido for solana) \| STX(stacks) \| SUI(sui) \| SUKU(suku) \| SUPER(superfarm) \| SUSHI(sushiswap) \| SVC(salvadoran colon) \| SWETH(sweth) \| SWFTC(swftcoin) \| SXP(swipe) \| SYLO(sylo) \| SYN(synapse) \| SYP(syrian pound) \| SZL(swazi lilangeni) \| T(threshold) \| TAO(tao) \| TET(tet) \| TFUEL(theta fuel) \| THB(thai baht) \| THETA(theta) \| TIA(tianhe) \| TIME(chrono.tech) \| TJS(tajikistani somoni) \| TKX(token x) \| TMM(turkmenistani manat) \| TMT(turkmenistani manat) \| TND(tunisian dinar) \| TON(tokamak network) \| TONE(te-food) \| TOP(tongan pa'anga) \| TOPIA(topia) \| TOR(torcoin) \| TRAC(origintrail) \| TRB(tellor) \| TRIBE(tribe) \| TRL(turkish lira) \| TRU(truefi) \| TRUMP(trumpcoin) \| TRX(tron) \| TRY(turkish lira) \| TTD(trinidadian dollar) \| TTT(tap project) \| TUSD(true usd) \| TVD(tuvaluan dollar) \| TVK(terra virtua kolect) \| TWD(taiwan new dollar) \| TWT(trust wallet token) \| TZS(tanzanian shilling) \| UAH(ukrainian hryvnia) \| UGX(ugandan shilling) \| UMA(universal market access) \| UNFI(unifi protocol dao) \| UNI(uniswap) \| UOS(ultra) \| UPI(pawtocol) \| UQC(uquid coin) \| USD(us dollar) \| USDC(usdc) \| USDD(usdd) \| USDE(unitarystatus dollar) \| USDP(usdp stablecoin) \| USDT(tether) \| UST(terrausd) \| USTC(ustc) \| UYU(uruguayan peso) \| UZS(uzbekistani som) \| VAL(vatican city lira) \| VARA(vara) \| VEB(venezuelan bolívar) \| VED(ved) \| VEF(venezuelan bolívar) \| VELO(velo) \| VES(venezuelan bolívar) \| VET(vechain) \| VGX(voyager token) \| VND(vietnamese dong) \| VNST(vnst) \| VOXEL(voxies) \| VR(victoria vr) \| VTHO(vechainthor) \| VUV(ni-vanuatu vatu) \| WAMPL(wrapped ampleforth) \| WAVES(waves) \| WAXL(axelar) \| WAXP(wax) \| WBETH(wbeth) \| WBT(wbt) \| WBTC(wrapped bitcoin) \| WCFG(wrapped centrifuge) \| WEMIX(wemix) \| WRH(whrh) \| WIF(wif) \| WLD(wld) \| WLUNA(wrapped luna) \| WOO(woo network) \| WST(samoan tala) \| XAF(central african cfa franc beac) \| XAG(silver ounce) \| XAI(sapiencecoin) \| XAU(gold ounce) \| XAUT(tether gold) \| XBT(xbt) \| XCD(east caribbean dollar) \| XCH(chia) \| XCN(chain) \| XDC(xdc network) \| XDR(imf special drawing rights) \| XEC(eternal coin) \| XEM(nem) \| XLM(stellar lumen) \| XMON(xmon) \| XMR(monero) \| XOF(cfa franc) \| XPD(palladium ounce) \| XPF(cfp franc) \| XPT(platinum ounce) \| XRD(radix) \| XRP(ripple) \| XTZ(tezos) \| XVS(venus) \| XYO(xyo network) \| YER(yemeni rial) \| YFI(yearn finance) \| YFII(dfi.money) \| ZAR(south african rand) \| ZEC(zcash) \| ZEN(horizen) \| ZETA(zeta) \| ZIL(zilliqa) \| ZMK(zambian kwacha) \| ZMW(zambian kwacha) \| ZRX(zrx 0x) \| ZWD(zimbabwean dollar) \| ZWL(zimbabwean dollar) |
| target | string | 否 | YOUR_VALUE | 目标货币代码，例如：CNY，不传递则返回所有支持的货币对 |
| date | string | 否 | YOUR_VALUE | 固定某日的历史汇率，格式为 yyyy-mm-dd，如 2024-01-01，目前仅支持最近 2～3 天的历史数据，不传递则返回实时汇率。 |

## 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| dataStatus.statusCode | integer | 接口返回状态码 |
| dataStatus.statusDescription | string | 接口返回状态说明 |
| dataStatus.responseDateTime | string | 接口数据返回时间 |
| dataStatus.dataTotalCount | integer | 此条件下的总数据量，一般用于分页计算 |
| data.sourceCurrency | string | 源货币代码 |
| data.targetCurrency.sourceCurrency | string | 汇率结果：源货币代码 |
| data.targetCurrency.targetCurrency | string | 汇率结果：目标货币代码 |
| data.targetCurrency.exchangeRate | number | 汇率结果：汇率 |
| data.targetCurrency.lastUpdateTimestamp | string | 汇率结果：最后更新时间戳 |
| data.lastUpdateTimestamp | string | 最后更新时间戳 |

## 接口常见 HTTP 响应状态码

> 以下为接口调用中常见的 HTTP 传输层状态码，不等同于响应体内的业务状态码；完整状态码注册表以 IANA HTTP Status Code Registry 为准。

| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理；业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功，并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理，结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空，适用于无需返回数据的操作。 |
| 304 | 资源未变更 | 配合缓存或条件请求使用，表示可继续使用本地缓存。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证（如 AppKey）。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成，可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突，调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度，建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确，但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速，单 IP 最多 5 QPS，可满足常规业务调用。超出限制时接口会返回 429 请求频率受限；已购买接口订单可加购 10 QPS 扩展。 |
| 431 | 请求头过大 | 请求头字段过大或过多，建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常，请稍后重试。 |
| 502 | 网关或上游错误 | 网关或代理从上游服务收到异常响应。 |
| 503 | 服务暂时不可用 | 服务维护、容量保护或依赖异常导致暂时不可用，请稍后重试。 |
| 504 | 网关超时 | 网关等待上游服务响应超时，可稍后重试或降低请求复杂度。 |

## 接口自定义业务状态码

| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 正常返回 |  |
| 400 | 参数错误 |  |
| 429 | 请求频率受限 | 默认按来源 IP 限速，单 IP 最多 5 QPS，可满足常规业务调用。超出限制时接口会返回 429 请求频率受限；已购买接口订单可加购 10 QPS 扩展。 |
| 402 | APPKEY 错误 | 请检查传递的 APPKEY 是否为开发者中心获取到的值 |
| 403 | 账号欠费 | 请及时关注订单到期短信提醒 |
| 500 | 接口响应错误 |  |

## cURL 请求示例

```bash
curl --location --request GET 'https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE'
```

## 常见问题 Q&A

### Q: 数据请求有缓存吗？
A: 接口默认以实时响应为目标。对于日更、月更等具备明确更新周期的数据，会在数据周期内采用缓存与预热策略，以提升响应速度和稳定性；实时查询类接口则以接口说明中的更新频率为准。建议业务侧结合数据时效要求设置本地缓存与重试策略，避免高频重复请求。

### Q: 如何保证请求时 AppKey 的安全性？
A: 用户可以登录咕咕数据开发者中心，在 `APP KEY 管理` 页面复制对应产品的 AppKey；未开通接口时先进入当前接口的购买开通页，已开通或到期续费时进入开发者中心或订单与续费页。建议将 AppKey 保存在服务端环境中，由后端统一调用 API，再向前端或业务系统返回必要结果。不要把 AppKey 写入网页、App 客户端或公开仓库；生产环境建议按系统或业务线拆分 AppKey，并保留调用日志，便于权限控制、审计与问题排查。

### Q: 接口可以用于哪些开发语言？
A: 只要支持 HTTPS 请求的语言和框架均可接入，包括 Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等。推荐由后端统一封装调用逻辑，集中处理鉴权、缓存、限流、重试和错误码映射，让 Web、App、AI Agent、内部系统和自动化任务复用同一套数据能力。

### Q: 接口性能可以保证吗？
A: GuGuData API 按生产环境标准部署，持续关注接口稳定性、响应速度与可用性。实际响应时间会受接口类型、请求参数、数据源更新和网络环境影响；建议生产接入前进行联调与压测，并设置合理的超时、重试、降级和告警策略。批量处理或高并发场景可提前评估 QPS、白名单和专属容量方案。

## 服务协议以及服务免责声明

- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)

## 技术支持

- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7
