trial-procedure-search
China Trial Procedure Search
Search Chinese trial procedure records by party keywords and retrieve counts, parties, case numbers and source-reported status.
Usage Cost
20 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/trial-procedure-searchcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/trial-procedure-search' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "entityName": "深圳市晟通物流有限公司",\n "sign": "841ef7c95cd3a25b3187cf4aa193c016",\n "matchType": "0"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/trial-procedure-search"
payload = {
"entityName": "深圳市晟通物流有限公司",
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"matchType": "0"
}
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/trial-procedure-search"
payload := []byte("{\n \"entityName\": \"深圳市晟通物流有限公司\",\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"matchType\": \"0\"\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 \"entityName\": \"深圳市晟通物流有限公司\",\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"matchType\": \"0\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/trial-procedure-search"))
.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/trial-procedure-search';
$payload = "{\n \"entityName\": \"深圳市晟通物流有限公司\",\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"matchType\": \"0\"\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
{
"count": 1,
"list": [
{
"areaName": "",
"litigant": "原告:某银行有限公司;被告:深圳市**物流有限公司;",
"accuser": "某银行有限公司",
"defender": "深圳市**物流有限公司",
"others": "",
"courtName": "",
"caseCode": "(2014)深盐法执字第00269号",
"caseStat": "结案",
"openTime": "",
"trialTime": "",
"closeTime": "2014-10-09",
"program": "",
"reason": "",
"caseType": "",
"target": ""
}
]
}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
- 10000 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 |
|---|---|---|---|---|
| entityName | string | Yes | 当事人关键字,必填 | 深圳市晟通物流有限公司 |
| sign | string | Yes | 调用当日签名:对 6tj4u 与调用日期 yyyyMMdd 拼接字符串计算 32 位 MD5。样例仅适用于 2026-10-09,跨日重新生成;不要把示例值作为默认常量。 | 841ef7c95cd3a25b3187cf4aa193c016 |
| matchType | string | No | 匹配类型,0:模糊匹配;1:精确匹配.可选,默认模糊匹配 | 0 |
Request Example
{
"entityName": "深圳市晟通物流有限公司",
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"matchType": "0"
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 60 req/min
- Timeout
- 10000 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 |
|---|---|---|---|---|
| count | integer | No | 数据源报告的结果总数,不保证等于本次 list 长度 | 1 |
| list | array | No | 本次返回记录;文档未提供分页请求字段 | Unspecified |
| list[] | object | Unspecified | Unspecified | Unspecified |
| list[].areaName | string | No | 地区名称 | Unspecified |
| list[].litigant | string | No | 当事人文本 | 原告:某银行有限公司;被告:深圳市**物流有限公司; |
| list[].accuser | string | No | 原告 | 某银行有限公司 |
| list[].defender | string | No | 被告 | 深圳市**物流有限公司 |
| list[].others | string | No | 其他当事人 | Unspecified |
| list[].courtName | string | No | 法院名称 | Unspecified |
| list[].caseCode | string | No | 案号 | (2014)深盐法执字第00269号 |
| list[].caseStat | string | No | 数据源案件状态;不表示当前最终法律结论 | 结案 |
| list[].openTime | string | No | 立案时间;空值表示未返回 | Unspecified |
| list[].trialTime | string | No | 开庭时间;空值表示未返回 | Unspecified |
API overview
Capabilities, use cases, limitations, and frequently asked questions.
API capabilities
Search Chinese court procedure records by party keywords. Results contain a reported total and a list of case records that may include region, parties, claimant, defendant, court name, case number, status and dates. Records are returned directly; there is no snippet ID or matching single-record detail endpoint.
Use cases
Case information pages can show parties, case numbers and source-reported status together for manual review. Internal tools can preserve filing, hearing and closing dates while marking missing values. Applications handle identity checks, deduplication, timelines and alerts themselves. This API does not push notifications when a case changes.
Calling and interpreting results
Send entityName and a sign generated for the calling date using POST. Choose fuzzy or exact matching with matchType. Check the business result code, then read count and list. Review caseCode, courtName and party information together. caseStat is the original status field. Keep missing openTime, trialTime and closeTime values empty; do not fill them using example dates or the current date.
Scope and limitations
The request has no date, court, page, highlighting or identity-number option. Multiple-keyword plus syntax is not explicitly documented here. The count may differ from the list length. Coverage, completeness and update intervals are not guaranteed. Missing values mean information was not provided. A historical closed status does not establish current legal finality, a judgment outcome or fulfillment of an obligation.
Frequently asked questions
Can I use a returned ID to fetch details?
No id or content field is defined. The announcement and judgment snippet-to-detail workflow does not apply.