icp-filing-query
ICP Filing Query
Quickly query ICP filing records by entering a website domain, returning public information such as filing entity name, filing number, website name, and approval date, facilitating website compliance verification.
Usage Cost
15 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/icp-filing-querycURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/icp-filing-query' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "url": "toolkk.com",\n "pageNo": "1",\n "pageSize": "10"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/icp-filing-query"
payload = {
"url": "toolkk.com",
"pageNo": "1",
"pageSize": "10"
}
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/icp-filing-query"
payload := []byte("{\n \"url\": \"toolkk.com\",\n \"pageNo\": \"1\",\n \"pageSize\": \"10\"\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 \"url\": \"toolkk.com\",\n \"pageNo\": \"1\",\n \"pageSize\": \"10\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/icp-filing-query"))
.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/icp-filing-query';
$payload = "{\n \"url\": \"toolkk.com\",\n \"pageNo\": \"1\",\n \"pageSize\": \"10\"\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": "example",
"data": {
"page": {
"pageNo": 1,
"pageSize": 10,
"recordCount": 1
},
"items": [
{
"Status": "A",
"CompanyName": "示例主体",
"BeiAn": "浙ICP备00000000号",
"Domain": "toolkk.com"
}
]
}
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 30 req/min
- Timeout
- 15000 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
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| url | string | Unspecified | Unspecified | toolkk.com |
| pageNo | string | Unspecified | Unspecified | 1 |
| pageSize | string | Unspecified | Unspecified | 10 |
Request Example
{
"url": "toolkk.com",
"pageNo": "1",
"pageSize": "10"
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 30 req/min
- Timeout
- 15000 ms
Response Fields
Examples illustrate the response structure. Actual results depend on the API response.
Response Fields
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| code | number | Unspecified | Unspecified | 200 |
| msg | string | Unspecified | Unspecified | 成功 |
| taskNo | string | Unspecified | Unspecified | example |
| data | object | Unspecified | Unspecified | {...} |
| data.page | object | Unspecified | Unspecified | {...} |
| data.page.pageNo | number | Unspecified | Unspecified | 1 |
| data.page.pageSize | number | Unspecified | Unspecified | 10 |
| data.page.recordCount | number | Unspecified | Unspecified | 1 |
| data.items | array | Unspecified | Unspecified | [{"Status":"A","CompanyName":"示例主体","BeiAn":"浙ICP备00000000号","Domain":"toolkk.com"}] |
| data.items[] | object | Unspecified | Unspecified | {...} |
Response Example
{
"code": 200,
"msg": "成功",
"taskNo": "example",
"data": {
"page": {
"pageNo": 1,
"pageSize": 10,
"recordCount": 1
},
"items": [
{
"Status": "A",
"CompanyName": "示例主体",
"BeiAn": "浙ICP备00000000号",
"Domain": "toolkk.com"
}
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Capabilities
This API supports real-time querying of public ICP filing information for a given website domain. The returned data primarily includes the filing entity name, filing number, website name, filing status, and approval date, helping developers quickly obtain compliant website filing details.
Request and Response
- Request Parameters: Pass the domain to be queried (e.g.,
toolkk.com), and optionally specify pagination parameterspageNo(page number) andpageSize(items per page). - Response Result: Returns JSON formatted data, including pagination information and a list of filing records. The list provides fields such as entity name (
CompanyName), filing number (BeiAn), domain (Domain), and status (Status).
Use Cases
- Website Compliance Verification: In scenarios like business partnerships or platform onboarding, preliminarily verify the authenticity of a counterparty's website filing.