News

Canadian taxi, ride-hail companies urge Toronto to promote them with ‘Buy Local’ campaign

The companies argue that U.S. tech companies "have taken over too many Canadian markets, reshaping our laws and regulations to build monopoly power"

Beck Taxi

Canadian taxi and ride-hailing companies are calling on Toronto city council to be included in efforts to promote local businesses.

In an open letter, Canadian companies Beck Taxi, Co-op Cabs, Toronto 1 Taxi, and Hovr called to be added to the city’s recently introduced “Buy Local, Buy Canadian” campaign amid the trade war with the U.S.

“U.S. tech companies, among the Trump administration’s biggest backers, have taken over too many Canadian markets, reshaping our laws and regulations to build monopoly power. The ride-hailing industry is a prime example,” wrote the companies in the letter.

They claim that U.S. companies operating in Toronto, like Uber and Lyft, have increased congestion, taken money from the TTC, lowered earnings for drivers and imposed surge pricing models on travellers.

The letter argues that “app-based ride-hailing and payments are now offered by many local taxi companies as well as Hovr, a new Canadian ride-hailing platform.”

To do that, the companies say Toronto council must “adopt partnership, procurement and staff reimbursement policies that commit to patronizing domestic and local vehicle-for-hire ride sourcing” and “ban the use of U.S.-based ride sourcing apps on city-issued property or for city business.”

In a statement sent to MobileSyrup following this story’s publication, an Uber Canada spokesperson said “Uber Canada is run by Canadians, helping millions of Canadians go anywhere, get anything, and earn their way at the tap of a button.” According to the company, “over 180,000 drivers and delivery people on Uber live, work, and spend in Canada,” while “tens of thousands of local restaurants and merchants use Uber Eats to reach millions of Canadians.”

The representative also argued in response to the open letter’s concerns that rideshare is only 4.5 percent of all traffic and only a third of licenced drivers make a trip every day. Meanwhile, they said Uber has been “advocating to the provincial governments to modernize labour laws to protect the flexibility of app-based work while offering benefits and protections, including minimum earnings standard for engaged time, which is now in effect in B.C. and will soon be in Ontario.” And finally, they argue that Uber doesn’t have a “monopoly” since the City of Toronto has seen two new rideshare companies enter the market in the last few months.

It remains to be seen what the city might do in response. Interestingly, a cap on the number of Uber drivers in the city was proposed last year, but Mayor Olivia Chow backed off after a legal threat from the ride-hailing company. In a report, the city said the “objective of the cap is to mitigate the risk of worsening traffic congestion, increased emissions and impact to public transit use by ceasing further growth in the number of PTC drivers, while balancing considerations for driver equity and user mobility.”

Chow ultimately sent the report back to city staff to take more time to investigate a variety of elements, including the impact of ride-share drivers on traffic congestion, ride-share fare regulation and more.

Image credit: Beck

Via: The Toronto Star

Update: 12/03/2025 at 10:18 a.m. EST — Added comment from Uber Canada.

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49