接口说明
农产品 K 线
参数 symbol 与 interval。
REST / WebSocket 接口
获取农产品相关标的的历史 K 线。
更新日期:2026-09-12
农产品 K 线
参数 symbol 与 interval。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 标的代码(必填) |
interval | string | 否 | 默认 1;支持 1/1m、5、15、60/1h、240/4h、1d、1w、1mo 等 |
limit | number | 否 | 默认 300,范围 1–5000 |
| 字段 | 类型 | 说明 |
|---|---|---|
succ | boolean | 是否成功 |
data | object | array | 业务数据(见下方字段) |
msg | string | 失败时的可读错误信息(可选) |
code | string | 机器可读错误码(可选) |
X-Request-Id | header | 请求追踪 ID(响应头,不在 JSON body) |
X-API-Key | header | API Key;也可用 Authorization: Bearer |
| 字段 | 类型 | 说明 |
|---|---|---|
symbol | string | 解析后的标的 |
interval | string | 归一化周期 |
bars | array | K 线数组(见下方) |
source | string | 固定为 tradingview |
market | string | 市场标签(路径对应) |
bars[].openTime / openTimeMs | string | number | K 线开盘时间 |
bars[].closeTime / closeTimeMs | string | number | K 线收盘时间 |
bars[].open / high / low / close | number | OHLC |
bars[].volume | number | 成交量 |
| code | HTTP | 说明 |
|---|---|---|
INVALID_REQUEST | 400 | 参数缺失或非法(如 interval) |
INVALID_SYMBOL | 400 | 标的代码格式无效 |
UNKNOWN_SYMBOL | 400 | 无法识别的标的(多市场 quote) |
NO_SUBSCRIPTION | 403 | 无有效订阅 |
SUBSCRIPTION_EXPIRED | 403 | 订阅已过期 |
MARKET_NOT_ENABLED | 403 | 当前套餐未开通该市场 |
API_KEY_SCOPE_DENIED | 403 | Key 权限范围不足 |
IP_DENIED / GEO_DENIED | 403 | IP 或地区策略拒绝 |
DAILY_LIMIT_EXCEEDED | 429 | 日请求配额用尽 |
MONTHLY_LIMIT_EXCEEDED | 429 | 月请求配额用尽 |
RATE_LIMIT_EXCEEDED | 429 | 用户级 RPM 超限 |
KEY_RATE_LIMIT_EXCEEDED | 429 | 单 Key RPM 超限 |
UPSTREAM_UNAVAILABLE | 502 | 上游行情源暂时不可用 |
RATE_LIMIT_UNAVAILABLE | 503 | 限流组件不可用 |
WS_CONN_LIMIT | WS | WebSocket 连接数达到套餐上限 |
curl https://api.tiqex.io/api/v1/market/agri/kline?symbol=ZC1!&interval=1d \
-H "X-API-Key: YOUR_API_KEY"import requests
url = "https://api.tiqex.io/api/v1/market/agri/kline?symbol=ZC1!&interval=1d"
headers = {"X-API-Key": "YOUR_API_KEY"}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
print(resp.json())const res = await fetch("https://api.tiqex.io/api/v1/market/agri/kline?symbol=ZC1!&interval=1d", {
headers: { "X-API-Key": "YOUR_API_KEY" }
});
if (!res.ok) throw new Error(res.status);
console.log(await res.json());