Canadian Tire Scraper avatar

Canadian Tire Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Canadian Tire Scraper

Canadian Tire Scraper

Scrape CanadianTire.ca products by keyword search, category browse, or exact product code. Get prices, sale discounts, ratings, images, feature bullets and specifications.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape product data from CanadianTire.ca -- one of Canada's largest retailers, covering tools, automotive, sports, home, and outdoor living products. Get product titles, prices, sale discounts, ratings, images, feature bullets, and specifications from keyword search, category browsing, or exact product codes.

What does this scraper do?

  • Search by keyword -- find products matching any search term (e.g. "hammer", "garden hose", "bbq").
  • Browse a category -- pull every product listed under a Canadian Tire category code.
  • Get exact products -- fetch specific products by their Canadian Tire product code.
  • Filter results -- by price range, minimum rating, on-sale status, in-stock status, brand, deal type, availability type, and featured badge.
  • Sort results -- by relevance, price, newest arrivals, rating, or best seller.
  • Choose a reference store -- report stock/availability against any specific Canadian Tire store location instead of a fixed default.

No login, cookies, or paid proxy required.

Output

Each result is a JSON record with:

FieldDescription
productCodeCanadian Tire's product code (e.g. 0574127P)
titleProduct name
brandBrand name
priceCurrent price (CAD)
priceIsStartingFromtrue when price is the lowest price across a multi-variant product's SKUs rather than a single fixed price
priceRangeMaxHighest price across variants, when the product's price varies by SKU (size/color) and priceIsStartingFrom is true
originalPriceOriginal price before discount, when the product is on sale
discountPercentDiscount percentage, when on sale
currencyAlways CAD (Canadian dollar)
isOnSaleWhether the product is currently on sale/clearance
ratingAverage customer rating (0-5)
ratingsCountNumber of customer ratings
badgesMerchandising badges (e.g. EXCLUSIVE, TOPRATED, CLEARANCE)
partNumberManufacturer part number
skuIdCanadian Tire SKU identifier
stockQuantityAvailable stock quantity at the reference store
onlineStockQuantityAvailable stock quantity for online/ship-to-home fulfillment
sellable / orderableWhether the product can currently be sold / ordered
isUrgentLowStockWhether the product is flagged as urgently low on stock
warrantyMessageManufacturer/Canadian Tire warranty terms, when provided
imagesProduct image URLs
productUrlLink to the product page
featureBulletsKey product feature/benefit bullet points
specificationsName/value technical specification pairs, when available
recordTypeproduct
scrapedAtUTC timestamp of when the record was scraped

Only fields that Canadian Tire actually provides for a given product are included -- no blank or placeholder values.

Input options

FieldModeDescription
modeallsearch, category, or byProductCodes
searchQuerysearchKeyword to search for
categoryCodecategoryCanadian Tire category code (e.g. DC0002027)
productCodesbyProductCodesExact Canadian Tire product codes
sortBysearch/categoryrelevance, priceAsc, priceDesc, newest, ratingDesc, bestseller
minPrice / maxPricesearch/categoryPrice range filter in CAD
minRatingsearch/categoryMinimum customer rating (0-5)
onSaleOnlysearch/categoryOnly include products on sale/clearance
inStockOnlysearch/categoryOnly include products with available stock
brandsearch/categoryFilter to brand names containing this text
dealTypesearch/categoryServer-side filter to a specific deal type: clearance, sale, limitedTimeOffer, specialBuy
availabilityTypesearch/categoryServer-side filter to a specific availability type: inStoreOnly, onlineOnly, inStockAtMyStore
featuredTypesearch/categoryServer-side filter to a specific merchandising badge: exclusive, topRated, bestSeller, testedForLife, newArrivals
storeIdallCanadian Tire store ID used as the stock/availability reference (default: a Toronto reference store)
maxItemsallMaximum number of records to return
maxPagessearch/categoryMaximum result pages to scan

Finding a category code

Open any category page on Canadian Tire, e.g. https://www.canadiantire.ca/en/cat/tools-hardware/power-tools/drills-accessories/drills-DC0002027.html -- the category code is DC0002027.

Finding a store ID

Open Canadian Tire's Store Locator, select a store, and note the numeric ID at the end of the store-details page URL (e.g. .../store-details/on/toronto-store-144.html -- the store ID is 144). Pass either the bare number or the full store-details URL as storeId.

Finding a product code

Open any product page, e.g. .../mastercraft-claw-hammer-forged-steel-with-fibreglass-handle-16-oz-0574127p.html -- the product code is 0574127P.

Example use cases

  • Price monitoring -- track prices and sale discounts for specific products or categories over time.
  • Market research -- analyze brand presence, ratings, and pricing across a product category.
  • Deal hunting -- filter for on-sale products or the best-rated items in a category.
  • Catalog enrichment -- pull full specifications, feature bullets, and images for a list of known product codes.

FAQ

Does this scraper require login or cookies? No. All data is scraped from Canadian Tire's own public product search API -- no account or Canadian Tire Triangle Rewards login needed.

What currency are prices in? Canadian dollars (CAD), Canadian Tire's home market currency.

Why do some products lack a rating or originalPrice field? Canadian Tire only returns rating/discount data for products that actually have it. Fields are omitted rather than filled with placeholder values, in line with real-data accuracy.

Can I filter by my local store's stock instead of a fixed reference store? Yes -- set storeId to your store's numeric ID (see "Finding a store ID" above). stockQuantity, onlineStockQuantity, isUrgentLowStock, and the inStockOnly filter will then reflect that specific store.

Why does price sometimes represent a range instead of one fixed value? Some Canadian Tire products come in multiple variants (size, weight, color) priced individually. For these, price reports the lowest variant price with priceIsStartingFrom: true, and priceRangeMax reports the highest, so price filters and sorting still work meaningfully.

What's the difference between onSaleOnly/dealType and availabilityType? onSaleOnly is a broad client-side check for any current discount. dealType is a precise, Canadian-Tire-defined deal category (Store Clearance, Sale, Limited Time Offer, or Special Buy) applied server-side by their own search API -- use it when you need one specific deal type rather than "any deal". availabilityType filters by where a product can be fulfilled (in-store only, online only, or in stock at your reference store), independent of pricing.

Does stock/availability reflect a specific store? Yes -- stockQuantity reflects a reference Canadian Tire store location. Availability can vary by store across Canada; this actor reports a representative national reference point.

How many products can I scrape per run? Up to maxItems (default 48, max 2000) per run for search/category modes.

Limitations

  • Canadian Tire's product pages are served behind Akamai bot management, which challenges plain (non-browser-fingerprinted) HTTP clients with a 403. This actor's fetcher uses a browser-matching TLS fingerprint to reliably pass this check, so productUrl values in the output always resolve to the real product page in an actual browser -- a manual curl HEAD check from a non-browser client may show a 403 instead, which is expected Akamai behavior and not a broken link. Image URLs (images) are always directly accessible from any client.
  • Canadian Tire's own priceAsc/priceDesc sort (confirmed directly against their raw API response) is not a strict global ascending/descending order across the full result set -- prices are correctly ordered within local runs but the sort appears to blend in relevance/product-family grouping. Every individual filter (price range, rating, sale, brand) is honored exactly; only the overall sort order across a large result set may not be perfectly monotonic. This is an upstream characteristic, not an actor defect.