Track Meest (CV…US /EE / CA / MGR…) cross-border parcels into Nova Poshta and EU couriers.

Meest consolidates North American, UK, and European parcels bound for Ukraine and Central/Eastern Europe, clearing customs in Lviv and handing off toMeest Express or Nova Poshta.

Barcode transition: Meest to Nova Poshta

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

Origin / middle-mile carrier
Meest (meest)
Meest CV…US / CV…CA / MGR…
^CV\d{9}[A-Z]{2}$|^MGR[A-Z0-9]{10,16}$
Origin example
CV123456789US
Final-mile carrier
Nova Poshta (novaposhta)
Nova Poshta 14-digit (2045… / 5900…)
^(20|59)\d{12}$
Final-mile example
20450123456789
Extracted in .message
Transferred to local branch / partner courier

How the Meest → Nova Poshta handoff works

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

1. Origin collection (US / CA / EU)
Meest consolidates parcels at its Port Reading (NJ), Toronto, or European hubs.
2. Air/road linehaul & customs clearance
The shipment transits via Poland/Germany into the Lviv international customs terminal.
3. Final-mile branch or locker delivery
Meest or Nova Poshta (2045… / 5900…) delivers to the recipient’s doorstep, branch, or parcel locker.
Meest query
GET /v1/track/{number}?carrier=meest
Nova Poshta query
GET /v1/track/20450123456789?carrier=novaposhta
Auto-detection
2045…/5900… 14-digit numbers auto-detect as novaposhta

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

# 2. Query the extracted Nova Poshta barcode:
curl "https://api.lastscanned.com/v1/track/20450123456789" \
  -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 ("Transferred to local branch / partner courier")
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"

Meest International to Nova Poshta & European Final-Mile Handoff Tracking FAQ

Can I track both Meest and Nova Poshta numbers on lastscanned?
Yes. Both meest and novaposhta are first-class supported carriers on GET /v1/track/{number}.
Why do CV…US Meest numbers need ?carrier=meest?
Because CV…US matches the UPU S10 suffix for the United States (usps), pass ?carrier=meest to query Meest’s international network directly.

Other carrier handoff guides

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

All 125 supported carriers