sapoInternational posts and couriers

South African Post Office package tracking, and the API behind it.

South African Post Office (SAPO, UPU S10 numbers ending ZA) parcels. One free lookup a day, no sign-up.

Try a live tracking number:

South African Post Office tracking numbers

We recognize these formats from the number alone. For anything else from South African Post Office, add ?carrier=sapo.

Tracking number
auto-detected
Example (format only)
RD987654326ZATest RD987654326ZA live ↑
Category
International posts and couriers
API carrier code
sapo

South African Post Office tracking API quickstart

One request per number, or up to 100 at once with ?numbers=a,b,c. Your agents can use the same data over MCP.

REST

curl "https://api.lastscanned.com/v1/track/RD987654326ZA?carrier=sapo"

Claude Code

claude mcp add --transport http lastscanned https://mcp.lastscanned.com

Then ask

> Where is my South African Post Office package RD987654326ZA? When will it arrive?

South African Post Office tracking FAQ

How do I track a South African Post Office package?
Paste the tracking number into the lookup on this page. We read South African Post Office's own tracking data and show every scan, the current status and the delivery details. Anyone can do one lookup a day without signing up.
Is there a South African Post Office tracking API?
Yes. GET https://api.lastscanned.com/v1/track/:number?carrier=sapo returns South African Post Office tracking as JSON, in the same shape as every other carrier lastscanned covers. Sign up for a free key with 5 lookups a day, or Pro for $4.99 a month with 1,000 numbers.
What does a South African Post Office tracking number look like?
Tracking number: auto-detected. For example RD987654326ZA. lastscanned recognizes these formats on its own, so ?carrier=sapo is optional for them.
Can an AI agent track South African Post Office packages?
Yes. Add lastscanned as an MCP server (https://mcp.lastscanned.com) in Claude, ChatGPT, Cursor or VS Code and ask it where a South African Post Office parcel is.

Other carriers

International posts and couriers

Cross-border

Tracking pages are for people. This is for your code.

Every carrier shows a parcel differently. lastscanned reads them all and answers in one shape, so your app, your spreadsheet or your agent handles any carrier the same way.

Carrier websitelastscanned API
CarriersOne carrier per site273 carriers behind one endpoint
ResponseA web page to readThe same JSON for every carrier
VolumeOne number at a timeUp to 100 numbers per request
AgentsCopy and pasteMCP server for Claude, ChatGPT and Cursor
AutomationCheck back by handPoll from your own code or workflow

Free: 5 numbers a day with a key. Pro: $4.99 a month for 1,000 numbers, then $0.015 each.