Usage Cost
5 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/finance-hk-shares-rankingcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/finance-hk-shares-ranking' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "sort": "排序字段,目前仅支持:changeRate 涨跌率排序",\n "asc": "排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0",\n "page": "页码,默认1",\n "limit": "每页条数,最大100条,默认10"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/finance-hk-shares-ranking"
payload = {
"sort": "排序字段,目前仅支持:changeRate 涨跌率排序",
"asc": "排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0",
"page": "页码,默认1",
"limit": "每页条数,最大100条,默认10"
}
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 Example
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/finance-hk-shares-ranking"
payload := []byte("{\n \"sort\": \"排序字段,目前仅支持:changeRate 涨跌率排序\",\n \"asc\": \"排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0\",\n \"page\": \"页码,默认1\",\n \"limit\": \"每页条数,最大100条,默认10\"\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 Example
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 \"sort\": \"排序字段,目前仅支持:changeRate 涨跌率排序\",\n \"asc\": \"排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0\",\n \"page\": \"页码,默认1\",\n \"limit\": \"每页条数,最大100条,默认10\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/finance-hk-shares-ranking"))
.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 Example
<?php
$endpoint = 'https://openapi.toolkk.com/v1/finance-hk-shares-ranking';
$payload = "{\n \"sort\": \"排序字段,目前仅支持:changeRate 涨跌率排序\",\n \"asc\": \"排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0\",\n \"page\": \"页码,默认1\",\n \"limit\": \"每页条数,最大100条,默认10\"\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;Response Example
{
"msg": "成功",
"code": 200,
"taskNo": "202960247220113090298671",
"data": {
"list": [
{
"symbol": "02203",
"market_value": "75200000.000",
"change": "0.044",
"eps": "-0.006",
"volume": "17180000",
"shares": "800000000",
"high": "0.111",
"update_time": 1713755536,
"low": "0.064",
"pe": "-15.6666667",
"price": "0.094",
"name": "脑洞科技",
"ask": "0.094",
"dividend": "0.000",
"52week_low": "0.038",
"preclose": "0.050",
"bid": "0.091",
"changeRate": "88.0000000",
"value": "1586410",
"open": "0.057",
"52week_high": "0.210"
}
]
}
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 60 req/min
- Timeout
- 5000 ms
Send your API Key in the X-API-Key header from your backend.
Check both HTTP status and business fields before treating a call as successful.
Use retries and backoff together with rate limits in high-frequency scenarios.
Request Fields
Send requests from your server with the key in the X-API-Key header.
Request Fields
Fields are read from the API schema. Missing descriptions and examples are marked as unspecified.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| sort | string | Yes | 排序字段,目前仅支持:changeRate 涨跌率排序 | Unspecified |
| asc | string | No | 排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0 | Unspecified |
| page | string | No | 页码,默认1 | Unspecified |
| limit | string | No | 每页条数,最大100条,默认10 | Unspecified |
Request Example
{
"sort": "排序字段,目前仅支持:changeRate 涨跌率排序",
"asc": "排序顺序,0 倒序(由大到小), 1正序(由小到大),默认0",
"page": "页码,默认1",
"limit": "每页条数,最大100条,默认10"
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 60 req/min
- Timeout
- 5000 ms
Response Fields
Examples illustrate the response structure. Actual results depend on the API response.
Response Fields
Fields are read from the API schema. Missing descriptions and examples are marked as unspecified.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| msg | string | No | 接口返回码对应的描述信息 | 成功 |
| code | number | No | 接口返回码【注意:不等于HTTP响应状态码】 | 200 |
| taskNo | string | No | 任务订单号【可反馈服务商复核对应订单】 | 202960247220113090298671 |
| data | object | No | Unspecified | Unspecified |
| data.list | array | No | Unspecified | [{"symbol":"02203","market_value":"75200000.000","change":"0.044","eps":"-0.006","volume":"17180000","shares":"800000000","high":"0.111","update_time":1713755536,"low":"0.064","pe":"-15.6666667","price":"0.094","name":"脑洞科技","ask":"0.094","dividend":"0.000","52week_low":"0.038","preclose":"0.050","bid":"0.091","changeRate":"88.0000000","value":"1586410","open":"0.057","52week_high":"0.210"}] |
| data.list[] | object | Unspecified | Unspecified | Unspecified |
Response Example
{
"msg": "成功",
"code": 200,
"taskNo": "202960247220113090298671",
"data": {
"list": [
{
"symbol": "02203",
"market_value": "75200000.000",
"change": "0.044",
"eps": "-0.006",
"volume": "17180000",
"shares": "800000000",
"high": "0.111",
"update_time": 1713755536,
"low": "0.064",
"pe": "-15.6666667",
"price": "0.094",
"name": "脑洞科技",
"ask": "0.094",
"dividend": "0.000",
"52week_low": "0.038",
"preclose": "0.050",
"bid": "0.091",
"changeRate": "88.0000000",
"value": "1586410",
"open": "0.057",
"52week_high": "0.210"
}
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Introduction
This API provides real-time market ranking services for stocks in the Hong Kong stock market. Developers can obtain a paginated list of stocks by specifying the sorting field (currently only changeRate is supported) and sorting order. The returned data covers key financial and trading indicators such as stock symbol, name, real-time price, change amount, total market capitalization, trading volume, P/E ratio, and 52-week high/low. Data includes a timestamp for tracking update timeliness.
Applicable Scenarios
- Financial News Applications: Display Hong Kong stock gainers/losers lists and active stock rankings, providing users with an overview of market hotspots.
- Quantitative Trading Assistance: Serve as a preliminary data source for strategy screening, quickly identifying targets with high volatility or specific trends.
- Investment Monitoring Dashboards: Integrate into personal or institutional investment dashboards to monitor real-time market anomalies outside of holdings or watchlists.
Request and Response Description
Request Method: POST Core Parameters:
sort(Required): Sorting field, currently only (change rate) is supported.