荷物追跡APIリファレンス - リアルタイム配送追跡 | WhereParcel
月1,000件無料のリアルタイム荷物追跡API。ヤマト運輸、佐川急便、日本郵便など世界中の配送会社を追跡。単件・バッチ追跡、コード例付き。
POST
/v2/track 配送追跡 (課金対象)
概要
最大10件まで一度に追跡可能。平均応答時間5秒。CJ大韓通運、韓進エクスプレスなど500社以上の配送業者に対応。
リクエスト例
curl -X POST https://api.whereparcel.com/v2/track \
-H "Authorization: Bearer wp_test_public_demo_key_do_not_use_in_production:sk_test_public_demo_secret_do_not_use_in_production" \
-H "Content-Type: application/json" \
-d '{
"trackingItems": [
{
"carrier": "kr.cj",
"trackingNumber": "123456789012"
},
{
"carrier": "kr.hanjin",
"trackingNumber": "987654321098"
}
]
}'const response = await fetch('https://api.whereparcel.com/v2/track', {
method: 'POST',
headers: {
"Authorization": "Bearer wp_test_public_demo_key_do_not_use_in_production:sk_test_public_demo_secret_do_not_use_in_production",
"Content-Type": "application/json"
},
body: JSON.stringify({
"trackingItems": [
{
"carrier": "kr.cj",
"trackingNumber": "123456789012"
},
{
"carrier": "kr.hanjin",
"trackingNumber": "987654321098"
}
]
})
});
const data = await response.json();
console.log(data);<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.whereparcel.com/v2/track');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
$headers = [
'Authorization: Bearer wp_test_public_demo_key_do_not_use_in_production:sk_test_public_demo_secret_do_not_use_in_production',
'Content-Type: application/json'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = [
'trackingItems' => [
'0' => [
'carrier' => "kr.cj",
'trackingNumber' => "123456789012"
],
'1' => [
'carrier' => "kr.hanjin",
'trackingNumber' => "987654321098"
]
]
];
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);import requests
import json
url = 'https://api.whereparcel.com/v2/track'
headers = {
'Authorization': 'Bearer wp_test_public_demo_key_do_not_use_in_production:sk_test_public_demo_secret_do_not_use_in_production',
'Content-Type': 'application/json'
}
data = {
'trackingItems': {
'0': {
'carrier': "kr.cj",
'trackingNumber': "123456789012"
},
'1': {
'carrier': "kr.hanjin",
'trackingNumber': "987654321098"
}
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.whereparcel.com/v2/track"
payload := []byte(`{"trackingItems":[{"carrier":"kr.cj","trackingNumber":"123456789012"},{"carrier":"kr.hanjin","trackingNumber":"987654321098"}]}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Authorization", "Bearer wp_test_public_demo_key_do_not_use_in_production:sk_test_public_demo_secret_do_not_use_in_production")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
} 💡 注記: テスト用APIキーをダッシュボードで発行した実際のAPIキーに置き換えてください。
リクエストボディ
| Name | Type | Required | Description |
|---|---|---|---|
trackingItems | array | Required | |
trackingItems[].carrier | string | Required | |
trackingItems[].trackingNumber | string | Required | |
trackingItems[].clientId | string | Optional | |
レスポンス
成功レスポンス (200)
200 OK
追跡応答成功
Response Body
{
"success": true,
"results": [
{
"carrier": "kr.cj",
"trackingNumber": "123456789012",
"clientId": "order-123",
"success": true,
"data": {
"carrier": "kr.cj",
"carrierName": "CJ대한통운",
"trackingNumber": "123456789012",
"status": "delivered",
"statusText": "배달완료",
"events": [
{
"timestamp": "2026-02-05T14:30:00+09:00",
"status": "delivered",
"statusText": "배달완료",
"location": "서울 강남구",
"description": "고객님께 배달이 완료되었습니다"
},
{
"timestamp": "2026-02-05T09:15:00+09:00",
"status": "out_for_delivery",
"statusText": "배달 출발",
"location": "서울 강남구 센터"
},
{
"timestamp": "2026-02-04T18:00:00+09:00",
"status": "in_transit",
"statusText": "집하",
"location": "서울 송파구 센터"
}
]
}
},
{
"carrier": "kr.hanjin",
"trackingNumber": "987654321098",
"success": true,
"data": {
"carrier": "kr.hanjin",
"carrierName": "한진택배",
"trackingNumber": "987654321098",
"status": "in_transit",
"statusText": "배송 중",
"events": [
{
"timestamp": "2026-02-05T12:00:00+09:00",
"status": "in_transit",
"statusText": "간선상차",
"location": "경기 성남시"
}
]
}
}
]
} エラーレスポンス (401)
401 Unauthorized
認証失敗 - APIキーがないか無効です
Response Body
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
} エラーレスポンス (429)
429 Too Many Requests
リクエスト制限超過
Response Body
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Please try again later."
}
}