Track Asendia (AHOY… & AS…US) parcels and extract the destination postal tracking number.

Asendia USA (a joint venture of La Poste and Swiss Post) consolidates outbound US and international e-commerce parcels (AHOY + 8 chars, AS…US, and USPS induction barcodes) and hands them off to destination postal operators (USPS, Canada Post, Royal Mail, Australia Post, La Poste). Calling GET /v1/track/:number on lastscanned returns Asendia's sortation timeline and extracts the final-mile postal barcode in message.

Barcode transition: Asendia to USPS

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

Origin / middle-mile carrier
Asendia (asendia)
Asendia e-PAQ ID
AHOY + 8 alphanumeric chars (/^AHOY[0-9A-Z]{8}$/), or AS…US with ?carrier=asendia
Origin example
AHOY12345678
Final-mile carrier
USPS (usps)
Destination Postal Barcode
USPS 92… / S10 (e.g. LZ…US, …CA, …GB)
Final-mile example
LZ123456785US
Extracted in .message
Handed to USPS as LZ123456785US

How the Asendia → USPS / Postal handoff works

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

1. Query the Asendia AHOY… or ?carrier=asendia barcode
12-character AHOY… numbers auto-detect as asendia in Pass 1; for AS…US or domestic induction labels, pass ?carrier=asendia.
2. Read the final-mile postal barcode from message
lastscanned extracts Asendia's vendor/final-mile tracking number and populates message (e.g., 'Handed to USPS as ...' or 'Handed to Canada Post as ...').
3. Track the final postal delivery
Query GET /v1/track/:destNumber to follow the parcel through USPS, Canada Post, or the destination postal service.
Pass 1 auto-detection
/^AHOY[0-9A-Z]{8}$/ routes automatically to asendia.
Explicit override
Use ?carrier=asendia for AS…US, 20-digit numerals, or USPS barcodes moving through Asendia hubs (Folcroft PA, Elk Grove Village IL, Bell CA).
Normalized destination metadata
Includes destination country and structured scan locations across US and international hubs.

Chain Asendia → USPS / Postal 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 Asendia origin waybill (extracts final-mile barcode in .message):
curl "https://api.lastscanned.com/v1/track/AHOY12345678" \
  -H "Authorization: Bearer lsk_live_YOUR_API_KEY"

# 2. Query the extracted USPS barcode:
curl "https://api.lastscanned.com/v1/track/LZ123456785US" \
  -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 ("Handed to USPS as LZ123456785US")
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"

Asendia USA to USPS / Postal Handoff Tracking FAQ

What carrier uses tracking numbers starting with AHOY?
12-character tracking numbers starting with AHOY (e.g. AHOY12345678) belong to Asendia USA (carrier code: asendia).
How do I find the final postal tracking number for an Asendia shipment?
Track the Asendia number above or via GET /v1/track/:number?carrier=asendia. When Asendia assigns a separate destination postal barcode, lastscanned returns it in the top-level message field.

All 31 supported carriers