Skip to content

V1 API

Risk

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

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

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

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

Risk

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.