bank-cnaps-code-query
Bank CNAPS Code Lookup
Search Chinese bank branches and CNAPS clearing codes by bank, card number, province, city, or keyword, including addresses and phone numbers.
Usage Cost
5 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/bank-cnaps-code-querycURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/bank-cnaps-code-query' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "bank": "中国工商银行",\n "city": "深圳市",\n "page": "1"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/bank-cnaps-code-query"
payload = {
"bank": "中国工商银行",
"city": "深圳市",
"page": "1"
}
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/bank-cnaps-code-query"
payload := []byte("{\n \"bank\": \"中国工商银行\",\n \"city\": \"深圳市\",\n \"page\": \"1\"\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 \"bank\": \"中国工商银行\",\n \"city\": \"深圳市\",\n \"page\": \"1\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/bank-cnaps-code-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/bank-cnaps-code-query';
$payload = "{\n \"bank\": \"中国工商银行\",\n \"city\": \"深圳市\",\n \"page\": \"1\"\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": "SUCCESS",
"message": "成功",
"data": {
"page": "1",
"totalpage": "1",
"totalcount": "1",
"record": [
{
"bankCode": "102584000000",
"lname": "中国工商银行股份有限公司深圳某支行",
"bank": "中国工商银行",
"province": "广东省",
"city": "深圳市",
"addr": "深圳市某区",
"tel": "0755-00000000"
}
]
}
}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
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| bank | string | Unspecified | Unspecified | 中国工商银行 |
| city | string | Unspecified | Unspecified | 深圳市 |
| page | string | Unspecified | Unspecified | 1 |
Request Example
{
"bank": "中国工商银行",
"city": "深圳市",
"page": "1"
}- 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
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| code | string | Unspecified | Unspecified | SUCCESS |
| message | string | Unspecified | Unspecified | 成功 |
| data | object | Unspecified | Unspecified | {...} |
| data.page | string | Unspecified | Unspecified | 1 |
| data.totalpage | string | Unspecified | Unspecified | 1 |
| data.totalcount | string | Unspecified | Unspecified | 1 |
| data.record | array | Unspecified | Unspecified | [{"bankCode":"102584000000","lname":"中国工商银行股份有限公司深圳某支行","bank":"中国工商银行","province":"广东省","city":"深圳市","addr":"深圳市某区","tel":"0755-00000000"}] |
| data.record[] | object | Unspecified | Unspecified | {...} |
Response Example
{
"code": "SUCCESS",
"message": "成功",
"data": {
"page": "1",
"totalpage": "1",
"totalcount": "1",
"record": [
{
"bankCode": "102584000000",
"lname": "中国工商银行股份有限公司深圳某支行",
"bank": "中国工商银行",
"province": "广东省",
"city": "深圳市",
"addr": "深圳市某区",
"tel": "0755-00000000"
}
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
Overview
Search bank branches in China by bank name, card number, province, city, or keyword. The API returns the CNAPS clearing code, full branch name, region, address, and phone number. Provide at least one of bank, bankcard, province, city, or key. Up to the first five pages are available.