ScavioScavio
Pricing
Tools
Sign InsGet Startedg
6 live endpoints

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.

Get your API keyRead the docs

50 free credits on signup. No card, no Canadian Tire account.

POST /api/v1/canadiantire/search
sample
query:
try
{  "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}
captured example · 1 credits3 / 3 free

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/clearance

Every 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/availability

Price, 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/stores

Stores 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/deals

One 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/search

Keyword 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/product

One 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.

EndpointReturnsCredits
Search/api/v1/canadiantire/searchKeyword 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 online1
Product detail/api/v1/canadiantire/productOne product by code: specs, features, descriptions, warranty, manuals, variants with their SKUs, and the store's price, stock and pickup and ship-to-home dates1
Store locator/api/v1/canadiantire/storesStores 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 aisle1
Price and stock by SKU/api/v1/canadiantire/availabilityUp 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 dates1
Clearance/api/v1/canadiantire/clearanceEvery clearance item at one store, 100 per page, with clearance price, regular price and store stock; in-stock items only by default1
Deals/api/v1/canadiantire/dealsItems on a deal at one store, 100 per page: this week's sale prices, instant rebates, special buys or Triangle Rewards offers1

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"]
200 response.jsoncaptured
{
  "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 + clearance

Canadian 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 + search

Local stock finder

Given a SKU and a postal code, list the nearby stores that have it with their quantity and aisle, in one call.

stores

Flyer and rebate monitoring

Capture each week's sale prices, instant rebates, special buys and Triangle Rewards offers per store, with the price after rebate.

deals

Cross-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 Depot

How to get Canadian Tire data as JSON

  1. 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. 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. 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.

One key, 55 platformsMCP server for agentsPython & JS SDKsn8n community node

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.

Get your API keySee pricing
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy