How to track YTO Express (Yuantong) international parcels handed off to DHL Paket in Germany

YTO Express (`yto`) operates dedicated Boeing 757/767 cargo flights (`YTO Cargo Airlines`) from China into Europe and injects cleared German e-commerce parcels into DHL Paket (`00340434...`) and Hermes Germany.

Try a live tracking number:

Barcode transition: YTO Express to DHL Paket (Germany)

When YTO Express clears customs and hands off to DHL Paket (Germany), lastscanned surfaces the secondary tracking number in the top-level message field.

Origin / middle-mile carrier
YTO Express (yto)
YTO Express Waybill (`YT...`)
^YT[0-9A-Z]{12,16}$
Origin example
YT8492019482910
Final-mile carrier
DHL Paket (Germany) (dhlde)
DHL Paket 20-digit Barcode
^0034[0-9]{16}$
Final-mile example
00340434482910492833
Extracted in .message
Last-mile carrier: DHL Paket (00340434482910492833)

How the YTO Express → DHL Paket DE handoff works

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

1. YTO Origin Sortation & Air Export
YTO Express collects the parcel in China (`YT...` waybill) and loads it onto a YTO Cargo Airlines or commercial air freight flight bound for Europe.
2. Customs Clearance & German Linehaul
After clearing EU IOSS customs at the port of entry, pallets are trucked directly into DHL Paket's German hub network.
3. DHL Paket Delivery
DHL Paket scans the `00340434...` barcode (`Die Sendung wurde von DHL bearbeitet`) and completes doorstep or Packstation delivery.
YT Prefix Disambiguation (`yto` vs `yunexpress`)
Both YTO Express (13–15 character `YT...`) and YunExpress (18-digit `YT` + 16 digits) use the `YT` prefix; `lastscanned` inspects barcode length and structure to route `YT...` numbers accurately and extract the German `0034...` DHL barcode.
Single-Endpoint Tracking
Pass your YTO tracking number to `GET /v1/track/{number}` to receive both Chinese origin scans and German DHL Paket events.

Chain YTO Express → DHL Paket DE 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 YTO Express origin waybill (extracts final-mile barcode in .message):
curl "https://api.lastscanned.com/v1/track/YT8492019482910" \
  -H "Authorization: Bearer lsk_live_YOUR_API_KEY"

# 2. Query the extracted DHL Paket (Germany) barcode:
curl "https://api.lastscanned.com/v1/track/00340434482910492833" \
  -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 ("Last-mile carrier: DHL Paket (00340434482910492833)")
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"

YTO Express to DHL Paket Germany Handoff Tracking FAQ

How do I tell if my YT tracking number is YTO Express or YunExpress?
YunExpress tracking numbers are strictly 18 characters (`YT` followed by 16 digits, e.g. `YT24...`), whereas YTO Express numbers are typically 15 characters (`YT` followed by 13 digits).
Who delivers YTO Express packages inside Germany?
DHL Paket (Deutsche Post) and Hermes Germany handle the final-mile delivery once YTO Express completes air transit and EU customs clearance.
How long does YTO Express take to reach Germany?
Standard YTO cross-border parcels arrive in Germany in 7 to 12 business days.

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