shipping-address-parse
Shipping Address Parser
Intelligently extract Chinese shipping recipient details from unstructured text: name, phone number, ID number, zip code, province/city/district, and detailed address. Supports single and batch processing (up to 200 entries/request) with deduplication by phone number or name.
Usage Cost
1 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/shipping-address-parsecURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/shipping-address-parse' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "addresses": [\n "张三 13800138000 广东省深圳市南山区科技园路 1 号 518000",\n "李四 13900139000 北京市朝阳区建国路 88 号"\n ],\n "dedup": "phone"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/shipping-address-parse"
payload = {
"addresses": [
"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000",
"李四 13900139000 北京市朝阳区建国路 88 号"
],
"dedup": "phone"
}
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/shipping-address-parse"
payload := []byte("{\n \"addresses\": [\n \"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000\",\n \"李四 13900139000 北京市朝阳区建国路 88 号\"\n ],\n \"dedup\": \"phone\"\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 \"addresses\": [\n \"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000\",\n \"李四 13900139000 北京市朝阳区建国路 88 号\"\n ],\n \"dedup\": \"phone\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/shipping-address-parse"))
.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/shipping-address-parse';
$payload = "{\n \"addresses\": [\n \"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000\",\n \"李四 13900139000 北京市朝阳区建国路 88 号\"\n ],\n \"dedup\": \"phone\"\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": "success",
"data": {
"count": 2,
"originalCount": 2,
"removed": 0,
"items": [
{
"name": "张三",
"mobile": "13800138000",
"idn": null,
"postcode": "518000",
"province": "广东省",
"city": "深圳市",
"region": "南山区",
"street": "科技园路1号",
"original": "张三 13800138000 广东省深圳市南山区科技园路 1 号 518000"
},
{
"name": "李四",
"mobile": "13900139000",
"idn": null,
"postcode": null,
"province": "北京市",
"city": "北京市",
"region": "朝阳区",
"street": "建国路88号",
"original": "李四 13900139000 北京市朝阳区建国路 88 号"
}
]
}
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 600 req/min
- Timeout
- Unspecified
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 |
|---|---|---|---|---|
| addresses | array | Unspecified | Unspecified | ["张三 13800138000 广东省深圳市南山区科技园路 1 号 518000","李四 13900139000 北京市朝阳区建国路 88 号"] |
| addresses[] | string | Unspecified | Unspecified | 张三 13800138000 广东省深圳市南山区科技园路 1 号 518000 |
| dedup | string | Unspecified | Unspecified | phone |
Request Example
{
"addresses": [
"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000",
"李四 13900139000 北京市朝阳区建国路 88 号"
],
"dedup": "phone"
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 600 req/min
- Timeout
- Unspecified
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 | success |
| data | object | Unspecified | Unspecified | {...} |
| data.count | number | Unspecified | Unspecified | 2 |
| data.originalCount | number | Unspecified | Unspecified | 2 |
| data.removed | number | Unspecified | Unspecified | 0 |
| data.items | array | Unspecified | Unspecified | [{"name":"张三","mobile":"13800138000","idn":null,"postcode":"518000","province":"广东省","city":"深圳市","region":"南山区","street":"科技园路1号","original":"张三 13800138000 广东省深圳市南山区科技园路 1 号 518000"},{"name":"李四","mobile":"13900139000","idn":null,"postcode":null,"province":"北京市","city":"北京市","region":"朝阳区","street":"建国路88号","original":"李四 13900139000 北京市朝阳区建国路 88 号"}] |
| data.items[] | object | Unspecified | Unspecified | {...} |
Response Example
{
"code": "SUCCESS",
"message": "success",
"data": {
"count": 2,
"originalCount": 2,
"removed": 0,
"items": [
{
"name": "张三",
"mobile": "13800138000",
"idn": null,
"postcode": "518000",
"province": "广东省",
"city": "深圳市",
"region": "南山区",
"street": "科技园路1号",
"original": "张三 13800138000 广东省深圳市南山区科技园路 1 号 518000"
},
{
"name": "李四",
"mobile": "13900139000",
"idn": null,
"postcode": null,
"province": "北京市",
"city": "北京市",
"region": "朝阳区",
"street": "建国路88号",
"original": "李四 13900139000 北京市朝阳区建国路 88 号"
}
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Introduction
This API, based on natural language processing technology, can accurately extract key Chinese express delivery recipient information from unstructured mixed text. Core capabilities include automatically identifying and separating name, mobile number, ID card number (if any), postal code, and standard province/city/district/street detailed address.
Use Cases
- E-commerce Order Cleaning: Automatically standardize vague addresses manually entered by users, reducing shipping error rates.
- CRM Data Governance: Batch organize historical customer data and complete missing administrative division fields.
- Logistics System Integration: Real-time validation and structuring of address data during the order placement process to improve labeling efficiency.
Request and Response Description
- Request Method: POST
/v1/shipping-address-parse - Input Highlights:
addresses: String array, supports submitting up to 200 address texts per request.