News

Apple’s Mac upgrades now cost up to $600 more in Canada

Over the last few weeks, Mac and MacBook upgrade options have increased by as much as $600 in Canada

Apple Mac mini in Canada

Apple quietly raised the prices of storage and RAM upgrades for several Mac and MacBook models in Canada.

A MobileSyrup reader alerted us to the increased prices after noticing the shift when pricing out an M4 Mac mini on Apple’s website. They told MobileSyrup that the same configuration they purchased a few months ago now costs $300-$450 more in Canada.

MobileSyrup dug into Apple’s website and, using the Wayback Machine and our prior coverage, was able to confirm that the company increased the prices of several upgrade options for Mac and MacBook models. Various upgrade options like extra RAM and storage have increased by as much as $600, depending on the part. Below is a short list of some of the M4 Pro Mac mini price changes:

  • M4 Pro Mac mini 48GB RAM – $600, previously $500.
  • M4 Pro Mac mini 64GB RAM – $900, previously $750.
  • M4 Pro Mac mini 1TB SSD – $300, previously $250.
  • M4 Pro Mac mini 2TB SSD – $900, previously $750.
  • M4 Pro Mac mini 4TB SSD – $1,800, previously $1,500.
  • M4 Pro Mac mini 8TB SSD – $3,600, previously $3,000.

A full list of price changes compiled by MobileSyrup can be found in a publicly available Google Sheet.

The M4 Mac mini, MacBook Pro, and iMac, as well as the M2 Ultra-powered Mac Pro, are all impacted by the increased prices. (Notably, the Mac Pro’s absurdly expensive wheels have not increased in price.)

The new MacBook Air upgrade add-on prices have shifted, though Apple just upgraded it from the M3 chip to the M4, making it hard to track evidence using the Wayback Machine. Additionally, Apple lowered the base price of the laptop by $50, making it appear to be a better deal than before.

It’s possible that the source of the price increase is the M4 chip, but since other M4-equipped Macs also saw price increases, that feels unlikely.

M4 Mac mini price increases.

Left: Current M4 Pro Mac mini upgrade costs. Right: M4 Pro Mac mini upgrade costs recorded on Nov. 14, 2024.

We weren’t able to perform comparisons for the newly upgraded Mac Studio as we couldn’t find enough relevant historical pricing information. iPhone and iPad prices appear to be unchanged.

Apple adjusted prices on its website sometime between February 18th and March 10th, though it’s not clear exactly when the company made the changes.

MobileSyrup contacted Apple Canada about the pricing changes, but the company declined to comment.

It remains unclear why Apple increased the prices. Given that the company sets its pricing in USD and then adjusts accordingly for non-U.S. markets, it’s likely related to the shifting value of the Canadian dollar, inflation, or, possibly, the ongoing trade war.

For example, the Mac mini’s 24GB RAM upgrade costs US$200 (roughly C$288), and that upgrade was increased from $250 to $300 in Canada. Similarly, the Mac mini’s 1TB SSD costs US$400 (about C$576) — that upgrade increased from $500 to $600 in 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