A guide to running for office in Canada — what each level of government actually does, the rules that apply where you live, and a directory of every major city with a step-by-step page on how to run.
Why municipal
Running for federal office is a years-long campaign machine. Provincial too. Municipal politics is different.Your council decides whether the park gets fixed, whether the bus route runs past your street, whether a new development gets approved, and how much your property tax goes up next year — and you don't need a national fundraising operation to win a seat.
In most Canadian cities, a credible council campaign costs under $25,000, runs about six months from filing to election day, and is won door-to-door by people who actually live in the ward. If you've ever been frustrated at a council decision, you can almost certainly mount a real campaign.
The big picture
Canada runs on three levels of elected government. Each does very different work, and each has different rules for getting on the ballot.
Federal
Up to 5 years between elections, set by the Prime Minister.
Member of Parliament
National defence, immigration, criminal law, federal taxation, the Canada Pension Plan, employment insurance.
Provincial / territorial
Typically 4 years; fixed dates in most provinces.
MPP / MLA / MNA
Health care, K-12 education, highways, family law, most policing, natural resources, municipalities themselves.
Municipal
Usually 4 years on a fixed cycle. Rules differ by province.
Mayor, Councillor, Regional Councillor, School Trustee
Local roads, transit, parks, zoning, water, garbage, public libraries, fire and (in many places) police, property taxes, building permits.
This guide focuses on the municipal level — the roles you'll find on the ballot in your city, where the legal rules are most accessible, and where a single person with conviction can credibly compete.
Step 1
The basics are similar across most provinces. To run for municipal office in Canada you need to be:
Step 2
Cities can have several seats up at once. The four most common options:
Mayor
Head of council. The face of the city. You'll need broad name recognition and the ability to set the city's agenda for four years.
Councillor
The most accessible race. You represent a single ward (or run city-wide in smaller towns). Most successful councillors win by knocking on every door in the ward.
Regional Councillor
In Ontario two-tier regions (Halton, York, Durham, Niagara, Peel, Waterloo, etc.), some seats sit on the upper-tier council that handles regional services. Separate ballot.
School Trustee
Smaller race, often less contested. You set policy and budget for a school board. Some provinces split English / French and Public / Catholic boards onto separate ballots.
Step 3
Every province does this slightly differently, but most share the same three pieces of paperwork:
The exact rules depend on your province. The pages linked below cover the specifics for every major city.
Step 4
Most municipal terms are 4 years. Election timing varies wildly by province:
Campaign finance rules differ even more dramatically. Ontario, BC, Quebec, and Manitoba have strict per-individual contribution caps and bans on corporate / union money. Saskatchewan, Nova Scotia, New Brunswick, Newfoundland, and PEI have minimal province-wide rules — and a few of their largest cities have local bylaws that fill the gap. Alberta's Bill 20 (2024) re-allowed corporate donations.
Your local how-to-run page covers the specific numbers for your city.
Step 5
The directory below lists every major Canadian city we cover. Click any position next to your city for a step-by-step guide tailored to that office in that municipality.
Directory
Every major Canadian city, grouped by province. Each row links to the specific how-to-run guide for that office.
Toronto
2,794,356 residents
Ottawa
1,017,449 residents
Mississauga
717,961 residents
Brampton
656,480 residents
Hamilton
569,353 residents
London
422,324 residents
Markham
338,503 residents
Vaughan
323,103 residents
Kitchener
256,885 residents
Windsor
229,660 residents
Oakville
213,759 residents · town
Richmond Hill
202,022 residents
Burlington
186,948 residents
Oshawa
175,383 residents
Greater Sudbury
166,004 residents
Barrie
147,829 residents
Guelph
143,740 residents
Whitby
138,501 residents · town
Cambridge
138,479 residents
St. Catharines
136,803 residents
Milton
132,979 residents · town
Kingston
132,485 residents
Ajax
126,666 residents · town
Waterloo
121,436 residents
Thunder Bay
108,843 residents
Brantford
104,688 residents
Chatham-Kent
103,988 residents · municipality
Clarington
101,427 residents · municipality
Pickering
99,186 residents
Niagara Falls
94,415 residents
Newmarket
87,942 residents · town
Peterborough
83,651 residents
Kawartha Lakes
79,247 residents
Caledon
76,581 residents · town
Sault Ste. Marie
72,051 residents
Sarnia
72,047 residents
Norfolk County
67,490 residents · single-tier county
Halton Hills
62,951 residents · town
Aurora
62,057 residents · town
Welland
55,750 residents
Belleville
55,071 residents
North Bay
52,662 residents
Whitchurch-Stouffville
49,864 residents · town
Haldimand County
48,440 residents · single-tier county
Cornwall
47,845 residents
Georgina
47,642 residents · town
Woodstock
46,705 residents
Quinte West
46,560 residents
New Tecumseth
44,748 residents · town
Innisfil
43,326 residents · town
Bradford West Gwillimbury
42,880 residents · town
St. Thomas
42,840 residents
Timmins
41,145 residents
Lakeshore
40,917 residents · town
Brant
39,474 residents · single-tier county
East Gwillimbury
34,637 residents · town
Stratford
33,232 residents
Fort Erie
32,901 residents · town
LaSalle
32,752 residents · town
Centre Wellington
31,093 residents · township
Orangeville
30,167 residents · town
Leamington
29,680 residents · municipality
Grimsby
28,883 residents · town
King
27,333 residents · township
Clarence-Rockland
26,505 residents
Woolwich
26,007 residents · township
Tecumseh
25,883 residents · town
Lincoln
25,719 residents · town
Prince Edward County
25,704 residents
Wasaga Beach
24,862 residents · town
Collingwood
24,811 residents · town
Strathroy-Caradoc
23,871 residents · municipality
Thorold
23,816 residents
Amherstburg
23,524 residents · town
Kingsville
22,119 residents · town
Brockville
22,116 residents
Wilmot
21,939 residents · township
Springwater
21,701 residents · township
Owen Sound
21,612 residents
Scugog
21,581 residents · township
Uxbridge
21,556 residents · township
Essex
21,216 residents · town
Huntsville
21,147 residents · town
Cobourg
20,519 residents · town
Port Colborne
20,033 residents
Russell
19,598 residents · township
Niagara-on-the-Lake
19,088 residents · town
Tillsonburg
18,615 residents · town
Pelham
18,192 residents · town
Petawawa
18,160 residents · town
North Grenville
17,964 residents · municipality
Loyalist
17,943 residents · township
Port Hope
17,294 residents · municipality
Selwyn
17,060 residents · township
Greater Napanee
16,879 residents · town
Saugeen Shores
15,908 residents · town
North Perth
15,538 residents · municipality
Kenora
14,967 residents
Mississippi Mills
14,740 residents · town
Pembroke
14,364 residents
Vancouver
662,248 residents
Surrey
568,322 residents
Burnaby
249,125 residents
Richmond
209,937 residents
Abbotsford
153,524 residents
Coquitlam
148,625 residents
Kelowna
144,576 residents
Langley (District)
132,603 residents · district municipality
Saanich
117,735 residents · district municipality
Delta
108,455 residents
Nanaimo
99,863 residents
Kamloops
97,902 residents
Chilliwack
93,203 residents
Victoria
91,867 residents
Maple Ridge
90,990 residents
North Vancouver (District)
88,168 residents · district municipality
New Westminster
78,916 residents
Prince George
76,708 residents
Port Coquitlam
61,498 residents
North Vancouver (City)
58,120 residents
Langford
46,584 residents
Vernon
44,519 residents
West Vancouver
44,122 residents · district municipality
Mission
41,519 residents
Penticton
36,885 residents
Campbell River
35,519 residents
Port Moody
33,535 residents
Langley (City)
28,963 residents
Courtenay
28,420 residents
Squamish
23,819 residents · district municipality
White Rock
21,939 residents
Fort St. John
21,465 residents
Cranbrook
20,499 residents
Salmon Arm
19,432 residents
Pitt Meadows
19,146 residents
Colwood
18,961 residents
Port Alberni
18,259 residents
Lake Country
15,817 residents · district municipality
Sooke
15,086 residents · district municipality
Powell River
13,943 residents
Parksville
13,642 residents
Prince Rupert
12,300 residents
Summerland
12,042 residents · district municipality
Terrace
12,017 residents
Williams Lake
10,947 residents
Sechelt
10,847 residents · district municipality
Quesnel
9,889 residents
Trail
7,920 residents
Hope
6,686 residents · district municipality
Fernie
6,320 residents
Montréal
1,762,949 residents · ville
Québec
549,459 residents · ville
Laval
438,366 residents · ville
Gatineau
291,041 residents · ville
Longueuil
254,483 residents · ville
Sherbrooke
172,950 residents · ville
Lévis
149,683 residents · ville
Saguenay
144,723 residents · ville
Trois-Rivières
139,163 residents · ville
Terrebonne
119,944 residents · ville
Saint-Jean-sur-Richelieu
97,873 residents · ville
Brossard
91,525 residents · ville
Repentigny
86,100 residents · ville
Saint-Jérôme
80,213 residents · ville
Drummondville
79,258 residents · ville
Granby
69,025 residents · ville
Mirabel
61,108 residents · ville
Blainville
59,819 residents · ville
Saint-Hyacinthe
57,239 residents · ville
Mascouche
51,183 residents · ville
Châteauguay
50,815 residents · ville
Shawinigan
49,620 residents · ville
Rimouski
48,935 residents · ville
Dollard-des-Ormeaux
48,899 residents · ville
Victoriaville
47,760 residents · ville
Saint-Eustache
45,276 residents · ville
Vaudreuil-Dorion
44,094 residents · ville
Rouyn-Noranda
42,313 residents · ville
Boucherville
42,011 residents · ville
Salaberry-de-Valleyfield
41,975 residents · ville
Sorel-Tracy
34,755 residents · ville
Côte-Saint-Luc
33,873 residents · ville
Pointe-Claire
33,488 residents · ville
Saint-Georges
33,029 residents · ville
Val-d'Or
32,752 residents · ville
Chambly
31,544 residents · ville
Sainte-Julie
30,609 residents · ville
Alma
30,331 residents · ville
Saint-Constant
30,135 residents · ville
Magog
29,372 residents · ville
Boisbriand
28,308 residents · ville
Sainte-Thérèse
26,716 residents · ville
La Prairie
26,535 residents · ville
Saint-Bruno-de-Montarville
26,268 residents · ville
Thetford Mines
25,704 residents · ville
Sept-Îles
24,909 residents · ville
Saint-Lin–Laurentides
24,386 residents · ville
Beloeil
24,104 residents · ville
L'Assomption
23,573 residents · ville
Joliette
21,036 residents · ville
Calgary
1,306,784 residents
Edmonton
1,010,899 residents
Red Deer
100,844 residents
Strathcona County
99,225 residents · specialized municipality
Lethbridge
98,406 residents
Airdrie
74,100 residents
Wood Buffalo
72,326 residents · specialized municipality
St. Albert
68,232 residents
Grande Prairie
64,141 residents
Medicine Hat
63,271 residents
Rocky View County
41,028 residents · municipal district
Spruce Grove
37,645 residents
Leduc
34,094 residents
Parkland County
32,205 residents · municipal district
Cochrane
32,199 residents · town
Okotoks
30,405 residents · town
Fort Saskatchewan
27,088 residents
County of Grande Prairie No. 1
24,263 residents · municipal district
Foothills County
23,199 residents · municipal district
Chestermere
22,163 residents
Beaumont
20,888 residents
Sturgeon County
20,495 residents · municipal district
Lloydminster (Alberta)
19,739 residents
Camrose
18,772 residents
Sylvan Lake
16,008 residents · town
Winnipeg
749,607 residents
Brandon
51,313 residents
Steinbach
17,806 residents
RM of Hanover
17,216 residents · rural municipality
RM of Springfield
16,142 residents · rural municipality
Winkler
13,745 residents
Portage la Prairie
13,270 residents
Thompson
13,035 residents
RM of Taché
11,916 residents · rural municipality
RM of St. Andrews
11,723 residents · rural municipality
RM of St. Clements
11,586 residents · rural municipality
Selkirk
10,504 residents
Morden
9,929 residents
RM of East St. Paul
9,725 residents · rural municipality
RM of Stanley
8,981 residents · rural municipality
RM of Rockwood
8,440 residents · rural municipality
Dauphin
8,368 residents
RM of Macdonald
8,120 residents · rural municipality
RM of Ritchot
7,469 residents · rural municipality
RM of Portage la Prairie
6,888 residents · rural municipality
RM of La Broquerie
6,725 residents · rural municipality
RM of Gimli
6,569 residents · rural municipality
RM of Brokenhead
5,414 residents · rural municipality
Flin Flon
4,940 residents
RM of Headingley
4,331 residents · rural municipality
Saskatoon
266,141 residents
Regina
226,404 residents
Prince Albert
37,756 residents
Moose Jaw
33,665 residents
Swift Current
16,750 residents
Yorkton
16,280 residents
North Battleford
13,836 residents
Warman
12,419 residents
Lloydminster (Saskatchewan)
11,843 residents
Weyburn
11,019 residents
Estevan
10,851 residents
Martensville
10,718 residents
Humboldt
6,033 residents
Melfort
5,955 residents
Meadow Lake
5,322 residents
Nipawin
4,570 residents · town
Kindersley
4,567 residents · town
Melville
4,493 residents
Battleford
4,400 residents · town
White City
3,821 residents · town
Moosomin
2,657 residents · town
Pilot Butte
2,638 residents · town
Rosetown
2,507 residents · town
Unity
2,496 residents · town
Esterhazy
2,345 residents · town
Halifax Regional Municipality
439,819 residents · regional municipality
Cape Breton Regional Municipality
93,694 residents · regional municipality
Municipality of the County of Kings
47,918 residents · county municipality
Colchester County
36,044 residents · county municipality
Municipality of the District of Lunenburg
25,545 residents · district municipality
Municipality of the District of East Hants
22,892 residents · district municipality
Municipality of Pictou County
20,676 residents · county municipality
Municipality of the County of Cumberland
19,964 residents · county municipality
West Hants Regional Municipality
19,509 residents · regional municipality
Municipality of the County of Annapolis
18,834 residents · county municipality
Municipality of the County of Antigonish
15,101 residents · county municipality
Municipality of the County of Inverness
13,239 residents · county municipality
Truro
12,954 residents · town
Municipality of the District of Chester
10,693 residents · district municipality
Region of Queens Municipality
10,422 residents · regional municipality
Municipality of the District of Yarmouth
10,067 residents · district municipality
New Glasgow
9,471 residents · town
Amherst
9,413 residents · town
Bridgewater
8,790 residents · town
Municipality of the County of Richmond
8,509 residents · county municipality
Municipality of the District of Argyle
7,870 residents · district municipality
Municipality of the District of Clare
7,678 residents · district municipality
Municipality of the District of Digby
7,242 residents · district municipality
Municipality of the County of Victoria
6,750 residents · county municipality
Kentville
6,630 residents · town
Moncton
80,080 residents
Saint John
69,895 residents
Fredericton
67,625 residents
Dieppe
28,970 residents
Riverview
20,580 residents · town
Quispamsis
18,780 residents · town
Edmundston
18,365 residents
Miramichi
18,125 residents
Regional Municipality of Tracadie
16,095 residents · regional municipality
Bathurst
15,110 residents
Belle-Baie
14,335 residents · town
Campbellton
12,000 residents
Rothesay
11,975 residents · town
Woodstock
11,915 residents · town
Oromocto
11,910 residents · town
Grand Falls
10,900 residents · regional municipality
Shediac
10,670 residents · town
Hampton
9,345 residents · town
Carleton North
9,170 residents · town
Cap-Acadie
9,165 residents · regional municipality
Tantramar
9,020 residents · town
Beausoleil
8,620 residents · rural community
St. Stephen
8,165 residents · town
Caraquet
8,125 residents · town
Salisbury
7,745 residents · town
St. John's
110,525 residents
Conception Bay South
27,168 residents · town
Paradise
22,957 residents · town
Mount Pearl
22,477 residents
Corner Brook
19,333 residents
Grand Falls-Windsor
13,853 residents · town
Gander
11,880 residents · town
Portugal Cove–St. Philip's
8,415 residents · town
Happy Valley-Goose Bay
8,040 residents · town
Torbay
7,852 residents · town
Labrador City
7,412 residents · town
Clarenville
6,704 residents · town
Stephenville
6,540 residents · town
Bay Roberts
5,974 residents · town
Marystown
5,204 residents · town
Deer Lake
4,864 residents · town
Carbonear
4,696 residents · town
Channel-Port aux Basques
3,547 residents · town
Pasadena
3,524 residents · town
Placentia
3,289 residents · town
Lewisporte
3,288 residents · town
Bonavista
3,190 residents · town
Bishop's Falls
3,082 residents · town
Botwood
2,778 residents · town
Twillingate
2,121 residents · town
Charlottetown
38,809 residents
Summerside
16,001 residents
Stratford
10,927 residents · town
Three Rivers
7,883 residents · town
Cornwall
6,574 residents · town
West River
3,473 residents · rural municipality
North Shore
2,500 residents · rural municipality
Kensington
1,812 residents · town
Belfast
1,687 residents · rural municipality
Alberton
1,301 residents · town
Miltonvale Park
1,196 residents · rural municipality
Malpeque Bay
1,191 residents · rural municipality
Central Prince
1,129 residents · rural municipality
Kingston
1,111 residents · rural municipality
Souris
1,079 residents · town
Miscouche
992 residents · rural municipality
O'Leary
876 residents · town
Borden-Carleton
788 residents · town
Tignish
744 residents · town
North Rustico
648 residents · town
Lot 11 and Area
617 residents · rural municipality
Clyde River
614 residents · rural municipality
Kinkora
388 residents · rural municipality
York
387 residents · rural municipality
Central Kings
386 residents · rural municipality
RidingDesk is a Canadian-built campaign platform for municipal, provincial, and federal candidates. Hosted in Canada, MEA-compliant out of the box, and shaped by the way local campaigns actually run.
Stand up a public nomination page in minutes. Supporters fill in their info from their phone — you witness their physical signature later when you bring the paperwork in.
Sign-up forms, shift scheduling, and a single place where the whole team knows what's next.
Door-knocking with turf cutting, pinned maps, and walk lists generated from your local voters list.
Stripe-powered donation pages with built-in MEA contribution-limit and tax-receipt logic. Receipts signed by your registered Official Agent.
Free until October 26, 2026 — no credit card required.