Usage Cost
10 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/fund-historycURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/fund-history' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "fundCode": "基金代码",\n "period": "取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\t"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/fund-history"
payload = {
"fundCode": "基金代码",
"period": "取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\t"
}
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/fund-history"
payload := []byte("{\n \"fundCode\": \"基金代码\",\n \"period\": \"取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\\t\"\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 \"fundCode\": \"基金代码\",\n \"period\": \"取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\\t\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/fund-history"))
.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/fund-history';
$payload = "{\n \"fundCode\": \"基金代码\",\n \"period\": \"取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\\t\"\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
{
"code": 200,
"msg": "成功",
"taskNo": "914968093149234333232591",
"data": {
"list": [
{
"date": "2024-06-30",
"totalValue": 0.8379,
"fundCode": "018124",
"netValue": 0.8379,
"dayOfGrowth": -0.01
}
]
}
}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 |
|---|---|---|---|---|
| fundCode | string | Yes | 基金代码 | Unspecified |
| period | string | No | 取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来 | Unspecified |
Request Example
{
"fundCode": "基金代码",
"period": "取值说明:取值1:近一个月;取值2:近3个月;取值3:近6个月;取值4:近一年;取值5:近三年;取值6:近五年;取值7:今年以来;取值8:成立以来\t"
}- 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 |
|---|---|---|---|---|
| code | number | No | 返回码,详见返回码说明 | 200 |
| msg | string | No | 返回码对应描述 | 成功 |
| taskNo | string | No | 本次请求号 | 914968093149234333232591 |
| data | object | No | Unspecified | Unspecified |
| data.list | array | No | Unspecified | [{"date":"2024-06-30","totalValue":0.8379,"fundCode":"018124","netValue":0.8379,"dayOfGrowth":-0.01}] |
| data.list[] | object | Unspecified | Unspecified | Unspecified |
Response Example
{
"code": 200,
"msg": "成功",
"taskNo": "914968093149234333232591",
"data": {
"list": [
{
"date": "2024-06-30",
"totalValue": 0.8379,
"fundCode": "018124",
"netValue": 0.8379,
"dayOfGrowth": -0.01
}
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Overview
This API is used to query historical net asset value (NAV) data for a specified fund code. Developers can retrieve key financial indicators such as unit NAV, cumulative NAV, NAV date, and daily growth rate for a given time period by providing the fund code and time period parameters. It is suitable for financial data analysis and display scenarios.
Use Cases
- Financial App Development: Display historical trends and detailed NAV records of fund products on mobile devices.
- Investment Research Data Analysis: Build quantitative analysis models that require batch retrieval of fund historical performance data.
- Wealth Management Portals: Provide high-net-worth clients with transparent fund performance review and comparison features.
- Automated Report Generation: Regularly fetch periodic NAV changes for specific funds to generate investment weekly or monthly reports.
Request and Response Details
Request Method: POST Core Parameters:
fundCode(required): Fund code, string type.