Canadian Tire API
Canadian Tire data as structured JSON, priced and stocked at the store you choose: search, product detail, a store locator with per-store stock for any SKU, price and stock for 50 SKUs in one call, every clearance item at a store, and that store's deals.
50 free credits on signup. No card, no Canadian Tire account.
{ "data": { "query": "dewalt drill", "store_id": "600", "page": 1, "page_size": 24, "total_results": 10, "total_pages": 1, "count": 10, "products": [ { "position": 1, "code": "0547273P", "sku": "0547273", "title": "DEWALT DCK277D2 20V MAX Brushless Cordless Compact Drill/Driver & Impact Driver Combo Kit", "brand": "DEWALT", "price": 199.99, "was_price": 299.99, "savings": "Save 33% ($100.00)", "is_on_sale": true, "is_clearance": false, "badges": [ "BESTSELLER", "TOPRATED", "TESTEDFORLIFE", "PROMO" ], "rating": 4.6, "review_count": 352, "store_quantity": 3, "warehouse_quantity": 1596 }, { "position": 2, "code": "4994291P", "sku": "4994291", "title": "DeWALT 20V MAX* Brushless 1/2-in Drill/Driver (Tool Only)", "brand": "DEWALT", "price": 169.99, "was_price": null, "savings": "Special Buy", "is_on_sale": false, "is_clearance": false, "badges": [ "TOPRATED", "SPECIALBUY" ], "rating": 4.56, "review_count": 25, "store_quantity": 2, "warehouse_quantity": 1367 } ] }, "response_time": 3277}Live call against the real endpoint at store 600 (Toronto Eaton Centre). 3 free runs, then it's your own key.
What is the Scavio Canadian Tire API?
The Scavio Canadian Tire API is a REST API that returns Canadian Tire data as structured JSON for the store you pick. Canadian Tire has no public API. Its 6 POST endpoints cover search, product detail, a store locator, price and stock for up to 50 SKUs, store clearance and deals, at 1 credit per call.
- 6
- endpoints, all live in production
- 1
- credit per call, every endpoint
- 2,299
- clearance items at one Toronto store (our capture)
The Canadian Tire data buyers actually need
What it costs at one store, how many are on the shelf, and what is on clearance.
Clearance by store
POST /api/v1/canadiantire/clearanceEvery clearance item at the store you pick, 100 per page, with the clearance price, the regular price and the units on hand. Our capture at Toronto Eaton Centre listed 2,299 items.
50 SKUs in one call
POST /api/v1/canadiantire/availabilityPrice, regular price, clearance and sale flags, price valid-until date, stock quantity, aisle and online stock for up to 50 SKUs at one store. Unknown SKUs come back in not_found.
Which store has it
POST /api/v1/canadiantire/storesStores near a postal code or coordinates, nearest first. Add a SKU and every store also carries its quantity and aisle for that item, so finding stock nearby is one call.
Deals
POST /api/v1/canadiantire/dealsOne deal type per call at one store: this week's sale prices, instant rebates with the price after rebate, special buys, or Triangle Rewards loyalty offers.
Store-level search
POST /api/v1/canadiantire/searchKeyword or category search priced at one store, sortable by price, rating, newest or bestseller, with an in-stock-only filter for that store.
Product detail
POST /api/v1/canadiantire/productOne product with specs, features, warranty, manuals, videos and every variant's SKU, plus the store's price, stock and pickup and delivery dates.
All 6 Canadian Tire API endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Search/api/v1/canadiantire/search | Keyword or category search at one store, 24 per page: the store's price and regular price in CAD, savings, clearance, sale and rebate badges, rating, review count, brand, part number, SKU and stock at the store and online | 1 |
Product detail/api/v1/canadiantire/product | One product by code: specs, features, descriptions, warranty, manuals, variants with their SKUs, and the store's price, stock and pickup and ship-to-home dates | 1 |
Store locator/api/v1/canadiantire/stores | Stores near a postal code or coordinates, nearest first, with address, phone, distance, weekly hours and services; pass a SKU for each store's quantity and aisle | 1 |
Price and stock by SKU/api/v1/canadiantire/availability | Up to 50 SKUs at one store in one call: price, regular price, clearance and sale flags, price valid-until date, stock quantity, aisle, online stock and pickup and delivery dates | 1 |
Clearance/api/v1/canadiantire/clearance | Every clearance item at one store, 100 per page, with clearance price, regular price and store stock; in-stock items only by default | 1 |
Deals/api/v1/canadiantire/deals | Items on a deal at one store, 100 per page: this week's sale prices, instant rebates, special buys or Triangle Rewards offers | 1 |
50 free credits on signup covers 50 Canadian Tire calls. See plans
Find a store, search it, check 50 SKUs, pull clearance
Every call except the store locator takes a store_id, and the prices and stock in the response are that store's. The response on the right is a real capture.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Stores near a postal code, with one SKU's stock and aisle at each - 1 credit
stores = client.canadian_tire.stores(postal_code="M5V 2T6", sku="0438858")["data"]["stores"]
for s in stores[:3]:
print(s["store_id"], s["name"], s["quantity"], s["aisle"])
# Search at store 600 (Toronto Eaton Centre) - 1 credit
res = client.canadian_tire.search(query="dewalt drill", store_id="600")
for p in res["data"]["products"][:5]:
print(p["title"], p["price"], "was", p["was_price"], "in store", p["store_quantity"])
# Price and stock for up to 50 SKUs in one call - 1 credit
skus = [p["sku"] for p in res["data"]["products"] if p["sku"]]
items = client.canadian_tire.availability(store_id="600", skus=skus)["data"]["items"]
# Every clearance item at the store, 100 per page - 1 credit
clearance = client.canadian_tire.clearance(store_id="600")["data"]["products"]{
"data": {
"query": "dewalt drill",
"store_id": "600",
"page": 1,
"page_size": 24,
"total_results": 10,
"total_pages": 1,
"count": 10,
"products": [
{
"position": 1,
"code": "0547273P",
"sku": "0547273",
"title": "DEWALT DCK277D2 20V MAX Brushless Cordless Compact Drill/Driver & Impact Driver Combo Kit",
"brand": "DEWALT",
"price": 199.99,
"was_price": 299.99,
"savings": "Save 33% ($100.00)",
"is_on_sale": true,
"is_clearance": false,
"badges": [
"BESTSELLER",
"TOPRATED",
"TESTEDFORLIFE",
"PROMO"
],
"rating": 4.6,
"review_count": 352,
"store_quantity": 3,
"warehouse_quantity": 1596
},
{
"position": 2,
"code": "4994291P",
"sku": "4994291",
"title": "DeWALT 20V MAX* Brushless 1/2-in Drill/Driver (Tool Only)",
"brand": "DEWALT",
"price": 169.99,
"was_price": null,
"savings": "Special Buy",
"is_on_sale": false,
"is_clearance": false,
"badges": [
"TOPRATED",
"SPECIALBUY"
],
"rating": 4.56,
"review_count": 25,
"store_quantity": 2,
"warehouse_quantity": 1367
}
]
},
"response_time": 3277
}Why not the official Canadian Tire API?
Canadian Tire has no public API for product, price or store data.
Canadian Tire, without an API
- No public API or self-serve developer key for product, price or stock data
- Prices and stock change per store and per province, so every lookup must be store-specific
- Clearance and flyer deals are spread across store-filtered pages, not a feed
- Checking stock across stores means one lookup per store
Scavio Canadian Tire API
- One API key, issued at signup, with no Canadian Tire account
- Any store's prices, stock and aisles by store_id
- Every clearance item at a store, 100 per page, and deals by type
- Stock for one SKU across nearby stores, or 50 SKUs at one store, in a single call
- Same JSON envelope as every other Scavio platform
Scavio returns publicly available data only, and never signs in as a Canadian Tire customer.
What developers build with it
Clearance hunting
Pull every clearance item at the stores near you each morning, filter by category or discount, and alert when something new is marked down.
stores + clearanceCanadian retail price tracking
Track Canadian Tire prices, regular prices and sale end dates for a product list at the stores and provinces you sell in.
availability + searchLocal stock finder
Given a SKU and a postal code, list the nearby stores that have it with their quantity and aisle, in one call.
storesFlyer and rebate monitoring
Capture each week's sale prices, instant rebates, special buys and Triangle Rewards offers per store, with the price after rebate.
dealsCross-border competitive intelligence
Compare Canadian Tire tools and hardware with Lowe's and Home Depot by part number, on one API key.
search + Lowe's + Home DepotHow to get Canadian Tire data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Canadian Tire account.
- 2
Pick a store
Send {"postal_code": "M5V 2T6"} to https://api.scavio.dev/api/v1/canadiantire/stores with an Authorization: Bearer header. Each store comes back with its store_id.
- 3
Search, check stock or pull clearance
Pass the store_id with a query to /api/v1/canadiantire/search, with up to 50 SKUs to /api/v1/canadiantire/availability, or alone to /api/v1/canadiantire/clearance. Prices and stock are that store's.
Canadian Tire API FAQ
Does Canadian Tire have a public API?
+
No. Canadian Tire does not offer a public API for product, price, stock or store data. The Scavio Canadian Tire API fills that gap with 6 POST endpoints that return canadiantire.ca data as structured JSON: search, product detail, store locator, price and stock for up to 50 SKUs, clearance and deals.
What is the Scavio Canadian Tire API?
+
It is a REST API that returns public Canadian Tire data as structured JSON, priced and stocked at the store you choose. It covers search, product detail, a store locator with per-store stock for a SKU, bulk price and stock checks, every clearance item at a store, and that store's deals.
Why does every call need a store_id?
+
Canadian Tire prices and stock are set per store, and prices differ by province, Quebec included. Search, product, availability, clearance and deals all take a store_id, and the prices and stock in the response are that store's. Price against the store your customer would actually visit.
How do I find a Canadian Tire store number?
+
POST a postal code (or its first 3 characters) or a latitude and longitude to /api/v1/canadiantire/stores. It returns stores nearest first, 10 by default and up to 50, within 25 km by default and up to 200 km, each with store_id, address, phone, distance, weekly hours and services. Store 600 is Toronto Eaton Centre.
Which nearby stores have an item in stock?
+
Add a 7-digit sku to the stores call and every store carries quantity and aisle for it. In our capture near M5V 2T6, SKU 0438858 had 39 units in Aisle 133 at Toronto Eaton Centre and 2 at Liberty Village.
Can I check many products at once?
+
Yes. /api/v1/canadiantire/availability takes up to 50 SKUs and one store_id and returns each SKU's price, regular price, clearance and sale flags, price valid-until date, stock quantity, aisle, online stock and pickup and delivery dates. SKUs that do not exist come back in not_found.
How do I get Canadian Tire clearance?
+
Call /api/v1/canadiantire/clearance with a store_id. It returns every clearance item at that store, 100 per page, with clearance price, regular price and store stock, and only in-stock items unless you set in_stock_only to false. Store 600 listed 2,299 clearance items over 23 pages in our capture.
What deals can I pull?
+
Pass type to /api/v1/canadiantire/deals: sale for this week's sale prices, instant_rebate, special_buy, or loyalty for Triangle Rewards offers. Rebate items carry the rebate message and price_after_rebate. Store 600 had 2,775 items on sale in our capture.
Does the API return Canadian Tire reviews?
+
It returns each product's star rating and review count on search, product, clearance and deals. Review text is not available for Canadian Tire.
What currency are prices in?
+
Canadian dollars, as decimals: 199.99 means $199.99 CAD. Multi-variant items such as tires carry a price_range with min and max instead of a single price.
What is a product code versus a SKU?
+
The product code (for example 0547273P) identifies a product page and is what /product takes. A SKU (0547273) is one sellable variant and is what availability and the stores stock lookup take. Search results carry both, and product lists every variant's SKU.
How much does a Canadian Tire request cost?
+
Every Canadian Tire endpoint costs 1 credit, including an availability call covering 50 SKUs and a clearance page of 100 items. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
How fresh is the data?
+
Every request fetches live from Canadian Tire at the moment you call it, and nothing is cached. Each response carries fetched_at, and availability adds price_valid_until for prices with an end date.
Which languages and tools are supported?
+
Every endpoint is a plain HTTPS POST with a JSON body, so any language works. Scavio also ships Python and JavaScript SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node, all on the same API key.
Is using Canadian Tire data legal?
+
Scavio returns publicly available Canadian Tire data and does not access accounts or order history. You remain responsible for how you use the data, including compliance with Canadian Tire's terms. Talk to your own counsel for your specific use case.
Explore more of Scavio
Lowe's API
Store-level prices, stock, aisles and deals.
Home Depot API
Store-level prices, stock, reviews and delivery quotes.
Costco API
costco.com and costco.ca prices, gas and clearance.
Walmart API
Search, product, reviews and store-level pricing.
Canadian Tire API docs
All 6 endpoints with params and real responses.
Try the Canadian Tire API free
50 free credits on signup, no card. Your first request is a POST with a postal code in it.