# GS Postbox Tracking API & MCP

URL: https://docs.lastscanned.com/carriers/gspostbox

Query live **GS Postbox** (`gspostbox`) package status and scan history in a single synchronous `GET` request or MCP tool call. Invoice numbers are 10–12 digits, shared with other Korean carriers, so pass `?carrier=gspostbox`.

## Overview & Quick Facts

| Property | Value |
|---|---|
| **Carrier slug (`?carrier=`)** | `gspostbox` |
| **Brand aliases** | GS Postbox, GS25 Postbox, CVSnet, 편의점택배, GS반값택배 |
| **Category** | Convenience-store parcel service (South Korea) |
| **Single-package REST endpoint** | `GET https://api.lastscanned.com/v1/track/{trackingNumber}` |
| **Batch REST endpoint** | `GET https://api.lastscanned.com/v1/track?numbers=210400000005,...` |
| **MCP server (`https://mcp.lastscanned.com`)** | `track_package`, `track_packages`, `list_carriers` |
| **Authentication & pricing** | `Authorization: Bearer lsk_live_...` · 1 free keyless lookup/day per IP |

## Tracking Number Formats & Auto-Detection

| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
| **Pass 1 (`matches`)** | none | none | none |
| **Pass 2 (`mayMatch`)** | none | none | none |

This carrier is not auto-detected. Invoice numbers are 10–12 digits (GS25 half-price parcels start `21`), a shape FedEx and Korean carriers share, so `?carrier=gspostbox` is required.

## Synchronous `GET` Request & Normalized JSON Response

```bash
curl -s "https://api.lastscanned.com/v1/track/210400000005?carrier=gspostbox" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
```

```json
{
  "carrier": "gspostbox",
  "trackingNumber": "210400000005",
  "status": "delivered",
  "statusDescription": "고객에게 전달",
  "service": "반값택배",
  "deliveredAt": "2026-07-30T12:24:05Z",
  "deliveredAtLocal": "2026-07-30T21:24:05",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": "2026-07-30T12:24:05Z",
      "localTime": "2026-07-30T21:24:05",
      "status": "delivered",
      "description": "고객에게 전달",
      "location": "GS25뉴동인3가점",
      "code": "C11"
    },
    {
      "timestamp": "2026-07-30T05:45:11Z",
      "localTime": "2026-07-30T14:45:11",
      "status": "exception",
      "description": "점포에 도착",
      "location": "GS25뉴동인3가점",
      "code": "C10"
    },
    {
      "timestamp": "2026-07-27T00:13:09Z",
      "localTime": "2026-07-27T09:13:09",
      "status": "in_transit",
      "description": "점포에서 접수",
      "location": "GS25용인서천마을점",
      "code": "C01"
    }
  ]
}
```

## Notes

- **Source**: cvsnet.co.kr's invoice page embeds the scans as JSON in a `trackingInfo` script variable.
- **Status**: `C11` (handed to the customer) is delivered; `C10` (arrived at the destination store, waiting for the customer) is shown as `exception`, the API's "ready for pick-up" convention.
- **Time zone**: scan times have no offset and are read as `Asia/Seoul`.

## Related Resources

- **Regex & check digits**: [Tracking number formats & auto-detection](/formats)