Korea Post (EMS, International Mail) Tracking API & MCP
Query live Korea Post (koreapost) package status and scan history in a single synchronous GET request or MCP tool call. lastscanned auto-detects S10 numbers ending KR (with a valid check digit) in Pass 1 and returns a normalized TrackingResult JSON payload, with no Korea Post account or API key.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | koreapost |
| Brand & service aliases | Korea Post (우정사업본부), ePOST, Korea EMS, service.epost.go.kr, S10 …KR |
| Category | National postal operator (South Korea), international mail |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=EE123456785KR,... |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers (claude mcp add --transport http lastscanned https://mcp.lastscanned.com) |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP · Free tier (5 unique numbers/day, $0) · Pro ($4.99/mo for 1,000 unique numbers, unlimited re-polls, $0.015/extra) · HTTP 402 Stripe MPP ($0.50 for 25-number lsk_pack_ key or $0.02/number in USDC on Tempo) |
Why developers use lastscanned for Korea Post
- Korean HTML to English-keyed JSON: ePOST returns Korean server-rendered HTML.
lastscannedreads the scan table and maps Korean status words (배달완료, 배달준비, 미배달, 반송) to the standard statuses. - Local-time caveat handled: after the parcel leaves Korea, ePOST prints the destination's local time. Only scans at a Korean post office get a UTC
timestamp(Asia/Seoul).
Tracking Number Formats & Auto-Detection (matches)
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | /^[A-Z]{2}\d{9}KR$/ (UPU S10) | S10 mod-11 | EE123456785KR |
Pass 2 (mayMatch) | None | n/a | n/a |
Only S10 numbers whose check digit is valid are claimed. Anything else needs ?carrier=koreapost.
Synchronous GET Request & Normalized JSON Response
curl
curl -s "https://api.lastscanned.com/v1/track/EE123456785KR" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"MCP track_package tool call
{
"tool": "track_package",
"arguments": {
"tracking_number": "EE123456785KR"
}
}Normalized TrackingResult JSON response
{
"carrier": "koreapost",
"trackingNumber": "EE123456785KR",
"status": "delivered",
"statusDescription": "배달완료",
"service": null,
"deliveredAt": "2026-10-22T05:20:00Z",
"deliveredAtLocal": "2026-10-22T14:20:00",
"signedBy": null,
"destination": null,
"events": [
{
"timestamp": "2026-10-22T05:20:00Z",
"localTime": "2026-10-22T14:20:00",
"status": "delivered",
"description": "배달완료",
"location": "Seoul Post Office",
"code": null
},
{
"timestamp": "2026-10-22T00:05:00Z",
"localTime": "2026-10-22T09:05:00",
"status": "out_for_delivery",
"description": "배달준비",
"location": "Seoul Post Office",
"code": null
},
{
"timestamp": "2026-10-20T09:40:00Z",
"localTime": "2026-10-20T18:40:00",
"status": "in_transit",
"description": "발송교환국 도착",
"location": "Incheon International Mail Center",
"code": null
}
]
}Notes
- Unverified scan layout: the scan-row parser was written from the page markup without a live number to compare; the not-found path was verified.
- Domestic numbers: Korea Post's 13-digit domestic numbers are not auto-detected; only S10 numbers ending
KRare. - An unknown number returns
404 not_found(cached for 5 minutes).
Related Resources
- Live browser lookup tool: Track a Korea Post package live on lastscanned.com/lookup/koreapost
- Carrier hub: All supported carriers
- Regex & check digits: Tracking number formats & auto-detection
- AI support workflows: WISMO AI agents & synchronous tracking
Singapore Post (SingPost, Speedpost) Tracking API & MCP
Track SingPost and Speedpost numbers (S10 numbers ending SG) via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
NZ Post Tracking API & MCP
Track NZ Post and CourierPost parcels (S10 numbers ending NZ and domestic parcel numbers) via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.