Canada Routing Number API
The Canada Routing Number API allows you to look up Canadian bank information using a routing number, transit number, or institution number. Our database covers every Canadian bank, credit union, and caisse populaire branch, with up-to-date transit and institution data.
A Canadian routing number is a 9-digit code in the EFT format 0AAATTTTT, where AAA is the 3-digit institution number and TTTTT is the 5-digit transit number. You can look up by the combined routing number or by the transit and institution numbers separately.
Looking up bank codes in other countries? See our Routing Number API (US), Sort Code API (UK), and BSB API (Australia).
Available endpoints:
- /v1/canadaroutingnumber - Get detailed information about a Canadian bank branch by routing, transit, or institution number
- /v1/canadaroutingnumbersearch - Search for Canadian banks and their routing numbers based on location
From 8,777 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 256ms | 270ms | 318ms | 576ms | 1151ms |
Similar APIs
Didn't find what you were looking for? Suggest an improvement
/v1/canadaroutingnumber GET
https://api.api-ninjas.com/v1/canadaroutingnumber
Returns detailed information about a Canadian bank branch. Provide either a 9-digit routing number, or a transit number together with an institution number.
Parameters
At least one of routing_number, or both transit_number and institution_number together, must be set.
routing_numberoptionalThe 9-digit Canadian routing number in EFT format (
0AAATTTTT).transit_numberoptionalThe 5-digit branch transit number. Must be used together with
institution_number.institution_numberoptionalThe 3-digit financial institution number. Must be used together with
transit_number.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of objects, each containing the following fields, or an error if the request is unsuccessful.
bank_namepremium onlyThe name of the bank.
routing_numberThe 9-digit Canadian routing number in EFT format.
transit_numberThe 5-digit branch transit number.
institution_numberThe 3-digit financial institution number.
branch_namepremium onlyThe name of the branch.
street_addresspremium onlyThe street address of the branch.
cityThe city of the branch.
provinceThe two-letter province or territory code (e.g. ON, QC, BC).
postal_codeThe postal code of the branch.
countryAlways
CA.phone_numberpremium onlyThe customer service phone number of the bank.
swift_codepremium onlyThe SWIFT/BIC code of the bank, useful for international wire transfers. May be
nullif the bank does not participate in SWIFT. See our SWIFT Code API for full SWIFT lookups.checksum_validWhether the routing number passes structural validation. Canada does not use a checksum algorithm, so this confirms the format is valid (9 digits, leading zero, recognized institution number).
Sample Request Live Demo!
Try our APIs in the API playground
Sign up for a free API key to get started — no credit card required.
https://api.api-ninjas.com/v1/canadaroutingnumber?routing_number=000300010Headers
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/canadaroutingnumber?routing_number=000300010" \
-H "X-Api-Key: YOUR_API_KEY"If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.
/v1/canadaroutingnumbersearch GETPremium Only
https://api.api-ninjas.com/v1/canadaroutingnumbersearch
Search for Canadian banks and their routing numbers based on location. Returns a list of branches matching the search criteria.
At least one of the parameters listed below is required. Each request can only return up to 10 results - use the offset parameter to paginate through results.
Parameters
bank_nameoptionalBank name to search for.
cityoptionalCity name to search for branches.
provinceoptionalTwo-letter province or territory code (e.g. ON, QC, BC).
postal_codeoptionalPostal code to search for branches.
offsetoptional annual subscriptions onlyNumber of results to offset for pagination.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of objects, each containing the same fields as the previous response , or an error if the request is unsuccessful.
Sample Search Request Live Demo!
Try our APIs in the API playground
Sign up for a free API key to get started — no credit card required.
https://api.api-ninjas.com/v1/canadaroutingnumbersearch?bank_name=Royal+Bank+of+CanadaHeaders
X-Api-KeyLog in or sign up to get your API KeySample Search Response
Frequently Asked Questions
Can I use the Canada Routing Number API for commercial purposes?
Yes, but you must have a premium subscription. Commercial use of the Canada Routing Number API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.How do I get an API key and start using the Canada Routing Number API?
Sign up for a free account to instantly get your API key, then pass it in theX-Api-Keyheader on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.What happens if I exceed my quota for the month?
Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.What happens if a request to the Canada Routing Number API fails?
The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.Can I look up a Canadian bank using just the transit and institution numbers instead of the full routing number?
Yes. The/v1/canadaroutingnumberendpoint accepts either a 9-digitrouting_numberin EFT format (0AAATTTTT), or a 5-digittransit_numbertogether with a 3-digitinstitution_number. For US, UK, or Australian bank codes instead, see the Routing Number API, Sort Code API, and BSB API.How do I find all branches of a bank in a particular city or province?
Use the/v1/canadaroutingnumbersearchendpoint with parameters likebank_name,city,province, orpostal_code; each request returns up to 10 branches, and you paginate with theoffsetparameter. This search endpoint and theoffsetparameter require a premium plan, so check the pricing page for details.Does the response include a SWIFT/BIC code for international wire transfers?
Yes, each result includes aswift_codefield with the bank's SWIFT/BIC code, though it may benullif the bank does not participate in SWIFT. For dedicated SWIFT lookups across institutions, use our SWIFT Code API.What does the checksum_valid field mean for a Canadian routing number?
Canada does not use a checksum algorithm, so thechecksum_validfield instead confirms structural validity: 9 digits, a leading zero, and a recognized institution number. If a lookup returns an error rather than a result, see our error codes reference.