Usage Cost
5 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/finance-a-shares-pricecURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/finance-a-shares-price' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "symbol": "品种代码,以英文逗号分割,如:sz000002,bj430047"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/finance-a-shares-price"
payload = {
"symbol": "品种代码,以英文逗号分割,如:sz000002,bj430047"
}
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-a-shares-price"
payload := []byte("{\n \"symbol\": \"品种代码,以英文逗号分割,如:sz000002,bj430047\"\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 \"symbol\": \"品种代码,以英文逗号分割,如:sz000002,bj430047\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/finance-a-shares-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 Example
<?php
$endpoint = 'https://openapi.toolkk.com/v1/finance-a-shares-price';
$payload = "{\n \"symbol\": \"品种代码,以英文逗号分割,如:sz000002,bj430047\"\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": {
"sh688193": {
"name": "仁度生物",
"bid1_vol": "3850",
"high": "28.670",
"update_time": 1713336733,
"low": "26.710",
"price": "27.910",
"ask1_vol": "454",
"bid2_vol": "700",
"changeRate": "4.6887",
"ask5_vol": "600",
"value": "8457252.000",
"bid4_vol": "40",
"change": "1.2500",
"bid3_vol": "1400",
"ask2_vol": "843",
"volume": "303488",
"bid5_vol": "1400",
"ask4_vol": "2064",
"ask5": "28.160",
"ask2": "28.010",
"ask1": "28.000",
"bid5": "27.780",
"ask4": "28.130",
"ask3": "28.020",
"ask": "28.000",
"bid3": "27.840",
"bid4": "27.830",
"bid1": "27.900",
"bid2": "27.850",
"preclose": "26.660",
"bid": "27.900",
"open": "26.880",
"ask3_vol": "1400"
}
}
}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 |
|---|---|---|---|---|
| symbol | string | Yes | 品种代码,以英文逗号分割,如:sz000002,bj430047 | Unspecified |
Request Example
{
"symbol": "品种代码,以英文逗号分割,如:sz000002,bj430047"
}- 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.sh688193 | object | No | Unspecified | Unspecified |
| data.sh688193.name | string | No | 品种名称 | 仁度生物 |
| data.sh688193.bid1_vol | string | No | 买1量 | 3850 |
| data.sh688193.high | string | No | 今日最高价 | 28.670 |
| data.sh688193.update_time | number | No | 数据时间戳 | 1713336733 |
| data.sh688193.low | string | No | 今日最低价 | 26.710 |
| data.sh688193.price | string | No | 实时价格 | 27.910 |
| data.sh688193.ask1_vol | string | No | 卖1量 | 454 |
| data.sh688193.bid2_vol | string | No | 买2量 | 700 |
| data.sh688193.changeRate |
API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Introduction
This API provides real-time quote data for China's A-share market (including Shanghai, Shenzhen, and Beijing Stock Exchanges). Developers can obtain detailed market information, such as the latest price, change, change rate, trading volume, trading value, and bid/ask order book (top five bids/asks), by passing stock symbols. The data coverage is comprehensive, suitable for applications requiring real-time monitoring of stock market dynamics.
Applicable Scenarios
- Financial News Applications: Provide real-time stock price display for stock trading software and financial news portals.
- Quantitative Analysis Systems: Serve as a fundamental data source for strategy backtesting or real-time signal triggering.
- Enterprise Monitoring Dashboards: Used internally by listed companies or investment institutions to monitor the market performance of their holdings or watchlist stocks.
- Personal Investment Assistants: Integrated into WeChat mini-programs or apps to provide users with convenient individual stock inquiry services.
Request and Response Description
Request Method: POST Request Parameters: