Usage Cost
10 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/fund-manager-historycURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/fund-manager-history' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "fundCode": "基金代码"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/fund-manager-history"
payload = {
"fundCode": "基金代码"
}
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-manager-history"
payload := []byte("{\n \"fundCode\": \"基金代码\"\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}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/fund-manager-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-manager-history';
$payload = "{\n \"fundCode\": \"基金代码\"\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": "492823910191448773171202",
"data": {
"0": {
"name": [
"张璐"
],
"avatar": [
"data:image/jpg;base64,iVBORw0KGgoxxxxx"
],
"id": [
"145420292ef07aceb559cc8b7b7cd97a"
],
"gmtGrowth": -18.55,
"gmtCreate": "2023-05-04"
}
}
}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 |
Request Example
{
"fundCode": "基金代码"
}- 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 | 本次请求号 | 492823910191448773171202 |
| data | object | No | Unspecified | Unspecified |
| data.0 | object | No | 返回该基金历任的经理,返回数据以0.1.2序号分别输出 | Unspecified |
| data.0.name | array | No | 基金经理姓名(数组格式,可能多个) | ["张璐"] |
| data.0.avatar | array | No | 基金经理头像base64值(数组格式,可能多个) | ["data:image/jpg;base64,iVBORw0KGgoxxxxx"] |
| data.0.id | array | No | 基金经理唯一ID(数组格式,可能多个) | ["145420292ef07aceb559cc8b7b7cd97a"] |
| data.0.gmtGrowth | number | No | 任职收益率(后面加%) | -18.55 |
| data.0.gmtCreate | string | No | 上任日期 | 2023-05-04 |
Response Example
{
"code": 200,
"msg": "成功",
"taskNo": "492823910191448773171202",
"data": {
"0": {
"name": [
"张璐"
],
"avatar": [
"data:image/jpg;base64,iVBORw0KGgoxxxxx"
],
"id": [
"145420292ef07aceb559cc8b7b7cd97a"
],
"gmtGrowth": -18.55,
"gmtCreate": "2023-05-04"
}
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Overview
This API provides a service to query historical data for a fund's past managers. By providing a standard fund code, developers can retrieve detailed information for all previous fund managers, including their name, unique ID, avatar (Base64 format), start date, and cumulative return during their tenure.
Use Cases
- Financial Data Analysis: Build fund profiles and analyze the impact of fund manager changes on performance.
- Investment Research Tools: Display the historical stability and past performance of a fund's management team to investors.
- Wealth Management App Development: Add a “Historical Managers” module to fund detail pages to enhance information transparency.
Request and Response Details
- Request Method: POST
- Core Parameter:
fundCode(string, required), which is the fund code to be queried. - Response Structure:
- /: API status code and description.