Canada Post Guide

Canada Post offers a wide range of domestic and international shipping services:

  • Services to most Canadian residential addresses and over 190 countries.
  • A variety of mail classes, including affordable and Priority™ options.
  • Supports both scheduled and on-demand pickups.
  • Extensive network with over 5,900 post offices nationwide.
  • Discounted rates are offered by default via EasyPost integration.
  • Features include easy account setup, diverse service levels, competitive rates, simplified label generation, and reliable tracking.

Prerequisites

Account Registration

Sign up for an EasyPost account to obtain a Test and Production API key. See Authentication and Key Management for more information.

Note: Negotiated rates are only available in Production mode.

Please review the Getting Started Guide for more information.

Carrier Setup

There are two ways to ship with Canada Post: creating a new Canada Post account directly through EasyPost or Bring Your Own Account (BYOA). This streamlined process ensures users can access either EasyPost's pre-negotiated discounted rates or their own Canada Post rates.

Create a Canada Post Default Carrier Account via EasyPost

All users have access to EasyPost's Default Carrier Accounts that are available upon sign up and can be enabled on the EasyPost dashboard or through the EasyPost API.

Accounts created via EasyPost are automatically linked and benefit from discounted rates, with labels charged in USD.

Create via EasyPost Dashboard

  1. Log into EasyPost and navigate to Account Settings > Carriers.
  2. Locate Canada Post under EasyPost Carrier Accounts and select the Create Account button.
  3. Begin purchasing Canada Post labels through the EasyPost shipping API.

Create via API

The API structure specified by EasyPost can also be used to create a new Canada Post carrier account.

curl -X POST https://api.easypost.com/v2/carrier_accounts \
  -u "$EASYPOST_API_KEY": \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "CanadaPostAccount",
  "description": "CanadaPostAccount",
  "carrier_account": {
    "credentials": {
      "api_key": "VALUE",
      "contract_id": "VALUE",
      "customer_number": "VALUE",
      "has_credit_card": "VALUE",
      "not_platform": "VALUE"
    },
    "test_credentials": {
      "api_key": "VALUE",
      "contract_id": "VALUE",
      "customer_number": "VALUE",
      "has_credit_card": "VALUE",
      "not_platform": "VALUE"
    }
  }
}'
## REQUIRES CUSTOM WORKFLOW ##

Bring Your Own Account (BYOA) to EasyPost

Labels purchased with existing Canada Post credentials are billed directly by Canada Post in CAD.

  1. Register or log into the Canada Post website, ensuring a valid payment method is on file under My Profile > Payment section.
  2. Log into EasyPost and navigate to Account Settings > Carriers.
  3. Select the Add Carrier button at the top of the screen and choose Canada Post.
  4. The page will redirect to the Canada Post website for login and account authentication. All relevant credentials will be automatically saved in the EasyPost system.
  5. Start purchasing labels through the EasyPost shipping API.

BYOA to EasyPost via API

The API structure specified by EasyPost can also be used to add an existing Canada Post account. Ensure not_platform=true is set, and use the developer keys obtained from the Canada Post developer portal.

Software Requirements

Download an EasyPost Client Library or utilize the REST API with cURL.

Documentation Review

Examine the EasyPost Objects section to understand the API's structure, which is critical for constructing requests and interpreting responses.


Rates

Special prenegotiated rates are available for Default EasyPost accounts. These rates will be returned in CAD, but charged in USD through the EasyPost Wallet based on the exchange rate.

Bring Your Own Account Rates

For existing Canada Post accounts, real-time rates are provided based on the user's specific agreement with Canada Post. In cases of discrepancies or incorrect rates, users are advised to contact their Canada Post account representative.


Service Levels

Canada Post delivers 5 days per week (Monday -Friday), except during holidays. The service levels through EasyPost include:

