court-announcement-detail
China Court Announcement Detail API
Retrieve announcement type, issuer, party, text and publication date using a court-announcement search result ID.
Usage Cost
25 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/court-announcement-detailcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/court-announcement-detail' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "sign": "841ef7c95cd3a25b3187cf4aa193c016",\n "id": "64FA350DFE6CBB25"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/court-announcement-detail"
payload = {
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"id": "64FA350DFE6CBB25"
}
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/court-announcement-detail"
payload := []byte("{\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"id\": \"64FA350DFE6CBB25\"\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 \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"id\": \"64FA350DFE6CBB25\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/court-announcement-detail"))
.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/court-announcement-detail';
$payload = "{\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"id\": \"64FA350DFE6CBB25\"\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
[
{
"type": "起诉状副本及开庭传票",
"announcer": "[河南]郑州市二七区人民法院",
"litigant": "郑州**置业有限公司",
"content": "郑州**置业有限公司:本院受理原告***诉你公司房屋买卖合同纠纷一案...",
"publishDate": "2015-06-03"
}
]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 |
|---|---|---|---|---|
| sign | string | Yes | 调用当日签名:对 6tj4u 与调用日期 yyyyMMdd 的拼接字符串计算 32 位 MD5。日期以供应商当日校验为准;示例仅适用于 2026-10-09,跨日需重新生成。 | 841ef7c95cd3a25b3187cf4aa193c016 |
| id | string | Yes | 法院公告id,必填,填写法院公告检索得到的一个id | 64FA350DFE6CBB25 |
Request Example
{
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"id": "64FA350DFE6CBB25"
}- 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 |
|---|---|---|---|---|
| [] | object | Unspecified | Unspecified | Unspecified |
| [].type | string | No | 公告类型 | 起诉状副本及开庭传票 |
| [].announcer | string | No | 公告人/公告法院 | [河南]郑州市二七区人民法院 |
| [].litigant | string | No | 当事人 | 郑州**置业有限公司 |
| [].content | string | No | 详情正文;长度与完整性以实际返回为准 | 郑州**置业有限公司:本院受理原告***诉你公司房屋买卖合同纠纷一案... |
| [].publishDate | string | No | 发布日期,不等同于裁判或开庭日期 | 2015-06-03 |
Response Example
[
{
"type": "起诉状副本及开庭传票",
"announcer": "[河南]郑州市二七区人民法院",
"litigant": "郑州**置业有限公司",
"content": "郑州**置业有限公司:本院受理原告***诉你公司房屋买卖合同纠纷一案...",
"publishDate": "2015-06-03"
}
]$.rc == '0000'API overview
Capabilities, use cases, limitations, and frequently asked questions.
What the API provides
Retrieve an individual China court announcement using an ID obtained from the associated search service. Records can contain announcement type, issuer, party, text and publication date. This endpoint supports opening an already located record; it does not search by a company name, person name or case number.
Where to use it
Company information pages can show a selected announcement, internal review tools can display issuer and party information together, and document systems can link search IDs to retrieved text. Entity matching, deduplication, risk classification and notifications are application responsibilities. Similar names alone do not establish that records refer to the same entity.
Calling and interpreting results
Obtain the original ID from the matching court-announcement search, prepare the current-day sign value following the request-field rules, and submit both by POST. Regenerate the signature when the calling date changes. Check the business response code before reading the data array. Display individual records and keep the publication date distinct from dates mentioned in the text.
Scope and limitations
Coverage depends on the source and search results. Complete collection, a fixed update interval and complete text are not established. Content can be redacted, shortened or missing. NO_RESULTS means no usable detail was returned for that ID; signature, parameter or authorization errors mean the query failed. A notice does not by itself establish current default, liability or a litigation outcome.
Frequently asked questions
Where does the ID come from?
Use the detail ID returned by the associated court-announcement search. A name, case number or ID from another record type is not a substitute.