Canada Post

Carrier guide

Canada Post

Every address in Canada, plus economical lightweight international packets.

Canada Post reaches every address in the country, which makes it the usual choice for economical domestic delivery and small international packets. Regular Parcel, Expedited Parcel and Xpresspost come back side by side in the same quote.

Good for

  • Residential and rural addresses anywhere in Canada
  • Light parcels where price matters more than speed
  • Small tracked packets to the U.S. and abroad

Services

Typical transit times. Every quote shows the carrier's own estimate for your exact route and ship date.

Domestic (Canada)

ServiceTypical delivery
Regular Parcel2–9 business days
Expedited Parcel1–7 business days
Xpresspost1–2 business days
PriorityNext business day

Lightweight & international

ServiceTypical delivery
Tracked PacketSmall, tracked parcels
Small PacketEconomical lightweight items, no tracking

Using Canada Post through the API

  1. Rate. POST /v1/rates returns Canada Post services alongside every other carrier whenever it serves the route. For Canada Post only, add "carriers": ["canada_post"] and no other carrier is quoted. Reference
  2. Buy. Pass the chosen rate's carrier, service_code, service_name and quote_id to POST /v1/shipments, with an Idempotency-Key. Labels guide
  3. Track. GET /v1/shipments/{id}/tracking returns its tracking events. Reference
  4. Hand it over. GET /v1/pickups/carriers lists the carriers that can collect from your address; otherwise GET /v1/rates/dropoffs finds the nearest drop-off. Pickups guide

Canada Post rates only

Every rate that comes back has carrier: "canada_post". POST /v1/rates/quick takes the same option.

curl -s https://api.parcelhub.ca/v1/rates \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
  "from": { "name": "Warehouse", "street": "120 Adelaide St W", "city": "Toronto",
            "state": "ON", "postal_code": "M5H 1T1", "country": "CA" },
  "to":   { "name": "Sam Lee", "street": "1 Main St", "city": "Ottawa",
            "state": "ON", "postal_code": "K1P 1J1", "country": "CA" },
  "packages": [ { "weight": 2, "weight_unit": "kg", "length": 30, "width": 20,
                  "height": 15, "dimension_unit": "cm" } ],
  "carriers": ["canada_post"]
}'

Small Packet has no tracking. Its rate has tracking_available: false, so you can hide it or warn before buying.

Other carriers

UPSFedExPurolatorCanpar ExpressUniUniGLS