How an address is written in Canada
An address in Canada is written in this order: house number and street name, then town or city, region and postal code on one line, with the street line, the town or city, the region and the postal code in capitals. The strongest check here is the postal code itself: GeoNames' postal code list (31 October 2026), with 1,653 postal code prefixes (the first 3 characters of each) for Canada, current codes only.
The order the lines go in
The parts are named rather than filled in: Spaw does not know an address in Canada and will not invent one. This block is produced by the same function that rewrites a real address, so the line order, the capitals Canada asks for and any text its operator prints on every envelope are the checker's own behaviour rather than a second description of it.
Organisation 12 STREET NAME Flat or unit TOWN OR CITY REGION POSTAL CODE
No recipient line: nothing in the response is about a person, so the name the envelope carries is not part of what is checked.
| field | called here | required | capitals |
|---|---|---|---|
| organization | Organisation | optional | — |
| addressLine1 | Street name | required | yes |
| addressLine2 | Flat or unit | optional | — |
| locality | Town or city | required | yes |
| administrativeArea | Region | required | yes |
| postalCode | Postal code | required | yes |
No house-number rule is carried for Canada, so the international default is used: the house number comes before the street name. The postal code is written after the town.
Can Spaw tell whether an address in Canada exists?
No. No address register is installed for Canada, so exists answers null: not evaluated, never no. An address can be perfectly formed and still not exist, and nothing here will pretend to know which.
A postcode directory answers a different question. The postal code is confirmed separately by GeoNames' postal code list, which does not list every code, so one it does not hold is not flagged.
Further reading: How to read an address-existence answer.
Check an address in Canada
The same lookup the API runs, with Canada already selected.
Live demo
POST /demo/address · no key needed
Response
Look up any address to see the full API response, straight from the live service. The country decides which format it is read against.
The postal code
Postal codes in Canada are checked against the pattern below rather than a description of it, because the shape is too particular to summarise without losing a case.
pattern [ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d
A postcode list from a multi-country source is installed for Canada, so a postal code here is not only checked for shape but looked up: 1,653 postal code prefixes (forward sortation areas) from GeoNames' postal code list, version 2026-10-31. It lists current codes only, so a retired code is not told apart from one it does not hold.
What Canada calls an address that is not a front door
A PO box, a private mailbox and the other kinds of delivery point below are told apart by the words written on the address, never by a list of whose box is whose. The rows marked as the operator's own words are taken from the addressing guide of the postal operator in Canada; the others are international spellings, not the operator's own. All of them are what the checker reads, and because an entry is carried for Canada, an address here with none of them answers street.
| address_type | written as |
|---|---|
| private_mailbox Private mailbox at a mail-receiving agency | PMBinternational spellings the checker also reads |
| po_box Post-office box | PO BOX, P O BOX, CASE POSTALE; CP (only at the start of a line, with a number)the operator's own words |
| general_delivery Held at the counter for collection | GENERAL DELIVERY, POSTE RESTANTE; GD (only at the start of a line, with a number)the operator's own words |
| military Military and diplomatic mail | CFPO, BFPOthe operator's own words |
| rural_route Rural route | RR, SS, MR, RURAL ROUTE (only at the start of a line, with a number)the operator's own words |
The anchored spellings are the conservative half of this: those words are ordinary language elsewhere in an address, so they only count when they open the line and carry a number after them.
The region codes
13 codes, which is what lets a written address be split at all — and the region written out in full is folded onto its code, so the two spellings are read as the same place.
- AB Alberta
- BC British Columbia
- MB Manitoba
- NB New Brunswick
- NL Newfoundland and Labrador
- NT Northwest Territories
- NS Nova Scotia
- NU Nunavut
- ON Ontario
- PE Prince Edward Island
- QC Quebec
- SK Saskatchewan
- YT Yukon
What can be checked for an address in Canada
Read from the datasets this server holds right now, not written into the page. For most countries the answer is the written form and the postcode shape and nothing beyond them — in particular not the row people assume is always there.
| check | for CA | what the answer means |
|---|---|---|
| Written form | yes | The address is split into the country's own parts and rewritten in the order above. A missing required part is named in one typed reason rather than a general failure. |
| postal code pattern | yes | Checked against the pattern the table carries for Canada. A value that does not match answers invalid_postal_code. |
| postal code exists | yes | 1,653 postal code prefixes from GeoNames' postal code list. It lists current codes only, so a retired code is not told apart from one it does not hold. |
| Kind of delivery point | yes | The operator's own box words are carried for Canada, so an address with no marker answers street rather than unknown. |
| Street exists | no | No register is installed for Canada, so a street is neither confirmed nor denied: match_level answers null. |
| Building exists | no | No address register is installed for Canada, so exists answers null: not evaluated, never no. Absence is not evidence here. |
| Companies at the address | no | No open company register is installed for Canada, so companies_registered answers null and no mail-drop conclusion is drawn from a count. |
| Known mailbox branch | yes | Mailbox operators' own published branch lists cover this country, and the answer names the operator that matched. |
| Post actually arrives | no | Not from this page, and not from open data in any country: whether post is delivered, and the vacant, residential and agency flags that go with it, are the postal service's own licensed product. Those fields answer deliverability_checked: false rather than a guess. |
Null means not evaluated, never no.
Other countries
Sources
- Google's Address Data Service · address-formats 2026-09-05© Google LLC, CC BY 4.0 (Google Address Data Service); initial import via commerceguys/addressing (MIT)
- The postal operators' addressing guides · address-rules 2026-09-17
- GeoNames' postal code list · geonames-postal-codes 2026-10-31Postal codes, places and centroids from GeoNames (geonames.org), CC BY 4.0.
- Mailbox operators' published branch lists · mail-drop-locations 2026-10-31
Data synced on 2026-10-31: the newest version among the datasets listed above.
More free tools
All free toolsNeed this at scale?
The Spaw API runs the same check with batch and bulk endpoints, monitored address lists, your own suppression list and outcome reporting — 100 free credits a month, no card required.