LCBO Scraper — Products, Prices, Sales Ranks & Store Stock avatar

LCBO Scraper — Products, Prices, Sales Ranks & Store Stock

Pricing

from $1.50 / 1,000 products

Go to Apify Store
LCBO Scraper — Products, Prices, Sales Ranks & Store Stock

LCBO Scraper — Products, Prices, Sales Ranks & Store Stock

Scrape the full LCBO (Ontario) catalogue: prices, sales and promos, Aeroplan offers, monthly and yearly sales ranks, UPC, ABV, taste profile, ratings, online stock, and quantity on hand at any LCBO store. Search, category, whole-store and per-product store availability modes. No login.

Pricing

from $1.50 / 1,000 products

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

LCBO Scraper: Products, Prices, Sales Ranks & Store Stock

Get product data from the LCBO (Liquor Control Board of Ontario) as clean JSON, CSV or Excel. You can search it, pull whole categories or the entire catalogue (about 21,000 products, in under two minutes), and see how many units each LCBO store has on hand.

It covers what the lcbo.com product pages show plus data you won't find elsewhere:

  • Monthly and yearly sales ranks, and page-view ranks. These show what actually sells in Ontario.
  • Per-store quantity on hand for any of the ~680 LCBO stores, either for every product in a store at once or for every store carrying a product.
  • Current price, regular price, sale price and savings. Clearance and "On Sale" flags, Aeroplan bonus points with offer dates, and case prices.
  • UPC barcode, ABV, container and pack size, volume, sugar (g/L), VQA and kosher flags. Wine also gets varietal, region/sub-region and a taste profile (sweetness, body, flavour intensity, acidity, tannins).
  • Ratings and review counts, online stock, and the date each product was listed. Also the category path, Vintages and other program tags, and collections.

No account or login needed.

What you can do with it

ModeYou giveYou get
ProductsSearch terms, categories, SKUs, or nothing (full catalogue)One row per product
Store inventoryStore numbers (plus optional search terms, categories or SKUs)One row per product per store, with quantity on hand
Product availabilitySKUsOne row per store carrying the product: store name, address, city, phone, quantity

Filters work in every mode: price range, on sale only, countries, categories. Sort options: best-selling this month or year, most viewed, price, newest, top rated, most reviewed, relevance.

Use cases

  • Wine agents, importers and brand managers: track your products' sales rank against competitors, find out which stores carry you and how deep their stock is, and watch new listings in your category.
  • Price and deal trackers: take daily snapshots of every price, sale, clearance item and Aeroplan offer across the whole catalogue.
  • Bars, restaurants and retailers: find which nearby stores have a product in stock and how many units they hold.
  • Market research: see what sells in Ontario by category, country, price band or ABV.
  • Apps and marketplaces: build a product database with UPCs, images, descriptions and taste profiles.

Input examples

Search (the prefilled example, done in seconds):

{ "searchTerms": ["vodka", "pinot noir"], "maxItemsPerSearch": 25 }

Top 500 best-selling red wines under $20:

{ "categories": ["Red Wine"], "maxPrice": 20, "sortBy": "bestSelling", "maxItems": 500 }

The entire catalogue (about 21,000 products). Leave everything empty and set no limit:

{}

Everything on sale right now:

{ "onSaleOnly": true }

Everything in stock at two stores, with quantities:

{ "mode": "storeInventory", "storeIds": ["388", "https://www.lcbo.com/en/stores/king-west-victoria-43"] }

Which stores have these products, and how many units:

{ "mode": "productAvailability", "skus": ["521963", "https://www.lcbo.com/en/bask-pinot-noir-16779"] }

Categories

Use names as they appear on lcbo.com, for example Wine, Red Wine, Spirits > Whisky, Beer, Cider, Ready to Drink, Non-Alcoholic. Collections work too: Vintages, Promotions > Clearance. If a name isn't recognised, the run log suggests the closest matches.

Store numbers

A store's number is at the end of its page URL on lcbo.com, e.g. https://www.lcbo.com/en/stores/robertson-stafford-388 is store 388. You can paste the URL directly.

