Canada Post package tracking, and the API behind it.

Canada's national post: domestic parcels by their 16-digit PIN and international registered and Xpresspost items. One free lookup a day, no sign-up.

Also known as Postes Canada, CPC.

Canada Post tracking numbers

We recognize these formats from the number alone. For anything else from Canada Post, add ?carrier=canadapost.

Domestic PIN
16 digits, GS1 check digit
International (S10)
2 letters + 9 digits + CA
Example (format only)
7012345678901230
Category
Major carriers
API carrier code
canadapost

Canada Post 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/7012345678901230?carrier=canadapost"

Claude Code

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

Then ask

> Where is my Canada Post package 7012345678901230? When will it arrive?

Canada Post tracking FAQ

How do I track a Canada Post package?
Paste the tracking number into the lookup on this page. We read Canada Post'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 Canada Post tracking API?
Yes. GET https://api.lastscanned.com/v1/track/:number?carrier=canadapost returns Canada Post 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 Canada Post tracking number look like?
Domestic PIN: 16 digits, GS1 check digit; International (S10): 2 letters + 9 digits + CA. For example 7012345678901230. lastscanned recognizes these formats on its own, so ?carrier=canadapost is optional for them.
Does this work for Postes Canada and CPC numbers?
Yes. They are tracked through Canada Post and come back as carrier "canadapost".
Can an AI agent track Canada Post packages?
Yes. Add lastscanned as an MCP server (https://mcp.lastscanned.com) in Claude, ChatGPT, Cursor or VS Code and ask it where a Canada Post parcel is.

Other carriers

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 site31 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.