Canadian Tire Scraper avatar

Canadian Tire Scraper

Pricing

from $3.00 / 1,000 products

Go to Apify Store
Canadian Tire Scraper

Canadian Tire Scraper

Scrape Canadian Tire product search: price, was-price, rating, SKU, and store quantity. Keyword or search URL. JSON export for price checks.

Pricing

from $3.00 / 1,000 products

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Canadian Tire Corporation, Limited or its affiliates. Data is read from publicly accessible product search results only. No login. You are responsible for complying with applicable law and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

This Canadian Tire scraper reads the public product search and saves one row per product. Each row has the current price, the previous price when it is higher, the rating, the SKU, and the shelf quantity at the store number you set. Use it as a Canadian Tire API alternative: export JSON to a dataset from Python, Node.js, or an MCP assistant.

Reviews, flyers, and checkout are outside this Actor. A keyword or a search URL returns the public catalog cards for that query.

Canadian retail searchUS store priceUS electronics
Canadian Tire Scraper ◄── you are hereWalmart ScraperNewegg Product Scraper

When to use

  • Pull current Canadian Tire prices for a keyword or a search URL
  • Read shelf quantity at a chosen store number
  • Keep only products flagged on sale
  • Export SKU, brand, rating, and product URL to JSON

A product page URL saves that product only. Category trees and customer reviews are not separate modes.

Key features

  • Keyword search and search-results URLs
  • One product from a product page URL
  • Price, was-price, rating, review count, and SKU
  • Shelf quantity for a store number
  • English or French catalog
  • Optional on-sale filter
  • HTTP fetch, 256 MB, no browser

maxItems caps how many rows are saved. Products that are skipped by the sale filter are not charged.

Input

FieldRequiredDescription
queriesOne of theseSearch terms, such as cordless drill
startUrlsOne of theseA search-results URL, or a product page URL
storeIdNoStore number for price and quantity. Default 365
languageNoen or fr. Default en
onSaleOnlyNoKeep only products flagged on sale. Default false
maxItemsNoStop after this many products. Default 40, maximum 1000

Input example

{
"queries": ["cordless drill"],
"storeId": "365",
"language": "en",
"onSaleOnly": false,
"maxItems": 40
}

Output

FieldDescription
titleProduct title
brandBrand
priceCurrent price in CAD at storeId
wasPricePrevious price when it is higher than price
isOnSaleSale flag from the search card
ratingAverage rating
reviewCountReview count
skuSKU
codeProduct code
storeQuantityShelf quantity at storeId
productUrlProduct page
searchTermQuery or product code that returned the row

Output example

{
"code": "0548737P",
"sku": "054-8737-2",
"title": "Mastercraft 20V Cordless Drill/Driver with 76-pc Accessory Kit",
"brand": "Mastercraft",
"price": 129.99,
"wasPrice": null,
"currency": "CAD",
"isOnSale": false,
"rating": 4.38,
"reviewCount": 156,
"storeQuantity": 15,
"storeId": "365",
"productUrl": "https://www.canadiantire.ca/en/pdp/mastercraft-20v-cordless-drill-driver-0548737p.html",
"searchTerm": "cordless drill"
}

Use cases

  • Check a short list of tools against the current catalog price
  • Watch shelf quantity at one store number
  • Build a sale list for a keyword without opening each product page

Integration examples

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/canadian-tire-scraper").call({
queries: ["cordless drill"],
storeId: "365",
maxItems: 40,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_APIFY_TOKEN")
run = client.actor("crawloop/canadian-tire-scraper").call(run_input={
"queries": ["cordless drill"],
"storeId": "365",
"maxItems": 40,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/crawloop~canadian-tire-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"queries\":[\"cordless drill\"],\"storeId\":\"365\",\"maxItems\":40}"

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name.

Example prompts:

  • "Run Canadian Tire Scraper for cordless drill at store 365 and return title, price, and store quantity"
  • "Scrape Canadian Tire for snow blower and keep only rows flagged on sale"
  • "Run Canadian Tire Scraper for a product code, then compare the price with Walmart Scraper for the same tool"

Suite next step

After the Canadian catalog row, run Walmart Scraper when the same product also needs a US store price.

FAQ

Does this include reviews or the weekly flyer?

No. Each row is a product search card: price, rating count, SKU, and store quantity. Review text and flyer deals are not collected.

Which store is the price for?

storeId selects the store. Price and storeQuantity follow that number. The default is 365.

Can I schedule a sale check?

Yes. Set onSaleOnly to true and schedule the run. Products that are not flagged on sale are skipped.