UPS package tracking, and the API behind it.

Ground, Air and SurePost parcels by their 1Z number, with every scan and the delivery signature. One free lookup a day, no sign-up.

Also known as United Parcel Service, UPS Ground, UPS SurePost.

UPS tracking numbers

We recognize these formats from the number alone. For anything else from UPS, add ?carrier=ups.

1Z number, mod 10 check digit
1Z + 16 letters and digits
Example (format only)
1Z999AA10123456784
Category
Major carriers
API carrier code
ups

UPS 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/1Z999AA10123456784?carrier=ups"

Claude Code

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

Then ask

> Where is my UPS package 1Z999AA10123456784? When will it arrive?

UPS tracking FAQ

How do I track a UPS package?
Paste the tracking number into the lookup on this page. We read UPS'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 UPS tracking API?
Yes. GET https://api.lastscanned.com/v1/track/:number?carrier=ups returns UPS 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 UPS tracking number look like?
1Z number, mod 10 check digit: 1Z + 16 letters and digits. For example 1Z999AA10123456784. lastscanned recognizes these formats on its own, so ?carrier=ups is optional for them.
Does this work for United Parcel Service and UPS Ground and UPS SurePost numbers?
Yes. They are tracked through UPS and come back as carrier "ups".
Can an AI agent track UPS packages?
Yes. Add lastscanned as an MCP server (https://mcp.lastscanned.com) in Claude, ChatGPT, Cursor or VS Code and ask it where a UPS 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 site18 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.