贵金属行情 API 接口文档
认证方式 · 调用示例 · 频率限制 · 返回字段 · 错误码 · 品种字典
概述
本平台提供贵金属实时行情查询接口,注册后使用平台签发的 AppKey 调用,单次请求最多可批量获取 50 个品种。
| 项目 | 说明 |
| 接口根地址 | https://www.gold-api.cn |
| 数据格式 | JSON(UTF-8) |
| 请求方式 | GET / POST,支持跨域(CORS) |
| 字符编码 | UTF-8 |
| 时间格式 | YYYY-MM-DD HH:mm:ss(北京时间) |
| 价格精度 | 固定 5 位小数,建议解析后按需四舍五入 |
成功响应固定包含 success: "1" 与 result 对象;失败响应 success: "0" 并附带 msgId 与 msg。
所有响应都会带 requestId,排查问题时请提供该值。
在线试用
还没有密钥?一键领取试用密钥,立刻在浏览器里调一次真实行情:
| 试用说明 | 规则 |
| 每日额度 | 100 次 / 天(每天零点后自动重置),每次成功调用扣 1 次 |
| 可用品种 | 全部品种(含增值品种),与正式账户的赠送通道规则一致 |
| 频率限制 | 1 次 / 秒 |
| 有效期 | 30 天;试用满意请注册正式账户,注册另送 5000 次额度 |
无需注册,点击即领 · 同一网络每天最多 3 把
我的试用密钥
—
剩余额度:— 次
品种
调用结果将显示在这里…
认证方式
通过平台签发的 AppKey 认证。三种传参方式任选其一:
| 方式 | 示例 |
| Query 参数(推荐) | ?appkey=gk_xxxxxxxx |
| POST 表单字段 | appkey=gk_xxxxxxxx |
| 请求头 | X-API-KEY: gk_xxxxxxxx |
AppKey 等同于账号密码,请勿写入前端 JS 或提交到公开仓库。一旦泄露请在管理后台「密钥管理」中立即重置,旧密钥会即时失效。
频率与配额
平台有三条互相独立的调用通道,同一次请求只会走其中一条;具体走哪条由该次请求携带的 goldId 与账户权益共同决定:
| 通道 | 适用品种 | 计量方式 |
| 单品通道 |
仅限单独开通且在有效期内的品种 |
不限调用总量、不占会员日/月配额;每个品种每秒独立限速 |
| 会员通道 |
会员套餐覆盖的全部品种(含增值品种)、管理员单独授权的品种 |
受日配额、月配额、每秒 QPS 限制 |
| 赠送通道 |
注册赠送额度未用完时,不限品种(基础与增值品种都可调用) |
每成功调用扣 1 次额度、不占日/月配额;受每秒 QPS 限制。额度用完后须开通会员或购买单品 |
一次请求携带多个 goldId 时:全部品种都属于单品通道才按单品通道计量;只要其中有一个不属于,
整次请求按会员/赠送通道计量(避免混合请求绕过配额)。
付费权益优先:已开通的会员与单品先消耗,注册赠送的额度自动保留到最后使用。
特别地,会员有效期内一律走会员通道,赠送额度一分不扣,会在会员到期后自动接着生效 ——
赠送额度不会挤占任何已付费权益。
响应头 X-Billing 会标明本次实际使用的通道(member / variety / gift)。
| 限制项 | 说明 |
| 日调用量 | 账户级与密钥级可分别设定,密钥设了以密钥为准。只统计会员通道。超限返回 DAILY_LIMIT_EXCEEDED,每日 00:00 重置。 |
| 月调用量 | 自然月累计,只统计会员通道,超限返回 MONTHLY_LIMIT_EXCEEDED。 |
| 免费额度 | 自助注册赠送的总量额度(不是日限额),每次成功调用扣 1 次;参数错误、无权限、被限流、平台故障都不扣。仅对未开通会员的账户生效(会员有效期内走会员通道,额度不扣、自动保留)。额度用尽后返回 FREE_QUOTA_EXHAUSTED,开通会员或购买该品种即可继续。 |
| QPS | 按密钥做秒级限制(赠送通道同样受此约束),超限返回 QPS_LIMIT_EXCEEDED。 |
| 单品限速 | 单品通道下每个品种独立计数(平台默认 1 次/秒)。例如开通 A、B 两个品种,则 A 与 B 各可达 1 次/秒、合计 2 次/秒。超限返回 VARIETY_QPS_EXCEEDED。 |
| 单次品种数 | 一次请求最多 50 个 goldId,超出返回 INVALID_PARAM。 |
响应头会返回实时配额,便于客户端自行控制节奏(会员通道示例):
X-Request-Id: 20260928173620-a1b2c3d4
X-Response-Time: 31ms
X-Billing: member
X-RateLimit-Daily-Limit: 1000
X-RateLimit-Daily-Remaining: 973
X-RateLimit-QPS-Limit: 5
X-Account: huaxin_gold
单品通道的响应头不含日/月配额,只给该通道的限速:
X-Billing: variety
X-RateLimit-Variety-QPS: 1
赠送通道会额外返回剩余免费额度,便于判断何时需要开通会员:
X-Billing: gift
X-RateLimit-Gift-Remaining: 4831
X-RateLimit-QPS-Limit: 1
实时行情
GET
/api/v1/gold/realtime
请求参数
| 参数 | 必填 | 说明 |
| goldid | 是 | 品种 ID,多个用英文逗号分隔,如 1061,1062,hf_GC,单次最多 50 个 |
| appkey | 是 | 平台签发的密钥,也可用请求头 X-API-KEY 传递 |
请求示例
GET https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061&appkey=你的appkey
GET https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061,1062,hf_GC&appkey=你的appkey
成功响应
{
"success": "1",
"result": {
"dtQuery": "1061,1062",
"dtCount": "2",
"dtList": {
"1061": {
"goldId": "1061",
"variety": "Au_Spot",
"varietyName": "黄金现货",
"lastPrice": 897.60000,
"buyPrice": 894.60000,
"sellPrice": 897.60000,
"highPrice": 927.82000,
"lowPrice": 897.03000,
"openPrice": 0.00000,
"yesyPrice": 928.50000,
"changePrice": -30.90000,
"changeMargin": "-3.33%",
"updateTime": "2026-09-28 17:33:10"
},
"1062": { ... }
}
},
"requestId": "20260928173620-a1b2c3d4"
}
失败响应
{
"success": "0",
"msgId": "DAILY_LIMIT_EXCEEDED",
"msg": "今日调用次数已达上限,请明日再试或提升配额",
"requestId": "20260928173620-a1b2c3d4"
}
若 goldid 不存在或已下架,接口仍返回 success: "1",但 dtCount 为 "0"、
dtList 为空对象。客户端需自行判断 dtCount,不要假定一定有数据。
历史行情
GET
/api/v1/gold/history
小时级 OHLCV 蜡烛数据(时间升序返回),数据自 2026-05-27 起可用。与实时行情同一套鉴权与计费,每次请求计 1 次调用。
请求参数
| 参数 | 必填 | 说明 |
| goldid | 是 | 品种 ID,单次一个,如 1061 |
| start_date | 是 | 开始日期 Y-m-d,不得早于 2026-05-27 |
| end_date | 是 | 结束日期 Y-m-d(晚于今天自动收敛到今天),单次范围最多 92 天 |
| appkey | 是 | 平台签发的密钥,也可用请求头 X-API-KEY 传递 |
请求示例
GET https://www.gold-api.cn/api/v1/gold/history?goldid=1061&start_date=2026-10-01&end_date=2026-10-31&appkey=你的appkey
成功响应
{
"success": "1",
"result": {
"goldId": "1061",
"variety": "Au_Spot",
"startDate": "2026-10-01",
"endDate": "2026-10-31",
"count": "744",
"data": [
{
"timestamp": "2026-10-01 00:00:00",
"open": 838.50000,
"high": 840.12000,
"low": 837.90000,
"close": 839.81000,
"volume": 0
},
{ ... }
]
},
"requestId": "20261104093000-a1b2c3d4"
}
data 为小时级蜡烛,按时间升序排列;count 为小时条数。
需要日级数据时请客户端自行聚合(开盘取当日最早一条的开盘,收盘取当日最晚一条的收盘,高/低取当日极值)。
节假日休市时段无对应小时条,属正常现象。
返回字段
| 字段 | 类型 | 说明 |
| goldId | string | 品种 ID |
| variety | string | 品种英文代码,如 Au_Spot |
| varietyName | string | 品种中文名称 |
| lastPrice | number | 最新价 |
| buyPrice | number | 买入价 |
| sellPrice | number | 卖出价 |
| highPrice | number | 当日最高价 |
| lowPrice | number | 当日最低价 |
| openPrice | number | 开盘价。现货类品种可能返回 0,部分期货品种该字段异常,建议以 yesyPrice 计算涨跌 |
| yesyPrice | number | 昨收价(基准价) |
| changePrice | number | 涨跌额 = 最新价 − 昨收价,负数为跌 |
| changeMargin | string | 涨跌幅,如 "-3.33%" |
| updateTime | string | 行情更新时间 |
品种列表
GET
/api/v1/gold/varieties
获取平台全部可用品种,无需认证,可用于前端下拉框。可选参数 market 按市场筛选。
| 参数 | 必填 | 说明 |
| market | 否 | 市场名称,如 外盘、上金所 |
GET https://www.gold-api.cn/api/v1/gold/varieties
{
"success": "1",
"result": {
"dtCount": "69",
"dtList": [
{ "goldId": "1061", "name": "黄金现货", "market": "现货", "category": "黄金" },
...
]
}
}
错误码
| msgId | HTTP | 含义与处理建议 |
| 1001 / UNAUTHORIZED | 401 | 缺少 appkey 参数 |
| 1002 / INVALID_API_KEY | 401 | 密钥不存在或已被删除 |
| 1003 / KEY_DISABLED | 403 | 密钥被停用 |
| 1004 / KEY_EXPIRED | 403 | 密钥已过有效期 |
| 1005 / ACCOUNT_DISABLED | 403 | 账户被停用(其下所有密钥同时失效) |
| 1006 / ACCOUNT_EXPIRED | 403 | 账户已到期 |
| 1007 / GOLDID_NOT_ALLOWED | 403 | 该账户未获得所查询品种的授权 |
| 1016 / FREE_QUOTA_EXHAUSTED | 403 | 免费调用额度已用完,开通会员或购买该品种后可继续调用 |
| 1008 / INVALID_PARAM | 400 | 参数错误(缺少 goldid、含非法字符、单次超 50 个品种) |
| 1009 / DAILY_LIMIT_EXCEEDED | 429 | 日调用量已达上限 |
| 1010 / MONTHLY_LIMIT_EXCEEDED | 429 | 月调用量已达上限 |
| 1011 / QPS_LIMIT_EXCEEDED | 429 | 请求频率超过 QPS 限制 |
| 1015 / VARIETY_QPS_EXCEEDED | 429 | 单品通道下该品种的每秒调用次数超过上限 |
| 1012 / UPSTREAM_ERROR | 502 | 数据服务暂时不可用 |
| 1013 / UPSTREAM_TIMEOUT | 504 | 数据服务响应超时 |
| 1014 / METHOD_NOT_ALLOWED | 405 | 不支持的请求方法 |
接入示例
curl -s "https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061&appkey=你的appkey"
<?php
$appkey = '你的appkey';
$url = 'https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061,1062&appkey=' . $appkey;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 5,
]);
$json = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($json, true);
if (($data['success'] ?? '0') !== '1') {
exit('调用失败:' . ($data['msgId'] ?? '') . ' ' . ($data['msg'] ?? ''));
}
foreach ($data['result']['dtList'] as $gid => $q) {
printf("%s 最新价 %.2f(%s)\n", $q['varietyName'], $q['lastPrice'], $q['changeMargin']);
}
const APPKEY = "你的appkey";
const url = `https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061&appkey=${APPKEY}`;
const res = await fetch(url);
const data = await res.json();
if (data.success !== "1") {
throw new Error(`${data.msgId}: ${data.msg}`);
}
console.log(data.result.dtList["1061"].lastPrice);
// 定时轮询(3 秒一次)
setInterval(async () => {
const r = await fetch(url).then(r => r.json());
if (r.success === "1") render(r.result.dtList);
}, 3000);
import requests
APPKEY = "你的appkey"
URL = "https://www.gold-api.cn/api/v1/gold/realtime"
r = requests.get(URL, params={"goldid": "1061,1062", "appkey": APPKEY}, timeout=5)
data = r.json()
if data.get("success") != "1":
raise RuntimeError(f"{data.get('msgId')}: {data.get('msg')}")
for gid, q in data["result"]["dtList"].items():
print(q["varietyName"], q["lastPrice"], q["changeMargin"])
HttpClient client = HttpClient.newHttpClient();
String url = "https://www.gold-api.cn/api/v1/gold/realtime?goldid=1061&appkey=你的appkey";
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create(url))
.timeout(Duration.ofSeconds(5))
.GET()
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
品种字典
共 70 个品种,按市场分组:
上金所(7)
| goldId | 名称 | 分类 |
| 1051 | 黄金T+D | 黄金 |
| 1052 | 白银T+D | 白银 |
| 1053 | 黄金9999 | 黄金 |
| 1054 | 黄金9995 | 黄金 |
| 1056 | 铂金9995 | 铂金 |
| 1057 | 迷你黄金TD | 黄金 |
| 1058 | 金条100g | 黄金 |
现货(7)
| goldId | 名称 | 分类 |
| 1061 | 黄金现货 | 黄金 |
| 1062 | 白银现货 | 白银 |
| 1063 | 铂金现货 | 铂金 |
| 1064 | 钯金现货 | 钯金 |
| 1065 | 铑金现货 | 铑金 |
| 1066 | 铱现货 | 铱 |
| 1067 | 钌现货 | 钌 |
机构报价(33)
| goldId | 名称 | 分类 |
| 2001 | 永丰伦敦金 | 黄金 |
| 2002 | 永丰伦敦银 | 白银 |
| 2003 | 永丰伦敦铂 | 铂金 |
| 2004 | 永丰伦敦钯 | 钯金 |
| 2005 | 华鑫黄金 | 黄金 |
| 2006 | 福鑫达黄金 | 黄金 |
| 2007 | 埕金黄金 | 黄金 |
| 2008 | 白银9999 | 白银 |
| 2009 | 华鑫白银 | 白银 |
| 2010 | 福鑫达白银 | 白银 |
| 2011 | 埕金白银 | 白银 |
| 2012 | 公斤银 | 白银 |
| 2013 | 永丰公斤银 | 白银 |
| 2014 | 华鑫铂金 | 铂金 |
| 2015 | 福鑫达铂金 | 铂金 |
| 2016 | 埕金铂金 | 铂金 |
| 2017 | 公斤铂 | 铂金 |
| 2018 | 永丰公斤铂 | 铂金 |
| 2019 | 华鑫钯金 | 钯金 |
| 2020 | 福鑫达钯金 | 钯金 |
| 2021 | 埕金钯金 | 钯金 |
| 2022 | 公斤钯 | 钯金 |
| 2023 | 永丰公斤钯 | 钯金 |
| 2024 | 公斤条 | 黄金 |
| 2025 | 永丰公斤条 | 黄金 |
| 2026 | 铑金 | 铑金 |
| 2027 | 美铑金 | 铑金 |
| 2028 | 铱 | 铱 |
| 2029 | 钌 | 钌 |
| 2030 | RMB美黄金 | 黄金 |
| 2031 | RMB美白银 | 白银 |
| 2032 | RMB美铂金 | 铂金 |
| 2033 | RMB美钯金 | 钯金 |
外盘(8)
| goldId | 名称 | 分类 |
| hf_GC | 纽约金 | 黄金 |
| hf_SI | 纽约银 | 白银 |
| hf_PL | 美铂金 | 铂金 |
| hf_PA | 美钯金 | 钯金 |
| hf_XAU | XAUUSD | 黄金 |
| hf_XAG | XAGUSD | 白银 |
| hf_XPT | 伦敦铂 | 铂金 |
| hf_XPD | 伦敦钯 | 钯金 |
上期所(6)
| goldId | 名称 | 分类 |
| nf_AU0 | 沪金主力 | 黄金 |
| nf_AU1 | 沪金次主力 | 黄金 |
| nf_AG0 | 沪银主力 | 白银 |
| nf_AG1 | 沪银次主力 | 白银 |
| nf_TN06 | 沪纽金TN06 | 黄金 |
| nf_TN12 | 沪纽金TN12 | 黄金 |
广期所(4)
| goldId | 名称 | 分类 |
| gf_PT0 | 广铂主力 | 铂金 |
| gf_PT1 | 广铂次主力 | 铂金 |
| gf_PD0 | 广钯主力 | 钯金 |
| gf_PD1 | 广钯次主力 | 钯金 |
香港(1)
指数(1)
汇率(3)
| goldId | 名称 | 分类 |
| USDCNY | 美元兑人民币 | 汇率 |
| USDCNH | 美元兑离岸 | 汇率 |
| HKDCNH | 港币兑离岸人民币 | 汇率 |
文档版本 v1.5.39 · 如需新增品种或调整配额,请联系平台管理员。