Batch tracking number validator & CSV/JSON inspector.

Paste a multi-carrier list of tracking numbers to pre-validate format detection and check digits across 199 carriers, export a clean CSV/JSON manifest, or generate a single GET /v1/track?numbers=… batch API call.

10/25 numbers · 8 auto-detected across 87 rules (199 carriers)
Load preset:

Pre-Flight Format & Check-Digit Table

ups: 1usps: 1dhl: 1yunexpress: 1uniuni: 1speedx: 1inpost: 1postnl: 1override_required: 2
Tracking NumberDetected CarrierPass / Check DigitLive Lookup
1Z999AA10123456784UPS (ups)Pass 1 · Valid UPS 1Z Mod-10 (ups1Z)Track
92612903029511573030094531USPS (usps)Pass 1 · USPS IMpb prefix (92–95 / 420+ZIP)Track
GM29511573030094531DHL (dhl)Pass 1 · Pattern & length verified (no check digit)Track
YT2601500703194270YunExpress (yunexpress)Pass 1 · Pattern & length verified (no check digit)Track
UUS5BM1269395824723UniUni (uniuni)Pass 1 · Pattern & length verified (no check digit)Track
SPXUS0123456789123SpeedX (speedx)Pass 1 · Pattern & length verified (no check digit)Track
620000123456789012345678InPost (inpost)Pass 1 · Pattern & length verified (no check digit)Track
3STABA123456789PostNL (postnl)Pass 1 · Pattern & length verified (no check digit)Track
7012345678911230Pass ?carrier=16 digits, but failed Canada Post GS1 Mod-10 check digit (gs1).Track
SFCAA1234567890Pass ?carrier=Ambiguous numeric/alphanumeric formatTrack

Batch API Request Generator

curl -s "https://api.lastscanned.com/v1/track?numbers=1Z999AA10123456784%2C92612903029511573030094531%2CGM29511573030094531%2CYT2601500703194270%2CUUS5BM1269395824723%2CSPXUS0123456789123%2C620000123456789012345678%2C3STABA123456789%2C7012345678911230%2CSFCAA1234567890" \
  -H "Authorization: Bearer lsk_live_YOUR_API_KEY" | jq .

Batch Quota & Concurrency Rules

  • • GET /v1/track?numbers=a,b,c accepts up to 100 tracking numbers per HTTP call (up to 35 per single carrier).
  • • Mixed-carrier batches auto-detect each number independently in Pass 1 / Pass 2 and run in parallel.
  • • On the $4.99/mo Pro plan, re-polling already-tracked numbers in a batch costs $0 (0 extra quota).
Test the first parcel live: /lookup?number=1Z999AA10123456784 →

Frequently asked questions

How many tracking numbers can I query in a single GET /v1/track?numbers= batch request?
You can pass up to 100 comma-separated tracking numbers in a single GET /v1/track?numbers=n1,n2,... request, with up to 35 numbers belonging to the same carrier per call.
Can I mix UPS, USPS, FedEx, YunExpress, InPost, and regional couriers in the same batch call?
Yes. When you omit ?carrier=, lastscanned runs deterministic Pass 1 / Pass 2 format detection on each tracking number individually across all 199 carriers and executes the upstream lookups in parallel.
How are batch lookups billed on the $4.99/mo Pro plan?
Each unique (carrier, trackingNumber) pair is metered only once per billing month on the Pro plan. Subsequent batch calls that include already-tracked numbers refresh live status for $0 (0 extra quota).
Does the MCP server support batch package tracking for AI agents?
Yes. The remote MCP server at https://mcp.lastscanned.com exposes the track_packages tool, allowing Claude, Cursor, Windsurf, and custom agents to track up to 100 numbers in a single tool call.

Track by carrier

International posts and couriers

Cross-border