court-hearing-announcement-detail
China Court Hearing Announcement Detail API
Retrieve region code, region name, court, title and announcement text using a hearing-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-hearing-announcement-detailcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/court-hearing-announcement-detail' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "sign": "841ef7c95cd3a25b3187cf4aa193c016",\n "id": "2E387DC3F65E25FE"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/court-hearing-announcement-detail"
payload = {
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"id": "2E387DC3F65E25FE"
}
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-hearing-announcement-detail"
payload := []byte("{\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"id\": \"2E387DC3F65E25FE\"\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\": \"2E387DC3F65E25FE\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/court-hearing-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-hearing-announcement-detail';
$payload = "{\n \"sign\": \"841ef7c95cd3a25b3187cf4aa193c016\",\n \"id\": \"2E387DC3F65E25FE\"\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
[
{
"areaCode": "110000",
"areaName": "北京市",
"court": "北京知识产权法院",
"title": "北京知识产权法院开庭公告",
"content": "我院定于二〇一五年四月十四日 上午九时三十分,在本院第一法庭依法公开开庭审理北京百度网讯科技有限公司与北京奇虎科技有限公司不正当竞争纠纷一案。"
}
]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 | 2E387DC3F65E25FE |
Request Example
{
"sign": "841ef7c95cd3a25b3187cf4aa193c016",
"id": "2E387DC3F65E25FE"
}- 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 |
| [].areaCode | string | No | 地区编码 | 110000 |
| [].areaName | string | No | 地区名称 | 北京市 |
| [].court | string | No | 法院 | 北京知识产权法院 |
| [].title | string | No | 标题 | 北京知识产权法院开庭公告 |
| [].content | string | No | 详情正文;长度与完整性以实际返回为准 | 我院定于二〇一五年四月十四日 上午九时三十分,在本院第一法庭依法公开开庭审理北京百度网讯科技有限公司与北京奇虎科技有限公司不正当竞争纠纷一案。 |
Response Example
[
{
"areaCode": "110000",
"areaName": "北京市",
"court": "北京知识产权法院",
"title": "北京知识产权法院开庭公告",
"content": "我院定于二〇一五年四月十四日 上午九时三十分,在本院第一法庭依法公开开庭审理北京百度网讯科技有限公司与北京奇虎科技有限公司不正当竞争纠纷一案。"
}
]$.rc == '0000'API overview
Capabilities, use cases, limitations, and frequently asked questions.
What the API provides
Retrieve an individual China court hearing announcement using an ID from the matching search service. Records can contain region code, region name, court, title and text. Hearing arrangements may appear within the text, but the public response has no separate hearing-time or hearing-location field. Keep the original text available for review.
Where to use it
Case management tools can open a located announcement, support pages can show court information for manual checks, and document systems can associate IDs with detail records. To create a calendar or reminder from the text, the application must extract and verify time and place, handle time zones and check later changes. The endpoint does not schedule hearings or deliver notifications.
Calling and interpreting results
Obtain the hearing-announcement ID, prepare the current-day sign value according to the request rules, and submit both by POST. An old-date signature may fail verification. Check the business response code before reading the data array. Interpret each record using its region, court and title. Store region codes as strings, and do not treat historical sample arrangements as current appointments.
Scope and limitations
No fixed coverage, refresh interval or complete-text guarantee is established. Confirm postponements, cancellations and subsequent notices with the court or original publication channel. Missing fields do not establish that no hearing is scheduled. NO_RESULTS means no usable detail for the ID; signature and service errors mean a failed query. A hearing announcement is not a judgment and does not establish liability or a final case outcome.
Frequently asked questions
Can I list all of today’s hearings for a court?
No. This endpoint accepts a detail ID and has no date, court-name or pagination filters. Obtain records through the matching search first.