调用价格
5 匠币/次
快速接入
保持统一返回结构,直接通过服务端发起请求即可接入。
https://openapi.toolkk.com/v1/finance-hk-stocks-pricecURL 示例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/finance-hk-stocks-price' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "symbol": "品种代码,以英文逗号分割,如:08026,02203"\n}'Python 示例
import os
import requests
url = "https://openapi.toolkk.com/v1/finance-hk-stocks-price"
payload = {
"symbol": "品种代码,以英文逗号分割,如:08026,02203"
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go 示例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/finance-hk-stocks-price"
payload := []byte("{\n \"symbol\": \"品种代码,以英文逗号分割,如:08026,02203\"\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java 示例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"symbol\": \"品种代码,以英文逗号分割,如:08026,02203\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/finance-hk-stocks-price"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP 示例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/finance-hk-stocks-price';
$payload = "{\n \"symbol\": \"品种代码,以英文逗号分割,如:08026,02203\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;响应示例
{
"msg": "成功",
"code": 200,
"taskNo": "202960247220113090298671",
"data": {
"08026": {
"change": "-0.015",
"enname": "CB GLOBAL",
"volume": "546000",
"high": "0.237",
"update_time": 1713763480,
"low": "0.211",
"pe": "0.000",
"price": "0.216",
"name": "朗华国际集团",
"ask": "0.219",
"52week_low": "0.173",
"preclose": "0.231",
"changeRate": "-6.494",
"bid": "0.213",
"value": "117030.000",
"open": "0.212",
"52week_high": "0.650"
},
"02203": {}
}
}示例用于理解返回结构,实际结果以接口返回为准。
- 鉴权方式
- 请求头传入 X-API-Key
- 默认限流
- 60 次/分钟
- 超时时间
- 5000 ms
服务端调用时,将 API Key 放在 X-API-Key 请求头中。
建议按 response code 与业务字段双重判断调用结果。
高频调用场景请结合速率限制与重试策略使用。
请求字段
从服务端发起请求,并在 X-API-Key 请求头中传入密钥。
请求字段
字段来自接口结构定义。未提供的说明和示例会标为未标注。
| 字段路径 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| symbol | string | 是 | 品种代码,以英文逗号分割,如:08026,02203 | 未标注 |
请求示例
{
"symbol": "品种代码,以英文逗号分割,如:08026,02203"
}- 鉴权方式
- 请求头传入 X-API-Key
- 默认限流
- 60 次/分钟
- 超时时间
- 5000 ms
响应字段
示例用于理解返回结构,实际结果以接口返回为准。
响应字段
字段来自接口结构定义。未提供的说明和示例会标为未标注。
| 字段路径 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
| msg | string | 否 | 接口返回码对应的描述信息 | 成功 |
| code | number | 否 | 接口返回码【注意:不等于HTTP响应状态码】 | 200 |
| taskNo | string | 否 | 任务订单号【可反馈服务商复核对应订单】 | 202960247220113090298671 |
| data | object | 否 | 未标注 | 未标注 |
| data.08026 | object | 否 | 未标注 | 未标注 |
| data.08026.change | string | 否 | 涨跌额 | -0.015 |
| data.08026.enname | string | 否 | 英文缩写 | CB GLOBAL |
| data.08026.volume | string | 否 | 成交量 | 546000 |
| data.08026.high | string | 否 | 今日最高价 | 0.237 |
| data.08026.update_time | number | 否 | 数据时间戳 | 1713763480 |
| data.08026.low | string | 否 | 今日最低价 | 0.211 |
| data.08026.pe | string | 否 | 市盈率 | 0.000 |
| data.08026.price | string | 否 | 实时价格 | 0.216 |
| data.08026.name | string | 否 | 品种名称 | 朗华国际集团 |
| data.08026.ask | string | 否 | 卖价 | 0.219 |
接口简介
接口能力、应用场景、使用限制与常见问题。
接口能力
按港股代码查询报价及辅助行情,可在一条请求中用英文逗号分隔多个代码。行情明细包括名称、价格、当日开高低、昨收、涨跌、成交量额、买卖价及52周价格范围。结果中的行情对象以股票代码作为键,适合按代码匹配自选列表。当前买卖价没有对应盘口数量或五档明细;报价查询也不提供下单、成交确认或历史K线。
应用场景
可用于港股自选看板、证券详情页及观察服务:看板展示价格和涨跌,详情页比较当日范围与52周范围,观察服务由调用方保存查询条件和接收时间,再设置提醒规则。多个代码返回后应逐项检查可用明细,避免因部分缺项导致整页显示为零。比较两只股票时还应区分报价时点和估值口径,价格高低、市盈率或短期涨跌都不能单独说明投资价值。
从输入到结果
准备股票代码时保留前导零,例如08026;多个代码使用英文逗号,不按数字转换后拼接。检查调用状态和行情业务状态,再按代码读取有内容的明细,不依赖返回对象顺序。价格、量额、涨跌等多为字符串,计算前识别空值并解析。买价与卖价应分开展示,成交量也不能当作当前挂单数量。数据时间戳未注明单位和时区,确认口径前保留原值,并记录应用自己的接收时间。
范围与限制
当前未声明单次代码上限、全市场覆盖、固定延迟、批量同步时点、报价币种和成交量单位,涨跌率与估值的计算口径也未完整定义。不要直接给率值追加百分号或把市盈率零值解释为无盈利。某个代码缺失或返回空对象,仅说明本次缺少可用明细,不能据此认定代码无效或价格为零。行情买卖价供展示和观察,实际交易条件需另行核对。
常见问题
能一次查询多只港股吗?
可以按公开输入格式用英文逗号分隔代码;当前没有公布单次上限,接入时应逐项核对返回。
股票代码开头的零可以省略吗?
应保留。代码是标识字符串,转换为数字会丢失前导零,影响请求和结果匹配。
是否提供五档盘口?
当前定义只有买价和卖价,没有五档价格与挂单量,不能据此绘制五档深度。
没有返回某只股票时怎样展示?
先检查状态,再标为本次无可用明细;不要填零或沿用旧值却隐藏旧值时间。