How to Get Your Canada Post API Key and Secret
Step-by-step guide to getting your Canada Post API Key and Secret (password) from the free Canada Post Developer Program, then connecting them to BTCPost.
To connect BTCPost (or any shipping integration) to Canada Post, you need an API Key and API Secret (called a "password" by Canada Post). These come from the Canada Post Developer Program, which is free to join.
Prerequisites
- An active Canada Post account. If you don't have one yet, see the guide How to Use Canada Post with Crypto first.
- You must be logged in to Canada Post on a desktop browser. The Developer Program is not accessible from the mobile app.
Log In to Canada Post
Go to canadapost-postescanada.ca and sign in with your username and password.
Navigate to the Developer Program
Once logged in:
- In the top navigation, click Business
- Hover over or click E-Commerce
- Select Integrate with Our APIs
- On the page that loads, click the Go to Developer Program button
Alternatively, you can go directly to: canadapost-postescanada.ca/information/app/drc/home
Join the Developer Program
If this is your first time accessing the Developer Program:
- You will be shown the License Agreement
- Read through the terms, then click Agree and Continue
- You are now a member — no approval process, no waiting period
If you have already joined previously, this step is skipped and you land directly on the Developer Program dashboard.
Find Your API Keys
On the Developer Program main page, look for the API Keys section in the left-hand sidebar and click it.
You will see two sets of credentials:
| Key Type | When to Use |
|---|---|
| Development Key + Password | Testing and sandbox use only — no real charges |
| Production Key + Password | Live shipping, real labels, real billing |
Each set has two values:
- Username — a long alphanumeric string that identifies your application
- Password (API Secret) — the corresponding secret used to authenticate API calls
Canada Post calls the secret a "password", but it functions as an API secret key. Treat it like a password — do not share it or commit it to public code repositories.
Copy Your Production Credentials
For live use with BTCPost, you need the Production key pair.
- Click to reveal or copy the Production Username
- Click to reveal or copy the Production Password
- Store both in a safe place (a password manager is recommended)
Finding Your Customer Number
Your Customer Number is a 10-digit number assigned to your Canada Post account. It is separate from your API key but required by most integrations.
- Go to My Profile
- Your Customer Number is listed under the Account Information section
Enter Credentials in BTCPost
Back in BTCPost:
- Go to Settings > Provider > Canada Post
- Paste your Production Username into the API Username field
- Paste your Production Password into the API Password field
- Enter your Customer Number
- Save the settings
BTCPost will verify the connection. If the status shows Connected or Active, you are ready to start generating labels and rates.
Notes
Development vs Production keys
Use the Development key only while testing. Shipments created in the sandbox environment are not real and will not be billed, but they also will not produce valid labels. Switch to the Production key before going live.
Regenerating keys
If your keys are ever compromised, you can regenerate them from the same Developer Program dashboard. Regenerating keys will immediately break any existing integrations using the old keys — update BTCPost right away after regenerating.
Customer Number
This is a separate identifier from the API key. It is an 8–10 digit number assigned to your Canada Post account and is used for billing and shipment tracking. You can find it under My Profile once logged in.
Key access is free
Joining the Developer Program and obtaining API keys costs nothing. You are only billed when you generate real shipping labels in the Production environment.
Quick Reference
| What you need | Where to find it |
|---|---|
| API Key (Production) | Canada Post Developer Program > API Keys |
| API Password / Secret (Production) | Canada Post Developer Program > API Keys |
| Customer Number | Canada Post account > My Profile |
| Developer Program URL | canadapost-postescanada.ca/information/app/drc/home |
BTCPost is an independent shipping plugin for WooCommerce and is not affiliated with, endorsed by, or partnered with Canada Post. This guide is provided for informational purposes only; Canada Post's services and Developer Program are governed by their own terms and policies, which may change.