Methodology
96,768 contributions totalling $55,100,364.02, from 63,517 contributors to 1,718 campaigns across 13 elections. Where every figure comes from, what has been corrected, and what the data cannot tell you.
Two City sources, because neither covers the whole period. The Open Data catalogue's contribution release stops at 2018. The City's Elections Financial Disclosure system, which holds everything since, only goes back to 2018. Election results come from two further Open Data packages, one for general elections and one for by-elections.
| Election | Source | Dates | Contributions | Total |
|---|---|---|---|---|
| 2006 Municipal Election | Open Data | not published | 12,119 | $5,304,322.01 |
| 2010 Municipal Election | Open Data | not published | 21,651 | $11,862,184.28 |
| 2014 Municipal Election | Open Data | not published | 22,452 | $11,492,523.08 |
| 2018 Municipal Election (47 Wards) | EFD filings | yes | 285 | $151,270.05 |
| 2018 Municipal Election (25 Wards) | EFD filings | yes | 15,206 | $9,377,182.57 |
| 2021 Councillor Ward 22 By-Election | EFD filings | yes | 919 | $472,513.31 |
| 2022 Municipal Election | EFD filings | yes | 10,265 | $6,744,082.14 |
| 2023 French School Boards Trustee By-Election | EFD filings | yes | 15 | $8,309.05 |
| 2023 By-Election for Mayor | EFD filings | yes | 11,858 | $8,586,298.14 |
| 2023 Councillor Ward 20 By-Election | EFD filings | yes | 632 | $345,093.86 |
| 2024 Councillor Ward 15 By-Election | EFD filings | yes | 562 | $287,962.36 |
| 2025 TDSB Ward 11 By-Election | EFD filings | yes | 116 | $51,089.98 |
| 2025 Councillor Ward 25 By-Election | EFD filings | yes | 688 | $417,533.19 |
Contribution dates exist only from 2018 on — 40,546 of 96,768 rows. The 2006–2014 Open Data releases never published them, so nothing earlier can be charted over time.
Nothing here is audited. The City's own disclosure states that staff have not verified or amended what candidates filed, and that figures entered from paper statements may differ from the statements themselves. Where a candidate filed a corrected or supplementary statement, only the latest is searchable. These are filings, not findings.
Three checks now run on every build: amounts are refused if they arrive as comma-formatted text; every year and office is reconciled to the cent against the City's own published summary workbooks; and the build fails if any group of 500 or more contributions has a maximum below $1,000, which is the signature of that truncation.
The 2018 Open Data summary workbook carries a footnote reading "Only lists contributions of $100 or more". That footnote is wrong: the 2018 data contains 595 contributions under $100, the smallest being four cents.
The ban is not one date, and the archive shows why. Corporate and union contributions were barred from Toronto council and mayoral campaigns from the 2010 election. That ban did not cover school board trustee campaigns, which ran under provincial rules and kept accepting them legally through 2014. A province-wide ban closed the gap for 2018. Third party advertisers, a category that first existed in 2018, were covered by neither.
| General election | Corporate | Trade union |
|---|---|---|
| 2006 | 1,447 | 339 |
| 2010 | 119 | 88 |
| 2014 | 135 | 87 |
| 2018 | 1 | 2 |
A small residue survives on council after the ban — 23 contributions in 2010 and 12 in 2014. The City publishes filings as submitted and does not verify them.
Individual contributors are published by postal area — the first three characters — not their full postal code. Corporations, unions and third party registrants are published in full, including the street address the City publishes for them.
The reasoning: the City redacts individual contributors' street addresses under the Municipal Freedom of Information and Protection of Privacy Act — every individual address in all nineteen years is blank — but publishes the full postal code. In urban Toronto a full postal code commonly resolves to one side of a block or a single apartment building, and here 15,427 of 28,268 distinct postal codes belong to exactly one contributor. Name plus full postal code therefore gets a determined reader most of the way back to the address that redaction was meant to withhold. A postal area covers 113 contributors on average, which supports the geographic reporting without pointing at a household.
Full postal codes are still used behind the scenes to tell contributors apart. Only what gets published changes, and the reduction happens when the published files are built — not in the interface — so the database this site serves does not contain them.
A contributor is a name plus a postal code, with case, spacing, accents and typists' punctuation folded. Nothing looser. 63,484 of 63,517 contributors have a real postal code behind that identity; 33 do not, and are grouped by name alone for convenience — those may combine different people and are marked as such wherever they appear.
Nicknames are never merged: Bob Smith and Robert Smith at one postal code remain two contributors. Someone who moved between elections appears more than once. Known placeholder postal codes, such as the M0M 0M0 that turns up in the 2018 data, are never treated as real.
Candidates are handled differently and are resolved across elections by name, because they are public figures filing under a consistent legal name. 436 contributions also name the corporate officer or cheque signatory behind a company, which the 2010 and 2014 releases publish and which the search covers.
A person may seek only one municipal office at a time. Anyone here with two campaigns in the same year registered for the first, left before the nomination deadline, and registered for the second. Those are separate campaigns with separate money — contributions cannot be moved between them — and they are never combined.
Absence from the official results is how we know a campaign ended before the ballot was printed. Such a campaign shows no votes and no money-per-vote figure, because there is no denominator.
| Outcome | Campaigns | Meaning |
|---|---|---|
| Elected | 341 | Won the seat |
| Acclaimed | 0 | Unopposed; no votes cast |
| Defeated | 1,288 | On the ballot, lost |
| Dropped out | 49 | Raised money, left before the ballot was set |
| Election cancelled | 22 | The 2018 47-ward election, abandoned mid-campaign |
| Not applicable | 18 | Third party advertisers, never on a ballot |
Money raised per vote received is not campaign spending. It divides contributions by votes. This archive holds what came in, not what went out, so a campaign that banked money it never spent looks identical to one that spent everything.
Everything behind this site, under the same privacy rule: individuals by postal area, organizations in full. Contribution data is the City's; boundaries are adapted from Statistics Canada's 2021 Census cartographic files. Built 2026-09-22.
| File | Rows | Size |
|---|---|---|
| All elections, 2006–2025 | 96,768 | 14.9 MB |
| 2006 Municipal Election | 12,119 | 1.9 MB |
| 2010 Municipal Election | 21,651 | 3.2 MB |
| 2014 Municipal Election | 22,452 | 3.3 MB |
| 2018 Municipal Election (47 Wards) | 285 | 49 KB |
| 2018 Municipal Election (25 Wards) | 15,206 | 2.5 MB |
| 2021 Councillor Ward 22 By-Election | 919 | 147 KB |
| 2022 Municipal Election | 10,265 | 1.6 MB |
| 2023 French School Boards Trustee By-Election | 15 | 3 KB |
| 2023 By-Election for Mayor | 11,858 | 1.8 MB |
| 2023 Councillor Ward 20 By-Election | 632 | 105 KB |
| 2024 Councillor Ward 15 By-Election | 562 | 92 KB |
| 2025 TDSB Ward 11 By-Election | 116 | 20 KB |
| 2025 Councillor Ward 25 By-Election | 688 | 114 KB |
| SQLite database (the one this site queries) | 96,768 | 14.4 MB |
The working database, which holds full postal codes for individuals, is not published — that is the whole point of the rule above. Anyone wanting to reproduce the contributor matching can get the unredacted source from the City's own disclosure system, which is where the authority to publish it sits.
If something here is wrong, it is worth fixing. Errors in this archive are usually errors in how two City sources were reconciled, and those are exactly the ones worth knowing about. Get in touch through City Hall Watcher.