RONA Scraper: Canada Home Improvement Prices, Stock & Specs
Pricing
from $1.50 / 1,000 products
RONA Scraper: Canada Home Improvement Prices, Stock & Specs
Scrape RONA.ca products in English and French from any category, search or product URL. Export price, sale price, regular price, stock by store, UPC, model, brand, rating, specs and images to JSON, CSV or Excel. Fast, reliable and maintained.
Pricing
from $1.50 / 1,000 products
Rating
0.0
(0)
Developer
Youssef Farhan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
What is the RONA Scraper? It is an Apify Actor that scrapes products from RONA.ca, one of Canada's largest home improvement retailers, in English and French. Paste any RONA category, search or product URL and get one clean row per product: price, sale and regular price, stock across RONA stores, brand, model number, UPC, rating, category, specifications and images, as JSON, CSV or Excel.
Scrape RONA prices and product data at scale. One category of 210 cordless drills takes about 5 seconds; 1,000 products take well under a minute. The Actor covers RONA's whole online catalog (over 150,000 products on 2026-10-03), from tools and hardware to flooring, paint, appliances, outdoor and seasonal items, and returns every product in a listing, across all its pages.
Built for contractors and resellers comparing supplier prices, competing retailers and brands monitoring RONA pricing and promotions, price comparison and deal sites, e-commerce and market research teams, and data teams that need a RONA.ca API they can call on a schedule.
A reliable RONA scraper, maintained regularly
RONA.ca sits behind two anti-bot systems (Cloudflare and DataDome) that change often and break simple scrapers without warning. This Actor is built to keep working:
- It reads RONA's own product catalog data, the same data the RONA website search loads, instead of fragile page layouts. A redesign of the site does not break it.
- It is tested and maintained regularly. When RONA changes something, the Actor is updated as fast as possible. Every run is monitored, so failures are usually spotted before anyone reports them.
- Blocked requests are retried automatically on fresh Canadian residential IPs, with clear progress lines in the log, so a run never looks frozen.
- Bad input fails fast and loud: a URL from another site, a typo in the domain or an unknown product is reported in the log in seconds, never retried in silence.
- No duplicates: each product appears once, even when several of your URLs or searches cover it.
Found a problem? Open an issue in the Issues tab and it gets fixed.
Key features at a glance
- Any RONA URL works: category listings, sub-categories, promotion and seasonal pages, search results and single product pages, in English (
/en/product/...) or French (/fr/produit/...). - Search terms: type keywords in English or French (
dewalt drill,perceuse makita), a SKU or a model number. - Bilingual output: English and French title, description, category path and URL on every row.
- Prices: catalog price on every product; with Product page details on, the exact current price, regular price, savings amount and sale end date.
- Stock: the number of RONA stores that stock each product, optionally the store numbers, plus store and online stock with Product page details on.
- Identifiers: SKU (article number), UPC barcode, manufacturer model number, RONA product number.
- Specifications: the key specs from the catalog, plus the full specification table (often 30+ rows) with Product page details on.
- Images: the main image in high resolution, and every gallery image with Product page details on.
- Big categories handled: categories with more than 10,000 products are read through their sub-categories automatically, so nothing is cut off.
- Export anywhere: JSON, CSV, Excel, XML or JSONL, or straight into Google Sheets, Airtable, Make, Zapier or n8n.
What data does the RONA scraper extract?
| Field | Example | Description |
|---|---|---|
sku | 00277650 | RONA article number |
title_en / title_fr | DEWALT 20V BRUSHLESS Compact Hammer Drill Kit... / Perceuse à percussion compacte DEWALT 20V... | Product name in English and French |
brand | DEWALT | Brand |
model_number | DCD798D1 | Manufacturer model number |
upc | 885911657600 | UPC barcode |
price | 148 | Current price in CAD |
regular_price | 239 | Regular price before the sale (Product page details) |
on_sale / savings / sale_ends | true / 91 / 2026-11-04 | Sale flag, amount saved and sale end date (Product page details) |
catalog_price | 148 | Price from RONA's catalog, on every product |
price_source | product page | Where price came from: product page or catalog |
rating / review_count | 4.8 / 28 | Average customer rating and number of reviews |
stores_in_stock | 213 | Number of RONA stores that stock the product |
store_ids_in_stock | ["00397", "00904", ...] | Store numbers that stock it (option List stocking stores) |
store_stock / online_stock | 6 / 73 | Units at your chosen RONA store and for online delivery (Product page details) |
stock_store_number | 83162 | The RONA store the prices and stock refer to (option RONA store number) |
pickup_available / parcel_delivery_available / truck_delivery_available | true | Fulfilment options (Product page details) |
category_path_en / category_path_fr | Tools > Power Tools > Cordless Drills and Drivers | Full category path in both languages |
category_id | 01-110-080-002 | RONA category id |
specifications_en / specifications_fr | {"Battery Voltage": "20V MAX", ...} | Specifications; the full table is in specifications_fr with Product page details on |
description_en / description_fr | This DEWALT 20V MAX* brushless kit includes... | Product description in plain text |
image_url / images | https://cdn.rona.ca/images/00277650_L.jpg | Main image and gallery |
url_en / url_fr | https://www.rona.ca/en/product/... | Product page in each language |
listed_on | 2025-03-11 | Date the product was added to RONA's catalog |
scraped_at | 2026-10-03T13:26:57+00:00 | When the row was scraped |
Every row also carries sales_channel, availability, price_unit, product_number, rona_product_id, catalog_product_id, details_scraped, details_error, source (the input that found it) and search_match (keyword or similar for search results).
Output example
{"sku": "00277650","title_en": "DEWALT 20V BRUSHLESS Compact Hammer Drill Kit with Battery and Charger","title_fr": "Perceuse à percussion compacte DEWALT 20V, sans balais avec batterie et chargeur","brand": "DEWALT","model_number": "DCD798D1","upc": "885911657600","price": 148,"regular_price": 239,"on_sale": true,"savings": 91,"sale_ends": "2026-11-04","currency": "CAD","rating": 4.8,"review_count": 28,"stores_in_stock": 213,"store_stock": 6,"online_stock": 73,"category_path_en": "Tools > Power Tools > Cordless Drills and Drivers","category_path_fr": "Outils > Outils portatifs > Perceuses et visseuses sans fil","url_en": "https://www.rona.ca/en/product/dewalt-20v-brushless-compact-hammer-drill-kit-with-battery-and-charger-dcd798d1-00277650","image_url": "https://cdn.rona.ca/images/00277650_L.jpg"}
How to scrape RONA products
- Open a category, search or product on rona.ca and copy the URL from your browser.
- Paste it into RONA URLs (add as many as you like), or type keywords into Search terms.
- Set Max products, and turn on Product page details if you need exact sale prices, stock and full specs.
- Click Start. Download the results as JSON, CSV or Excel, or connect them to your tools.
Input
| Field | Type | Description |
|---|---|---|
startUrls | list of URLs | Any rona.ca category, search, promotion or product URL, English or French |
searchTerms | list of text | Keywords, SKUs or model numbers to search on RONA |
keywordMatchesOnly | true / false | Skip the similar products RONA's search adds after the keyword matches |
maxItems | number | Stop after this many products (empty = everything) |
productDetails | true / false | Open each product page for exact prices, sale end date, stock, full specs and all images |
includeStoreIds | true / false | Add the store numbers that stock each product |
storeNumber | text | RONA store for prices, stock and clearance (default 83162, Mississauga, ON) |
{"startUrls": [{ "url": "https://www.rona.ca/en/tools/power-tools-158001/cordless-drills-and-drivers-158003" },{ "url": "https://www.rona.ca/fr/produit/perceuse-a-percussion-compacte-dewalt-20v-sans-balais-avec-batterie-et-chargeur-dcd798d1-00277650" }],"searchTerms": ["laminate flooring"],"maxItems": 500,"productDetails": true}
Which RONA URLs are supported?
| URL type | Example |
|---|---|
| Category | https://www.rona.ca/en/tools/power-tools-158001/cordless-drills-and-drivers-158003 |
| French category | https://www.rona.ca/fr/outils/outils-portatifs-158001/perceuses-et-visseuses-sans-fil-158003 |
| Department or landing page | https://www.rona.ca/en/hardware, https://www.rona.ca/en/drills-and-drivers |
| Seasonal or curated listing | https://www.rona.ca/webapp/wcs/stores/servlet/RonaAjaxCatalogSearchView?navDescriptors=324411&... |
| Brand page | https://www.rona.ca/en/brand/bostitch |
| Flyer deals and clearance | .../RonaPromoFlyerView?navDescriptors=38805&..., .../RonaPromoClearanceView?navDescriptors=38893&..., https://www.rona.ca/en/promotions/clearance |
| Filtered listing | Any category or search after you pick a brand, price range or other filter on rona.ca (navDescriptors=1832+38827, navRangeFilters=...) |
| Search | https://www.rona.ca/en/search?q=dewalt, https://www.rona.ca/fr/recherche?q=perceuse |
| Product | https://www.rona.ca/en/product/...-00277650, https://www.rona.ca/fr/produit/...-00277650 |
Plain categories and searches are read from RONA's product catalog, which is fast. Brand, promotion, flyer, clearance and filtered listings are read page by page from rona.ca itself, so you get exactly the products the page shows, with the exact price on the listing (price_source = listing page). Paste the URL from your browser after setting your filters, and the Actor follows them.
Who uses a RONA scraper?
- Contractors, renovators and resellers: compare RONA prices with other suppliers before buying in bulk.
- Competing retailers and brands: monitor RONA's prices, sales and promotions on the products you also sell, and check how your brand is listed.
- Price comparison and deal sites: track sale prices and sale end dates across Canada.
- Market researchers and analysts: build datasets of Canadian home improvement prices by category and brand.
- E-commerce teams: enrich your catalog with UPCs, model numbers, specs and images.
Pricing
This Actor is pay per event: you pay for each product saved to the dataset, plus a separate event for each product whose page was opened when Product page details is on. Leave it off and you only pay for the products. The current rates are shown on this Actor's Store page.
| Event | What triggers it |
|---|---|
| Product | One product saved to the dataset |
| Product page details | One product page opened for exact prices, stock and full specs |
On the Apify Free plan, each run returns up to 50 products, so you can check the data before subscribing to an Apify plan.
Tips
- Track RONA prices over time: schedule a daily or weekly run and add Dataset Diff to receive only price changes and new products by Slack, Telegram or email.
- Fast and cheap first: leave Product page details off for a quick catalog snapshot (price, brand, model, UPC, stock count). Turn it on when you need the exact sale price and end date.
- Same results as RONA's search: a search returns RONA's keyword matches first, then the similar products RONA suggests, exactly like rona.ca. Each row says which in
search_match(keywordorsimilar). Turn on Keyword matches only to keep just the keyword matches (forlaptop: 6 instead of 101). - Join with other retailers:
upcandmodel_numberlet you match RONA products with Home Depot, Canadian Tire or Amazon data.
Frequently asked questions (FAQ)
What is RONA? RONA is a Canadian home improvement retailer, founded in Quebec in 1939, with hundreds of stores across Canada and an online store at rona.ca in English and French.
Is there a RONA API? RONA has no public API for its products. This Actor works as a RONA.ca API alternative: call it through the Apify API and get clean JSON for any category, search or product.
What is the difference between price and catalog_price?
catalog_price comes from RONA's catalog and is on every product. It matched the price shown on the website for most products in our tests, but during a sale it can show the regular price instead. With Product page details on, price is the exact price shown on the product page, with regular_price, savings and sale_ends.
Why is the full specification table in French?
RONA blocks automated access to its English product pages much more strictly than to the French ones, so the Actor reads product details from the French page. Prices, stock, ratings and identifiers are the same in both languages, and the key specs are also given in English in specifications_en.
Why does a search return products that do not contain my words?
RONA's own search does the same: after the products that match your words, it suggests similar products (for laptop, about 95 desks and accessories after 6 real matches). The Actor returns what rona.ca shows, and marks each row search_match = keyword or similar. Turn on Keyword matches only to drop the similar ones.
Which store are prices and stock for?
The store in RONA store number (default 83162, Mississauga, ON), shown on every row as stock_store_number. RONA's website picks a store from your location, and clearance lists and stock differ from store to store, so the Actor uses one fixed store for the whole run, which keeps runs comparable. stores_in_stock tells you how many RONA stores carry the product, and List stocking stores gives their numbers.
Can I scrape a whole department?
Yes. Paste the department URL (for example https://www.rona.ca/en/hardware) and leave Max products empty. Departments with more than 10,000 products are read through their sub-categories automatically.
Does it support scheduling and alerts? Yes. Use the Apify scheduler to refresh daily or weekly, and Dataset Diff to get only what changed.
Is it legal to scrape RONA? The Actor collects publicly listed product information (names, prices, stock, specs). It collects no personal data. You are responsible for using the data in line with RONA's terms and applicable law.
Something is not working? Open an issue in the Issues tab and I will fix it quickly.
Use via API or MCP
Call this Actor through the Apify REST API, or connect it to an AI agent (Claude, ChatGPT, Cursor) through the Apify MCP server, so an agent can look up RONA prices on demand:
https://mcp.apify.com/actors/fayoussef/rona-scraper
Full API docs: https://docs.apify.com/api/v2
En français : extracteur de produits RONA
Cet Actor extrait les produits de RONA.ca en français et en anglais : prix, prix régulier, rabais et date de fin de la promotion, stock en magasin et en ligne, marque, numéro de modèle, CUP, note des clients, catégorie, caractéristiques et images. Collez n'importe quelle URL RONA (catégorie, recherche, promotion ou fiche produit, par exemple https://www.rona.ca/fr/produit/...) ou tapez des mots-clés comme perceuse makita. Résultats en JSON, CSV ou Excel, avec planification et API.
Need a custom scraper?
Need Home Depot Canada, Canadian Tire or another retailer, extra fields or a scheduled price report? Email youssefarhan24@gmail.com or suggest a site. More Canadian data by me: Kijiji, AutoTrader.ca, RentFaster, Canada411.