Output

Product row

{
"sku": "16779",
"name": "Bask Pinot Noir",
"brand": "Bask",
"url": "https://www.lcbo.com/en/bask-pinot-noir-16779",
"imageUrl": "https://aem.lcbo.com/content/dam/lcbo/products/0/1/6/7/016779.jpg.thumb.319.319.png",
"price": 13.95,
"regularPrice": 13.95,
"promoPrice": null,
"onSale": false,
"savings": null,
"currentOffers": [],
"aeroplanBonusPoints": null,
"casePrice": 167.4,
"primaryCategory": "Wine",
"category": "Red Wine",
"categoryPath": "Wine > Red Wine",
"collections": ["Collections > Low Sugar Wines", "Collections > Shop Red Wines by Price > Under $15"],
"programs": [],
"size": "750",
"unitVolumeMl": 750,
"totalVolumeMl": 750,
"unitsPerPack": 1,
"unitsPerCase": 12,
"container": "bottle",
"abv": 13,
"country": "Canada",
"region": "Ontario",
"subregion": null,
"varietal": "Pinot Noir",
"isVqa": false,
"isKosher": false,
"sugarGramsPerLitre": 3,
"tasteProfile": { "sweetness": 1, "body": 3, "flavourIntensity": 3, "acidity": 3, "tannins": 2 },
"upc": "063657042045",
"rating": 3.5,
"reviewCount": 39,
"sellRankMonthly": 338,
"sellRankYearly": 399,
"viewRankMonthly": 1436,
"viewRankYearly": 2582,
"onlineInventory": 12,
"buyableOnline": true,
"listedAt": "2022-01-19T19:51:40.000Z",
"description": "This dry and soft-textured pinot is low in sugar and loaded with dark berries…",
"tastingKeywords": ["grilled salmon", "dark berries", "spice aromas"],
"searchTerm": "pinot noir",
"language": "en",
"scrapedAt": "2026-09-24T02:48:58.390Z"
}

Store inventory rows are the same, plus storeId, storeQuantity, inStockAtStore and lowStockAtStore.

Product availability rows look like this:

{
"sku": "521963",
"productName": "Chopin Potato Vodka",
"price": 53.15,
"size": "750 ml bottle",
"storeId": "388",
"storeName": "Robertson & Stafford",
"city": "Ottawa",
"address": "1811 Robertson Road",
"phone": "(613) 828-5714",
"quantity": 28,
"storeUrl": "https://www.lcbo.com/en/stores/robertson-stafford-388",
"storesWithStock": 214,
"totalUnitsInStores": 2540
}

FAQ

How fast is it? A search of a few dozen products finishes in a few seconds. The full catalogue (about 21,000 products) takes about 1–2 minutes, and a whole store's inventory takes seconds.

What do the sales ranks mean? sellRankMonthly = 1 is the best-selling product at the LCBO this month. Lower is better. Products with no recent sales have no rank (null).

Is price the sale price? Yes. price is what you pay today. regularPrice is the usual price. promoPrice, onSale and savings are set when a reduction is running.

Are the sort orders exact for very large result sets? Up to 5,000 results per search follow the sort you choose. Anything beyond that is still returned in full, in price order.

Store quantities: how fresh are they? They are the same numbers lcbo.com shows on its store availability pages at the time of the run.

French? Set language to fr to get French names, descriptions and categories.

Can I schedule it? Yes. Use an Apify schedule for daily price, promo or stock snapshots, and compare runs to track changes.

Something missing or wrong? Open an issue on the Issues tab with the input you used, and it will be looked at quickly.

Is it legal to scrape LCBO? This Actor only collects publicly available data: product listings, prices, sales ranks, product descriptions, stock levels and LCBO store addresses and phone numbers that LCBO's website serves to any visitor without an account. Collecting publicly available data is generally legal, but you're responsible for how you use it. Product descriptions can include the names of wine critics whose reviews LCBO quotes, and that counts as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as LCBO's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?

Does it access any private data? No. Everything comes from LCBO's public website, the same product and store data lcbo.com loads for any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas.