V1 API
The v1 APIs in this topic are deprecated APIs. For new development, we recommend using the v2 API. The v1 API will be available until 2024-12-31, with a 30-day notice before the end.
Linked
For V2, see New Tracking Link documentation.
You can add tracking functionality to your site by adding a link to your site without any development.
https://tracker.delivery/#/:carrier_id/:track_id
Example
<a href="https://tracker.delivery/#/kr.cjlogistics/1234567890" target="_blank">Link</a>
API type
Courier List Lookup API
For V2, see New Tracking API documentation.
GET https://apis.tracker.delivery/carriers
Example response
[
{
"id": "en.cjlogistics",
"name": "CJ Logistics",
"tel": "+8215881255"
},
{
"id": "en.coupangls",
"name": "Coupang Logistics Service"
},
{
"id": "en.cupost",
"name": "CU Convenience Store Delivery",
"tel": "+8215771287"
},
{
"id": "en.chunilps",
"name": "천일택배",
"tel": "+8218776606"
},
{
"id": "kr.cvsnet",
"name": "GS Postbox",
"tel": "+8215771287"
},
...
]
Track a shipment API
For V2, see New Tracking API documentation.
GET https://apis.tracker.delivery/carriers/:carrier_id/tracks/:track_id
Example response
{
"carrier": {
"id": "en.cjlogistics",
"name": "CJ Logistics",
"tel": "+8215881255"
},
"from": {
"name": null,
"time": "2023-12-06T14:58:57+09:00"
},
"to": {
"name": null,
"time": "2024-04-25T17:19:20+09:00"
},
"progresses": [
{
"time": "2023-12-06T14:58:57+09:00",
"status": {
"id": "in_transit",
"text": "In transit"
},
"location": {
"name": "Yongsan 1"
},
"description": "Goods are being transported to the logistics terminal."
},
{
"time": "2024-04-24T15:26:13+09:00",
"status": {
"id": "at_pickup",
"text": "Pickup"
},
"location": {
"name": "경기고양신삼송"
},
"description": "We have received the goods from the sending customer"
},
{
"time": "2024-04-24T17:15:37+09:00",
"status": {
"id": "in_transit",
"text": "SM in stock"
},
"location": {
"name": "DeokyangAMP"
},
"description": "The product is being transported to the delivery location."
},
{
"time": "2024-04-25T06:28:42+09:00",
"status": {
"id": "in_transit",
"text": "In transit"
},
"location": {
"name": "DaejeonHUB"
},
"description": "The product is being transported to the delivery area."
},
{
"time": "2024-04-25T09:17:56+09:00",
"status": {
"id": "out_for_delivery",
"text": "Out for delivery"
},
"location": {
"name": "충북보은"
},
"description": "Your item will be delivered (17~19시)(Delivery person:Lee Je-gun 010-9473-1038)"
},
{
"time": "2024-04-25T17:19:20+09:00",
"status": {
"id": "delivered",
"text": "Delivered"
},
"location": {
"name": "충북보은"
},
"description": "Your item has been delivered (contact person:Lee Hae-gun 010-9473-1038)"
}
],
"state": {
"id": "delivered",
"text": "Your order has been delivered"
}
}
Authentication
Using Access Tokens
You need to inject the Authorization
header as shown below to pass the Access Token to use it.
GET https://apis.tracker.delivery/carriers/:carrier_id/tracks/:track_id
Authorization: TRACKQL-API-KEY [YOUR_CLIENT_ID]:[YOUR_CLIENT_SECRET]
Please refer to Authentication documentation for how to create an access token.
Using without authentication
Using without an Access Token is not recommended. Please use for testing purposes only.
Deprecated V1 APIs can be used without inserting an authentication header for backwards compatibility.
In this case, rate limits will be applied based on IP Address, etc.
The default Rate Limit quota applied without the authentication header will be gradually reduced, and we recommend adding the authentication header.