• API 功能
    • 支持多种货币汇率查询;
    • 支持部分加密货币汇率查询;
    • 数据为每日更新汇率数据;
    • 可一次查询源货币代码对应所有目标货币汇率;
    • 秒级查询性能,支持高并发;
    • 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3);
    • 全面兼容 Apple ATS;
    • 全国多节点 CDN 部署;
    • 接口极速响应,多台服务器构建 API 接口负载均衡。
    • 接口调用状态与状态监控
  • 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://www.gugudata.com/preview/currencyexchange

    接口测试: https://api.gugudata.com/v2/finance/currency-exchange/demo

    请求参数(GET 请求方式可参见下方示例代码)

    参数名 参数类型 是否必须 默认值 备注
    appkey string YOUR_APPKEY 付费后获取的 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 int 接口返回状态码
    dataStatus.statusDescription string 接口返回状态说明
    dataStatus.responseDateTime string 接口数据返回时间
    dataStatus.dataTotalCount int 此条件下的总数据量,一般用于分页计算
    data.sourceCurrency string 源货币代码
    data.targetCurrency.sourceCurrency string 汇率结果:源货币代码
    data.targetCurrency.targetCurrency string 汇率结果:目标货币代码
    data.targetCurrency.exchangeRate double 汇率结果:汇率
    data.targetCurrency.lastUpdateTimestamp string 汇率结果:最后更新时间戳
    data.lastUpdateTimestamp string 最后更新时间戳
  • 接口 HTTP 响应标准状态码
    状态码 状态码解释 备注
    200 接口正常响应 业务状态码参见下方 接口自定义状态码
    403 请求频率超限 CDN 层通过 IP 请求频率智能判断,一般的高频请求不会触发此状态码
  • 接口自定义状态码
    自定义状态码 自定义状态码解释 备注
    200 正常返回
    400 参数错误
    402 APPKEY 错误 请检查传递的 APPKEY 是否为开发者中心获取到的值
    403 账号欠费 请及时关注订单到期短信提醒
    429 请求频率受限 每秒请求不能超过 100 次
    500 接口响应错误
  • 代码请求示例
    curl --location --request GET 'https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE'
    CURL *curl;
    CURLcode res;
    curl = curl_easy_init();
    if(curl) {
      curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
      curl_easy_setopt(curl, CURLOPT_URL, "https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE");
      curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
      curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
      struct curl_slist *headers = NULL;
      curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
      res = curl_easy_perform(curl);
    }
    curl_easy_cleanup(curl);
    var requestOptions = {
      method: 'GET',
      redirect: 'follow'
    };
    fetch("https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE", requestOptions)
      .then(response => response.text())
      .then(result => console.log(result))
      .catch(error => console.log('error', error));
    var client = new RestClient("https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE");
    client.Timeout = -1;
    var request = new RestRequest(Method.GET);
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
    package main
    import (
      "fmt"
      "net/http"
      "io/ioutil"
    )
    func main() {
      url := "https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE"
      method := "GET"
      client := &http.Client {
      }
      req, err := http.NewRequest(method, url, nil)
      if err != nil {
        fmt.Println(err)
      }
      res, err := client.Do(req)
      defer res.Body.Close()
      body, err := ioutil.ReadAll(res.Body)
      fmt.Println(string(body))
    }
    OkHttpClient client = new OkHttpClient().newBuilder()
      .build();
    Request request = new Request.Builder()
      .url("https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE")
      .method("GET", null)
      .build();
    Response response = client.newCall(request).execute();
    var settings = {
      "url": "https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE",
      "method": "GET",
      "timeout": 0,
    };
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    #import <Foundation/Foundation.h>
    dispatch_semaphore_t sema = dispatch_semaphore_create(0);
    NSMutableURLRequest *request =
            [NSMutableURLRequest requestWithURL:[NSURL URLWithString:
            @"https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE"]
      cachePolicy:NSURLRequestUseProtocolCachePolicy
      timeoutInterval:10.0];
    [request setHTTPMethod:@"GET"];
    NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
      if (error) {
        NSLog(@"%@", error);
      } else {
        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
        NSError *parseError = nil;
        NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
        NSLog(@"%@",responseDictionary);
        dispatch_semaphore_signal(sema);
      }
    }];
    [dataTask resume];
    dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
    import requests
    url = "https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE"
    payload = {}
    headers= {}
    response = requests.request("GET", url, headers=headers, data = payload)
    print(response.text)
    require "uri"
    require "net/http"
    url = URI("https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE")
    https = Net::HTTP.new(url.host, url.port);
    https.use_ssl = true
    request = Net::HTTP::Get.new(url)
    response = https.request(request)
    puts response.read_body
    import Foundation
    var semaphore = DispatchSemaphore (value: 0)
    var request = URLRequest(url: URL(string:"https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE")!,timeoutInterval: Double.infinity)
    request.httpMethod = "GET"
    let task = URLSession.shared.dataTask(with: request) { data, response, error in
      guard let data = data else {
        print(String(describing: error))
        return
      }
      print(String(data: data, encoding: .utf8)!)
      semaphore.signal()
    }
    task.resume()
    semaphore.wait()
    /*!
     * GuGuData API Request Node.js Demo
     * 咕咕数据 API Node.js 请求 DEMO
     * 咕咕数据,专业的数据提供商,提供全面的数据接口 API,并提供专业全面的数据接口、商业数据分析。
     * 让数据成为您的生产原料。
     * https://www.gugudata.com
     */
    
    /* 咕咕数据 API 请求 DEMO ***开始***/
    // 导入相关类库
    var request = require("request");
    var querystring = require("querystring");
    var api_host = "https://api.gugudata.com";
    var api_path = "/v2/finance/currency-exchange"; // todo: 注意修改请求对应的 API 接口
    // todo: 注意修改构造请求参数
    var data = {
     appkey:'YOUR_APPKEY', source:'YOUR_VALUE', target:'YOUR_VALUE', date:'YOUR_VALUE'
    };
    var content = querystring.stringify(data);
    var options = {
        method: "GET",
        url: api_host + api_path + "?" + content,
        headers: {}
    };
    // 发送网络请求
    var requestGuGuData = request(options, (error, response) => {
        if (error) throw new Error(error);
        console.log("********接口响应返回 JSON 数据********");
        console.log(JSON.parse(response.body));
        requestGuGuData.end();
        console.log("********接口响应结束********");
    });
    /* 咕咕数据 API 请求 DEMO ***结束***/
    <?php
    $curl = curl_init();
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.gugudata.com/v2/finance/currency-exchange?appkey=YOUR_APPKEY&source=YOUR_VALUE&target=YOUR_VALUE&date=YOUR_VALUE",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
    ));
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;
  • 接口 SDK
    • 目前 SDK Alpha 版本部分商业用户内测中,建议开发者直接通过上面的请求 RESTful API 方式进行更加灵活、方便地调用。

  • 常见问题 Q&A
    • Q: 数据请求有缓存吗?

      A: 我们为所有数据请求提供实时响应。对于定期更新的数据,我们在其更新周期内实施缓存策略,以优化性能。

    • Q: 如何保证请求时 key 的安全性?

      A: 我们建议将对 API 的请求操作放置在您的应用程序后端。这样,前端请求只与您的后端服务交互,确保了更高的安全性和易于维护的架构。

    • Q: 接口可以用于哪些开发语言?

      A: 我们的接口支持所有能进行网络请求的开发语言,便于在各类项目中快速整合数据。

    • Q: 接口的性能可以保证吗?

      A: 我们的接口后台使用与商业级项目相同的架构,保证了稳定且高效的性能。您可以通过访问测试接口了解更多性能信息。

  • 服务协议

    用户应当充分阅读本协议,用户使用咕咕数据 API 服务亦视为接受本协议。

    一 定义

    咕咕数据 API 服务:由咕咕数据数据平台提供的数据 API 服务。

    用户:以任何形式使用咕咕数据的自然人、法人或其他组织。

    二 用户保证

    1. 用户同意并保证,在本协议有效期内,咕咕数据有权于任何时间要求用户提交相关资质证明资料原件及/或其他资料信息,用户对其所提交信息的真实完整、合法有效性承担保证责任。

    2. 用户同意并保证,合法并如约使用咕咕数据 API 服务。用户对其行为产生的任何法律责任自行独立承担,与咕咕数据无关。

    三 用户的权利与义务

    1. 用户有权就咕咕数据申请账号,用户注册账号,应向咕咕数据提供真实完整且合法有效的信息。如用户信息发生任何变更,用户应于变更后书面通知咕咕数据并提供最新资料信息。

    2. 用户需要自行保管其帐号和密码。用户帐号、密码使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或者售卖,如果用户进行此类操作导致密码泄露造成损失的,咕咕数据并不承担责任。

    3. 用户应按使用咕咕数据的实际发送数量,根据咕咕数据页面公布资费标准向咕咕数据支付相应的费用。

    4. 用户保证其所提供的手机号码列表的真实性、合法性、有效性及许可性,用户有义务对手机列表进行筛选。否则咕咕数据有权随时终止本协议。

    5. 用户在使用咕咕数据 API 服务期间,承诺并保证:

    (1) 遵守所有中华人民共和国法律法规和国际上有关互联网和短信的协议、规定、程序和惯例;

    (2) 不利用咕咕数据 API 服务进行干扰或扰乱咕咕数据网络服务或其他正常使用;

    (3) 不行使其他可能给咕咕数据带来任何不利影响的行为或者法律及政策禁止的行为。

    6. 用户不得利用咕咕数据 API 服务发送以下内容的短信:

    (1)接受方事先没有提出要求或者同意接受的广告等宣传性或营销性内容;

    (2)含有病毒、恶意代码、色情、反动等不良信息或有害信息;

    (3)地产、医疗、教育、留学、移民等相关内容;

    (4)冒充任何人或机构,或以虚伪不实的方式谎称或使人误认为与任何人或任何机构有关;

    (5)侵犯他人著作权或其他知识产权,或违反保密、雇佣或不披露协议披露他人商业秘密或保密信息。

    7. 用户应对相关数据自行存储和备份并至少保留六十日。根据咕咕数据或国家主管部门的要求,用户应向其提供备份内容。用户使用咕咕数据 API 服务,不得于任何时间任何事件中使用咕咕数据的 Logo、服务标记、域名及其他具有咕咕数据显著特征的标识。

    8. 用户应当按照本协议以及咕咕数据不时公布的规定,妥善使用咕咕数据 API 服务并为其行为负责。因用户行为导致咕咕数据遭受诉讼、索赔及/或处罚的,用户应赔偿咕咕数据因此造成的全部损失。

    9. 本协议一经生效咕咕数据即有权永久免费使用用户的商业名称、商标、Logo 等信息作为案例宣传咕咕数据旗下的相关服务。

    10. 用户同意接收来自咕咕数据的邮件及短信,包括但不限于商业推广信息等。

    四 咕咕数据的权利与义务

    1. 咕咕数据对用户行为无审核监督义务。因用户行为给咕咕数据造成的一切损失,咕咕数据有权向用户追偿。

    2. 咕咕数据对其提供给用户的服务质量做出如下承诺:

    (1)咕咕数据为客户发送的短信数量是真实可信的实际数量;

    (2)咕咕数据会向客户提供合理的建议和协助来帮助用户提高发送质量;

    (3)咕咕数据会提供必要的客户投诉与答疑服务。

    3. 咕咕数据有权随时调整咕咕数据 API 服务的资费,但该调整不会对用户已购买的服务产生影响。

    4. 咕咕数据有权对咕咕数据 API 服务进行定期或不定期的升级或完善,但应提前在相关页面进行公告。如用户因此受到影响,咕咕数据无需为此承担任何责任。

    5. 咕咕数据有权根据自己的判断对用户是否违反本协议约定及咕咕数据 API 服务使用规则做出认定。用户若有违反的,咕咕数据有权随时中止或终止本协议。咕咕数据无需就此征得用户同意或提前通知用户。

    6. 因非咕咕数据原因导致的本协议提前终止,用户已经支付而尚未使用的费用咕咕数据有权不予退还。

    7. 鉴于互联网服务的特殊性,对因不可抗力、第三方服务、黑客攻击、政策影响及其他任何非咕咕数据原因引起的服务中断、数据丢失等,咕咕数据均无需承担任何责任。

    五 知识产权

    1. 咕咕数据服务中包含的任何文字、图表、音频、视频和/或软件(包括但不限于软件中包含的图表、动画、音频、视频、界面实际、数据和程序、代码、文档)等信息或材料均受著作权法、商标法或其它法律法规的保护,未经相关权利人书面同意,用户不得以任何方式使用该等信息或材料,但出于使用咕咕数据服务目的而使用的除外。

    2. 除本协议明确允许的以外,用户不得以任何形式或任何方式对咕咕数据服务部分或全部内容进行修改、出租、租赁、出借、出售、分发、复制、创作衍生品或用于任何商业用途。

    3. 用户使用咕咕数据发布的信息不得侵犯任何第三人的知识产权,未经相关权利人之事先书面同意,用户不得以任何方式上传、发布、修改、传播或复制任何受著作权保护的材料、商标或属于其他人的专有信息。

    4. 若您认为您的知识产权或其他合法权益被侵犯,请向咕咕数据提供以下资料:

    (1) 对涉嫌侵权内容拥有知识产权或其他合法权益的权属证明;

    (2) 权利人具体的主体资质和联络信息,包括个人的姓名、身份证或护照复印件、单位的营业执照复印件或者其他资质证明复印件、通信地址及电话号码等;

    (3) 涉嫌侵权内容在本网站上的位置;

    (4) 对侵权情况的详细描述;

    (5) 在权利通知中加入如下关于通知内容真实性的声明:“由以上操作所引起的一切后果,与咕咕数据无关,由我本人/公司承担。” 在签字或加盖公章后发往以下邮箱: support@gugudata.com

    六 隐私权

    1. 保护用户的隐私是咕咕数据的一项基本政策。

    2. 适用于用户的隐私的相关条款请参见《隐私协议》

    七 免责声明

    1. 鉴于网络服务的特殊性,咕咕数据不保证网络服务的绝对及时性、安全性和准确性,用户同意咕咕数据有权不经事先通知,随时变更、中断或终止部分或全部的网络服务而无论同意与否,咕咕数据对用户和任何第三人均无需承担任何责任。

    2. 用户经由咕咕数据服务与广告商进行通讯联系或商业往来或参与促销活动,完全属于用户与广告商之间的行为,与咕咕数据没有任何关系,若因商业行为所产生之任何损害或损失,咕咕数据不承担任何责任。

    3. 用户明确同意其使用咕咕数据服务所存在的风险及其后果将完全由其自己承担,咕咕数据对用户不承担任何责任。如因用户违反有关法律、法规或本协议项下的任何条款而给咕咕数据或任何其他第三人造成损失,用户同意承担由此造成的损害赔偿责任。

    4. 咕咕数据提供的股票、基金、债券、外汇等行情数据以及其他资料均来自相关合作方,仅作为用户获取信息之目的,并不构成投资建议。用户理解并同意,咕咕数据提供的数据仅供参考,不保证数据的准确性、及时性或完整性。因依赖于此类数据而产生的任何投资决策和相应风险完全由用户自行承担。市场有风险,投资需谨慎。

    八 其他

    1. 本协议的版权归咕咕数据所有,咕咕数据保留对本协议的一切解释和修改权利。

    2. 本协议的订立、执行和争议的解决均应适用中华人民共和国法律。如双方就本协议内容或其执行发生任何争议,双方应尽量友好协商解决;协商不成时,任何一方均可向咕咕数据所在地有管辖权的人民法院提起诉讼。

    3. 咕咕数据行使本协议的任何权利或规定,不构成对前述权利之放弃。

    4. 如本协议中的任何条款完全或部分无效,本协议的其余条款仍有效并且有约束力。

  • 技术支持