On a Tuesday night, two months ago, while scrolling through the remnants of a once-great social network, the Facebook, I came across a two-faced ad. “Meet Brad,” said the eerie narrator as the video autoplayed in my feed. “And Brad.”
Two versions of Toronto mayoral candidate Brad Bradford appeared: one Brad, tinted hot pink, promised he won’t raise fares on my favourite mode of public transport (the TTC); another Brad, tinted electric turquoise, betrayed my trust and, according to the ad, voted for fare hikes three 1. “Brad’s record tells you who he’s really working for – and it isn’t you,” the narrator warned, as the words “Can you trust him?” took over the screen in an even more ominous black-and-white filter. (Bradford's team has stated that he won't make decisions about TTC fares until after an audit.)
times 1 1
Technically, city councilors don't vote in favour of capital and operating budgets, which are where TTC fare hikes are proposed. These are brought forward by the mayor as part of the overall budget, which councilors may only amend or decline wholesale. Each budget containing a TTC fare hike in 2023, 2020 and 2019 was accepted by council with no amendments rejecting the fare hike, meaning not just Bradford, but every councilor assented to them. (A minor amendment to reduce the cost of one transit pass in 2020 was voted against by Bradford and others, but council did not contest the broader hike.)
And then, tacked at the end: ‘Progress Toronto.’ The name sounded so sunny, but the ad was all doom and gloom. Who was this Progress Toronto?
It wasn’t until a few days later that another video would grace my tired but inquisitive eyes. This time, bathed in the dark purple glow of my laptop, I witnessed a montage: people punching strangers on the streetcar, thieves robbing homes and hooligans firing guns. This ad was of a much more sophisticated nature: it had audio of gunshots and everything. “Under Olivia Chow, Toronto has become more dangerous,” declared a voice. “This message is brought to you by A Better City Toronto, a non-profit dedicated to fixing this city.”
I backed away from my laptop. A non-profit?! I thought to myself. Why would a non-profit horrify me like this? I thought those were supposed to do good things for humanity.
Well, they say all good things come in threes. The very next day, I was buzzed awake by a WhatsApp DM: a close friend sent me a link to IntegrityTO, an Instagram account with nearly 70,000 followers. Its feed was full of posts about Chow, former mayoral candidate Chris Alexander, and city councillors Shelley Carroll, Josh Matlow, Amber Morley, Alejandra Bravo, Chris Moise, and Jamaal Myers – but none on Bradford.
That was fishy. Thanks to my years reporting on various government issues, I had a basic grasp of Toronto’s municipal elections, and I knew they’re supposed to be non-partisan. Candidates run as individuals, without formal political-party affiliations, which means federal and provincial parties can’t directly finance their campaigns.
These groups weren’t going to hand over their financial statements just because I asked nicely. They weren’t stupid. But I was.
Of course, as many democratic systems go, the arrangement was wrapped up in plenty of idealism. The idea was to free local politicians from the burden of party lines, and to keep them focused on the thrilling administrative roles of municipal government: delivering public services like maintaining roads, providing water, and collecting garbage.
Yet here they were – Progress Toronto, ABC Toronto, and IntegrityTO – all behaving like political parties. Between them, they're running attack ads, mobilizing volunteers to canvass neighbourhoods, organizing social media campaigns, and collecting pledges from voters. It’s all the machinery of electoral politics designed to sway public opinion, but neatly packaged and sold to us as 'nonprofit activity.'
It’s an ingenious arrangement. Unlike registered political parties, these nonprofits aren’t required to publicly disclose all their donors and spending.
It meant that when my editor told me to dig for numbers, I couldn’t find anything. Whose interests were being advanced by getting a particular candidate elected? And who’s bankrolling them? Without access to their moneysheets, who knows?
I couldn't file an access-to-information request because these weren’t government institutions. So, as a journalist, I asked them for their financial statements myself. I suspected these groups weren’t going to hand them over just because I asked nicely. They weren’t stupid. But I was. And I was going to damn well try to pierce that opaque veil of secrecy. For democracy, obviously.
To the surprise of exactly no one, nobody shared their financial reports.
Kelly Aizicowitz, executive director of ABC Toronto, wrote to me, “I won’t be providing the information requested, as our organization is under no obligation to do so.” Again, not stupid. “Our donors come from all over the city and from all different walks of life,” she wrote.
IntegrityTO never responded, and neither did Progress Toronto. My disappointment, however, was almost alleviated when I looked at the latter’s 'Donate' page. It stated that 70% of its money came from individual donations while 30% came from event sponsorships. But without financial statements, I would just be taking them at their own word. And who exactly provides that sponsorship revenue? Only more questions.
One union had also gotten involved. United Steelworkers authorized BadBradford.org, which criticizes Bradford’s voting record and policy positions. The union has also been mobilizing members to canvass on Chow’s behalf. Naturally, I wanted to know how much money was going into these efforts. USW answered my query by responding, “We will not be responding.”
I’d made little progress. And I didn’t want to bring shame to my editor. I needed a breakthrough.
If private entities were spending money to influence an election, surely there had to be some sort of oversight in our democratic Canada. Luckily, I wasn’t too far off. After many hours of digging, I discovered that Progress Toronto is a ‘registered third-party advertiser’ with the City of Toronto, which means it can legally spend money to support or oppose candidates without the involvement of those same candidates. It's authorized to spend up to $25,000 on election advertising and must disclose its revenue and expenses to the City.
I’d done it. I'd found a loose thread I could pull on. Excited, I started looking for the date these filings were due… It wasn't until March 30, 2027. Five full months after the election.
I couldn’t be happier: a real government-mandated paper trail I could use to track down the money flowing into the Toronto mayoral elections under the guise of non-profiteering.
I was back to square one. Out of desperation, I fell back on the most trusted investigative tool there is – Google – and typed, “Are nonprofit financial statements public in Canada?” The second link on the results page led me to a webpage from Innovation, Science and Economic Development Canada, with an entry that stated: “You are required to send financial documents every year.”
After more Googling, I discovered that Progress Toronto and IntegrityTO are both federally incorporated nonprofits classified as ‘soliciting corporations.’ If that means as little to you as it did to me, just know that under federal law, they’re required to submit financial statements to Corporations Canada because they “receive public donations and/or government grants in excess of $10,000 in a single financial year.” And those financial statements are posted online, where members of the public – e.g., moi – can obtain copies.
That’s a bingo! I couldn’t be happier: a real government-mandated paper trail I could use to track down the money flowing into the Toronto mayoral elections under the guise of non-profiteering. I trawled Corporations Canada's database to claim my treasures. (ABC Toronto only incorporated in Ontario, so it’s under no obligation to reveal its finances to the general public. Our friend Aizicowitz was right.)
The more I dug, however, the more I became convinced that Corporations Canada didn’t possess any financial statements for either Progress Toronto or IntegrityTO. Twisted and confused, I called the agency, whereupon a representative explained that if the non-profits filed their paperwork, those documents should indeed be available online. Then why couldn’t I see any? The agent suggested that the non-profits simply hadn’t filed. In Progress Toronto’s case, there appeared to be no financial filings on record.
The agent, clearly sensing my despair, suggested I file a complaint asking Corporations Canada to investigate. Four gruelling days later, relief arrived in the form of an email from an ISED Canada spokesperson. “Corporations Canada contacted Progress Toronto to ensure it understands its filing obligations and requirements under the Canada Not-for-profit Corporations Act,” he wrote. What’s more, he attached the non-profit’s financial statements for the year ending January 31, 2021, and noted that “Corporations Canada informed the corporation of its filing obligations for the remaining financial statements.”
Perhaps you’re asking yourself, “Why only 2021? Where are the financials for ’22, ’23, ’24 and ’25?”
I was asking that, too. Luckily for me, 13 days after I first emailed Corporations Canada, Progress Toronto’s 2022 statements suddenly appeared on the government’s database.
On the IntegrityTO front, the spokesperson from Corporations Canada told me that IntegrityTO only became a “soliciting corporation” following its January 1, 2026 annual meeting. Translation: its financial statements were not due until 2027. Just great.
But it wasn’t all a loss. Two years of Progress Toronto’s statements were still in front of me, all 23 pages of them. I learned that it earned more than $330,000 from January 31, 2020 to the same date in 2021, mainly from contributions (46%), fundraising events (33%) and major gifts (11%). Its revenue the following year dropped to around $310,000. Unfortunately, the statements didn't identify the generous souls or organizations behind those donations.
Progress Toronto spent $325,945 in 2020 and $319,529 in 2021, the bulk of which went to salaries and benefits, costing $226,366 and $239,706, respectively. The organization had six staff members in 2020 and five in 2021, though it’s unclear whether they worked full-time or part-time. Meanwhile, direct advertising and outreach accounted for just $12,765 and $10,027, or 4% and 3% of total expenses, respectively. And that was that.
Meta’s data showed that altogether, ABC Toronto has amassed between 618,300 and 764,997 impressions from its ad campaign.
I couldn’t leave this rabbit hole empty-handed. Not after all that I’ve gone through to get to the numbers I need. So in a cruel twist of fate, I wound right back where I stated: Facebook.
More specifically, the Meta Ad Library, a searchable database of ads running on platforms including Facebook and Instagram. It lets anyone see how much a user spent on each ad relating to social issues, elections, or politics; the catch is that Meta reports spending in ranges rather than exact amounts. For example, a given ad that really cost $150 would only be shown as costing between $100 to $199. For my purposes, that meant adding up the minimum and maximum amounts across the cornucopia of ads to estimate the total spending range of our three political non-profits.
From the beginning of 2026 through October 8, Progress Toronto spent at least $100,000 on Meta advertising alone. (These weren't all municipal election ads; some targeted Premier Doug Ford’s policies on things like education and bike lanes.)
ABC Toronto, meanwhile, spent at least $11,000 on Meta advertising over the same time period. Their ads blamed Chow for snow pile-ups, potholes, closed pools in the summer, homelessness, food insecurity, disorder on the TTC, bad traffic, drug use, and crime. Meta’s data showed that altogether, ABC Toronto has amassed between 618,300 and 764,997 impressions from its ad campaign.
In an email, Aizicowitz wrote, "All of the advertisements that we have paid for during the campaign period are solely issues focused. When and if we make specific commentary about individual candidates, they are not backed or boosted with funds and are posted in compliance per the Third Party Guidelines."
Ontario's rules for third-party advertisers in municipal and school board elections state that "advertising about an issue, rather than a candidate or a 'yes' or 'no' answer to a question on the ballot' is not considered third-party advertising," even if "a candidate has made those issues part of their campaign."
As for IntegrityTO, I couldn't find a corresponding record of paid political advertising in the Meta Ad Library. It's possible that its nearly 70,000 Instagram followers were gained organically rather than through paid advertising.
Of course, these numbers only illustrate a portion of the non-profits’ activities. Beyond posting ads on Meta, Progress Toronto recruits volunteers to deliver flyers and mobilize voters. Meanwhile, ABC Toronto ran campaigns on television and radio, and also held a press conference and distributed a pledge for candidates.
IntegrityTO was busy offline as well. It operated a booth at the two-day Pride StreetFair, recruiting volunteers and distributing merchandise and literature. Its website advertises opportunities to help with canvassing, communications, and logistics, while its online shop sold shirts, hoodies, and posters. All that mystery and intrigue, just to end up in a merch store.
For a story about tracing the money trail, an awful lot of the money ended up eluding me. I’ve probably disappointed Bob Woodward and Carl Bernstein. Good luck, Toronto voters. I got a bit lost following the money, but perhaps you'll have better luck following your hearts.













