ContractTrail

Government contracts by place

By where the vendor is based, going by the postal code on the contract or, where it gives none, the one on the vendor’s other contracts. That is the vendor’s address, not where the work was done. Rural postal codes cover many towns, so contracts there count in their province but not a city.

Federal contracts over $10,000, contracts dated Jan 2004 to Sep 2026, each counted once at its latest reported value. Source: Treasury Board proactive publication of contracts, published October 13, 2026. Departments give a postal code on fewer than half of contracts: 63% of federal contracts can be placed in a province, so place totals understate what went to each.

Provinces and territories

Province or territoryContractsTotal
Ontario380,690$173B
Location not given352,614$97.2B
Quebec101,908$55.4B
British Columbia61,763$35.6B
Vendors outside Canada49,911$33.8B
Nova Scotia34,372$24.5B
Alberta40,196$8.1B
Saskatchewan7,162$6B
New Brunswick18,747$5B
Manitoba14,206$4.1B
Newfoundland and Labrador15,230$3.7B
Nunavut2,922$1.2B
Northwest Territories3,598$335M
Prince Edward Island2,919$270M
Yukon1,609$207M

Biggest cities

Each province page lists its cities.

CityContractsTotal
Ottawa, ON122,886$45.5B
Markham, ON5,144$22.5B
Toronto, ON27,002$20.7B
Halifax, NS6,122$20.1B
North Vancouver, BC1,937$16.9B
Montréal, QC18,449$15.5B
Calgary, AB17,875$9.7B
Mississauga, ON21,012$9.5B
Edmonton, AB14,358$9.4B
Kanata, ON10,014$8.5B
Lévis, QC1,535$6.7B
Mirabel, QC551$5.2B
Victoria, BC8,265$4.1B
Winnipeg, MB10,100$3.6B
Vancouver, BC11,603$3.4B
Brampton, ON2,105$3.4B
London, ON2,480$2.7B
St. John's, NL6,282$2.4B
Abbotsford, BC594$2.3B
Saint-Georges, QC156$2.2B
Saint-Jean-Sur-Richelieu, QC1,221$2.2B
Richmond, BC2,751$2B
Saint John, NB5,767$1.7B
Saint-Laurent, QC2,678$1.6B
Moncton, NB2,800$1.5B
Dartmouth, NS11,908$1.5B
Oakville, ON8,686$1.4B
Dorval, QC3,273$1.4B
Québec, QC9,168$1.4B
Burnaby, BC3,693$1.3B
Gatineau, QC10,959$1.3B
Kitchener, ON1,643$887M
Stittsville, ON2,158$885M
Bedford, NS1,550$829M
Orleans, ON3,616$812M
Lethbridge, AB1,367$794M
Richmond Hill, ON1,848$782M
Thornhill, ON965$738M
Fredericton, NB3,692$709M
Red Deer, AB761$695M
Kingston, ON4,384$686M
Oshawa, ON4,034$681M
Saskatoon, SK3,344$621M
Medicine Hat, AB1,693$602M
Mount Pearl, NL2,387$531M
Regina, SK1,439$519M
Hamilton, ON786$475M
Delta, BC1,018$461M
Sherwood Park, AB428$447M
Laval, QC2,906$437M
Concord, ON3,157$426M
Surrey, BC2,585$411M
Pointe-Claire, QC3,682$378M
Waterloo, ON1,878$356M
Anjou, QC1,646$350M
Blainville, QC608$337M
Grande Prairie, AB434$325M
Gaspé, QC211$322M
Kelowna, BC2,161$320M
St. Albert, AB356$319M
Brossard, QC813$297M
Burlington, ON2,319$284M
Penticton, BC317$262M
Scarborough, ON3,180$256M
Fort McMurray, AB522$247M
Arnprior, ON428$237M
Guelph, ON1,235$232M
Collingwood, ON72$229M
Cambridge, ON669$227M
Nanaimo, BC1,598$226M
Georgetown, ON819$221M
Sidney, BC2,510$218M
Lacombe, AB157$209M
Sydney, NS874$207M
Terrace, BC416$206M
Whitehorse, YT1,393$199M
Salaberry-de-Valleyfield, QC58$179M
Barrhead, AB107$177M
Stony Plain, AB411$173M
Pembroke, ON730$167M
Prince Albert, SK782$165M
Prince George, BC248$162M
Lachine, QC1,752$162M
Windsor, ON1,129$145M
Miramichi, NB74$142M
Innisfail, AB147$137M
Coquitlam, BC466$135M
Charlottetown, PE984$135M
Petawawa, ON431$132M
Yellowknife, NT1,808$132M
Grand Falls, NB303$131M
Wainwright, AB1,673$130M
Ingersoll, ON31$129M
Corner Brook, NL440$126M
Olds, AB119$125M
Cold Lake, AB1,827$124M
Acheson, AB24$122M
Thunder Bay, ON772$122M
Woodbridge, ON1,485$120M
High River, AB112$116M