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)
| Service | Typical delivery |
|---|---|
| Regular Parcel | 2–9 business days |
| Expedited Parcel | 1–7 business days |
| Xpresspost | 1–2 business days |
| Priority | Next business day |
Lightweight & international
| Service | Typical delivery |
|---|---|
| Tracked Packet | Small, tracked parcels |
| Small Packet | Economical lightweight items, no tracking |
Using Canada Post through the API
- Rate.
POST /v1/ratesreturns 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 - Buy. Pass the chosen rate's
carrier,service_code,service_nameandquote_idtoPOST /v1/shipments, with anIdempotency-Key. Labels guide - Track.
GET /v1/shipments/{id}/trackingreturns its tracking events. Reference - Hand it over.
GET /v1/pickups/carrierslists the carriers that can collect from your address; otherwiseGET /v1/rates/dropoffsfinds 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.