港股全量行情
curl --request GET \
--url https://api.tickdb.ai/v1/market/ticker/hk-stock \
--compressed \
--header 'Accept-Encoding: <accept-encoding>' \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tickdb.ai/v1/market/ticker/hk-stock"
headers = {
"Accept-Encoding": "<accept-encoding>",
"X-API-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Accept-Encoding': '<accept-encoding>', 'X-API-Key': '<api-key>'}
};
fetch('https://api.tickdb.ai/v1/market/ticker/hk-stock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tickdb.ai/v1/market/ticker/hk-stock",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept-Encoding: <accept-encoding>",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tickdb.ai/v1/market/ticker/hk-stock"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept-Encoding", "<accept-encoding>")
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tickdb.ai/v1/market/ticker/hk-stock")
.header("Accept-Encoding", "<accept-encoding>")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tickdb.ai/v1/market/ticker/hk-stock")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept-Encoding"] = '<accept-encoding>'
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"data": [
{
"symbol": "<string>",
"last_price": "<string>",
"timestamp": 123,
"name": "<string>",
"type": "stock",
"category": "sh_stock",
"open": "<string>",
"prev_close": "<string>",
"volume_24h": "<string>",
"quote_volume_24h": "<string>",
"high_24h": "<string>",
"low_24h": "<string>",
"price_change_24h": "<string>",
"price_change_percent_24h": "<string>"
}
]
}全量行情
港股全量行情
獲取港股市場當前全量行情快照。
GET
/
v1
/
market
/
ticker
/
hk-stock
港股全量行情
curl --request GET \
--url https://api.tickdb.ai/v1/market/ticker/hk-stock \
--compressed \
--header 'Accept-Encoding: <accept-encoding>' \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.tickdb.ai/v1/market/ticker/hk-stock"
headers = {
"Accept-Encoding": "<accept-encoding>",
"X-API-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Accept-Encoding': '<accept-encoding>', 'X-API-Key': '<api-key>'}
};
fetch('https://api.tickdb.ai/v1/market/ticker/hk-stock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tickdb.ai/v1/market/ticker/hk-stock",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept-Encoding: <accept-encoding>",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tickdb.ai/v1/market/ticker/hk-stock"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept-Encoding", "<accept-encoding>")
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tickdb.ai/v1/market/ticker/hk-stock")
.header("Accept-Encoding", "<accept-encoding>")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tickdb.ai/v1/market/ticker/hk-stock")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept-Encoding"] = '<accept-encoding>'
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"data": [
{
"symbol": "<string>",
"last_price": "<string>",
"timestamp": 123,
"name": "<string>",
"type": "stock",
"category": "sh_stock",
"open": "<string>",
"prev_close": "<string>",
"volume_24h": "<string>",
"quote_volume_24h": "<string>",
"high_24h": "<string>",
"low_24h": "<string>",
"price_change_24h": "<string>",
"price_change_percent_24h": "<string>"
}
]
}套餐權限
| 套餐 | 可用 |
|---|---|
| 免費版 | ❌ |
| 基礎版 | ❌ |
| 專業版 | ❌ |
| A 股全量 | ❌ |
| 港股全量 | ✅ |
| 美股全量 | ❌ |
| 企業版 | ✅ |
注意事項
- 無需傳入請求參數,一次返回當前可用的全部行情記錄,不分頁。
- 返回范圍以港股為主,并包含當前可用的港股市場指數,可通過
type判斷產品類型。 - 響應數據量較大,客戶端必須啟用 HTTP 響應壓縮,并聲明支持
gzip、br或zstd中的至少一種格式;未啟用壓縮時可能返回406。 timestamp為每條行情的數據時間,使用 Unix 毫秒時間戳。open、prev_close在對應數據不可用時不會返回。
支持的市場
| 市場 | 示例 |
|---|---|
| 港股 | 700.HK, 9988.HK, 3690.HK |
請求參數
無。請求示例
curl --compressed \
-H "X-API-Key: YOUR_API_KEY" \
"https://api.tickdb.ai/v1/market/ticker/hk-stock"
代碼示例
以下 Node.js 22+ 示例聲明支持三種壓縮格式,并根據響應中的Content-Encoding 自動選擇解壓方式。
const https = require("node:https");
const zlib = require("node:zlib");
const decompressors = {
gzip: zlib.gunzipSync,
br: zlib.brotliDecompressSync,
zstd: zlib.zstdDecompressSync,
};
const request = https.get("https://api.tickdb.ai/v1/market/ticker/hk-stock", {
headers: {
"X-API-Key": process.env.TICKDB_API_KEY,
"Accept-Encoding": "gzip, br, zstd",
},
}, (response) => {
const chunks = [];
response.on("data", (chunk) => chunks.push(chunk));
response.on("end", () => {
if (response.statusCode !== 200) {
throw new Error(`請求失敗:${response.statusCode}`);
}
const encoding = response.headers["content-encoding"];
const decompress = decompressors[encoding];
if (!decompress) {
throw new Error(`不支持的壓縮格式:${encoding}`);
}
const body = decompress(Buffer.concat(chunks));
const result = JSON.parse(body.toString("utf8"));
console.log(`返回 ${result.data.length} 條行情`);
console.log(result.data[0]);
});
});
request.on("error", console.error);
返回字段說明
| 字段 | 說明 |
|---|---|
| code | 響應碼,0 表示成功。 |
| message | 響應消息。 |
| data | 港股市場全量行情數組。 |
| └─ symbol | 港股市場代碼,例如 700。 |
| └─ name | 產品名稱。 |
| └─ type | 產品類型:stock 股票類產品、indices 指數。 |
| └─ last_price | 最新成交價。 |
| └─ open | 當日開盤價;數據不可用時不返回。 |
| └─ prev_close | 上一交易日收盤價;數據不可用時不返回。 |
| └─ volume_24h | 當日累計成交量。 |
| └─ quote_volume_24h | 當日累計成交額。 |
| └─ high_24h | 當日最高價。 |
| └─ low_24h | 當日最低價。 |
| └─ price_change_24h | 相對昨收的價格變化。 |
| └─ price_change_percent_24h | 相對昨收的價格變化百分比。 |
| └─ timestamp | Unix 時間戳,單位為毫秒。 |