Service
Transit Time
Max Dimensions (inches)
Max Weight (ounces)
RegularParcelUp to 3 days for local delivery, up to 6 days for regional delivery and up to 10 days for national delivery
ExpeditedParcelUp to 2 days for local delivery, up to 4 days for regional delivery and up to 8 days for national delivery
XpresspostNext-day and 2-day delivery
PriorityNext-day delivery with signature
ExpeditedParcelUSADelivery in as little as 4 business days for larger parcels
SmallPacketUSAAirDelivery in as little as 5 business days for small and lightweight items
TrackedPacketUSADelivery in as little as 4 business days for small and lightweight items
TrackedPacketUSALVM
XpresspostUSADelivery in 2 and 3 business days
XpresspostInternationalDelivery in as little as 4 business days
InternationalParcelAirDelivery in as little as 6 business days for larger parcels
InternationalParcelSurfaceDelivery in 1 month and up to 3 months
SmallPacketInternationalAirDelivery in as little as 6 business days for small and lightweight items
SmallPacketInternationalSurfaceDelivery in 1 month and up to 3 months for small and lightweight items
TrackedPacketInternationalDelivery in as little as 6 business days
ExpeditedParcelPlusUp to 3 days for local delivery, up to 6 days for regional delivery and up to 10 days for national delivery

Coverage Area

Canada Post supports a variety of service levels for CA domestic and international shipments to over 190+ countries worldwide.

Default Canada Post Accounts via EasyPost

Accounts created directly through EasyPost offer shipping options for:

  • Domestic shipments within Canada (Canada to Canada)
  • Shipments from Canada to the United States (Canada to US)

BYOA Canada Post Accounts

BYOA accounts allow users to link their existing Canada Post credentials with EasyPost, accessing their own Canada Post rates. Coverage for BYOA accounts includes:

  • Domestic shipments within Canada (Canada to Canada)
  • Shipments from/to Canada to/from the United States (Canada to US)
  • International shipments from Canada to destinations outside the US (Canada to International)

Predefined Packages

There are no predefined packages for Canada Post.


Generating Shipping Labels

With EasyPost, the process for generating shipping labels for Canada Post is the same as generating them for any other carrier.

Review the Getting Started Guide for help generating a shipping label.

Supported Options

Native Canada Post labels are available in PNG and ZPL formats.


Hazardous Materials (HAZMAT)

Hazardous Materials (or Dangerous Goods) as defined by the Transportation of Dangerous Goods Regulations, are non-mailable matter. Canada Post will not accept packages that contain dangerous goods or that display dangerous goods symbols, except for lithium batteries described in the ABCs of mailing.


Manifests and Pickups

Retail Customers: By default, there is no requirement to manifest shipments.

Contract Customers: Are REQUIRED to manifest shipments. Non-compliance results in a reassignment fee per unmanifested shipment.

Notifications and Charges

Notifications: Contract customers receive notifications for attempting to send unmanifested shipments.

Manifest Creation: Utilize the ScanForm object within EasyPost for manifest creation.

Disabling Notifications: Option to disable notifications by marking shipments as manifested in the API.

Charges: Despite disabling notifications, Canada Post charges for non-manifested shipments remain applicable.

IMPORTANT:

  • Each shipment is only allowed in one manifest.
  • Inaccurate manifests may lead to reassignment fees.
  • Detailed instructions are available in the Batch documentation

Manifest Generation

  1. Create an empty Batch object.
  2. Add desired shipments to the Batch for manifesting.
  3. Create a Manifest/ScanForm for the Batch.
  4. Print the manifest document for Canada Post drivers.

Pickups

Pickup Requests: Can be made through the EasyPost API.

Pricing Details: Consult a Canada Post representative for specific pickup pricing.

Scheduling Pickups: Detailed procedure is outlined in the Pickup documentation.


Tracking

EasyPost simplifies package tracking by offering two methods:

  • Tracking with an existing number and carrier.
  • Using a Tracker included with an EasyPost-purchased shipping label.

The service integrates webhooks for timely shipment updates. For detailed information on tracking methods, visit the Tracking Guide.


Additional Resources

Carrier Metadata

The Carrier Metadata endpoint can programmatically return information about service levels, predefined packages, supported features, and shipment options.

Use this information to quickly integrate and make educated decisions about the mix of carriers for shipping needs. Additionally, the Carrier Metadata endpoint is available to retrieve comprehensive information about all carriers on the EasyPost platform, enhancing decision-making for carrier services.

Support and Troubleshooting

In addition to the guidance provided in our Carrier Guides, EasyPost offers support to assist with FAQs, troubleshooting issues, and inquiries related to the EasyPost platform.

Please visit the Help Center for more information.


Talk to a Shipping Expert

For questions about getting started with the EasyPost API please talk to a Shipping Expert or contact our Support team.