Track heavier SF Express International Standard and Priority (`SF1...` / `SF604...`) cartons into UPS Ground (`1Z...`).

High-value electronics, keyboards, 3D printers, and multi-kilogram cartons shipped from China via SF Express International Standard or Priority exceed USPS lightweight thresholds and hand off to UPS Ground (`1Z...`) or UPS Mail Innovations after clearing US or European customs gateways.

Try a live tracking number:

Barcode transition: SF Express to UPS

When SF Express clears customs and hands off to UPS, lastscanned surfaces the secondary tracking number in the top-level message field.

Origin / middle-mile carrier
SF Express (sfexpress)
SF Express Waybill (SF + 12–13 digits)
SF1… / SF604…
Origin example
SF1429831049281
Final-mile carrier
UPS (ups)
UPS 1Z Tracking Number (18 chars)
1Z…
Final-mile example
1Z999AA10123456784
Extracted in .message
Shipment tendered to partner carrier UPS for final delivery

How the SF Express → UPS handoff works

Follow the parcel across both networks without waiting on asynchronous webhooks or losing visibility at the handoff boundary.

1. SF Express export & air linehaul
Shipments over 2 kg or commercial priority boxes fly from Shenzhen Bao'an or Hong Kong International Airport to LAX, JFK, ORD, or European gateways.
2. Gateway customs clearance & UPS relabeling
Once customs entry clears, SF Express's gateway tenders the carton to the local UPS hub under a linked 1Z… tracking number.
3. UPS Ground final-mile delivery
UPS scans the 1Z… label at origin sort and completes residential or commercial delivery.
SF Express query
GET /v1/track/SF1429831049281?carrier=sfexpress
UPS query
GET /v1/track/1Z999AA10123456784?carrier=ups

Chain SF Express → UPS in code or MCP

Resolve both legs synchronously in TypeScript, curl, or your AI support agent via Streamable HTTP MCP.

REST (Synchronous GET)

# 1. Query SF Express origin waybill (extracts final-mile barcode in .message):
curl "https://api.lastscanned.com/v1/track/SF1429831049281" \
  -H "Authorization: Bearer lsk_live_YOUR_API_KEY"

# 2. Query the extracted UPS barcode:
curl "https://api.lastscanned.com/v1/track/1Z999AA10123456784" \
  -H "Authorization: Bearer lsk_live_YOUR_API_KEY"

TypeScript (Automatic Handoff Chaining)

const headers = { Authorization: `Bearer ${process.env.LASTSCANNED_API_KEY}` };
const originRes = await fetch(`https://api.lastscanned.com/v1/track/${encodeURIComponent(number)}`, { headers });
const originPkg = await originRes.json();

// Extract secondary barcode from top-level message ("Shipment tendered to partner carrier UPS for final delivery")
const handoff = originPkg.message?.match(/^Handed to (.+?) as ([A-Z0-9-]+)$/i);
if (handoff) {
  const [, , lastMileNumber] = handoff;
  const destRes = await fetch(`https://api.lastscanned.com/v1/track/${encodeURIComponent(lastMileNumber)}`, { headers });
  const destPkg = await destRes.json();
}

Remote MCP (Claude Code / Cursor / ChatGPT)

claude mcp add --transport http lastscanned https://mcp.lastscanned.com \
  --header "Authorization: Bearer lsk_live_YOUR_API_KEY"

SF Express to UPS Ground Handoff Tracking FAQ

Why did my SF Express tracking switch to a `1Z` UPS number?
For parcels over 2 kg or expedited commercial shipments, SF Express partners with UPS Ground and UPS Saver for final-mile delivery in the United States and Europe.
Why does UPS show 'Shipper created a label, UPS has not received the package yet'?
The 1Z label is generated when the parcel departs China; UPS logs its first physical scan after the shipment lands at LAX/JFK and clears US customs.

Other carrier handoff guides

Explore cross-border last-mile barcode extraction and domestic USPS consolidator overrides across all 273 carriers.

All 273 supported carriers

International posts and couriers

Cross-border