Safeway Canada Grocery Scraper - Prices, Sales & Nutrition avatar

Safeway Canada Grocery Scraper - Prices, Sales & Nutrition

Pricing

from $0.75 / 1,000 results

Go to Apify Store
Safeway Canada Grocery Scraper - Prices, Sales & Nutrition

Safeway Canada Grocery Scraper - Prices, Sales & Nutrition

Prices, sale prices, categories and full nutrition panels for 53,000 Safeway Canada grocery products. Search by keyword, export CSV or JSON.

Pricing

from $0.75 / 1,000 results

Rating

0.0

(0)

Developer

Michael Hill

Michael Hill

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Most grocery scrapers give you a name and a price. This one gives you the regular price, the sale price, and the date the promotion ends — plus a 16-field nutrition panel — for Safeway Canada.

This is Safeway Canada — the Empire/Sobeys banner across British Columbia, Alberta, Saskatchewan and Manitoba. It is a different company from Safeway in the United States, and the prices here are Canadian. The catalogue lists about 53,000 products across 148 stores. Search by keyword or pull the whole catalogue. Export to CSV, Excel, JSON, or pull it straight from the API.

Why this one

Typical grocery scraperThis Actor
Current price
Regular price when an item is on saleregularPrice
When the promotion endspriceValidUntil
Full nutrition panel✅ 16 fields
Same product across several banners✅ shared sku

About one product in five is on offer at any time, and every one of those rows carries the regular price and the end date alongside the sale price — the difference between "this costs $4.99" and "this is $4.99 until Wednesday, normally $6.79."

Safeway shares one product ID with Sobeys, Foodland, Thrifty Foods, IGA and FreshCo — all Empire Company banners. The same sku identifies the same item in every one of them. Run this alongside the Sobeys and Foodland, Thrifty Foods, IGA & FreshCo scrapers and the rows line up across six banners and every region in Canada — which is exactly the comparison a plain price scraper cannot do.

What you get

FieldExample
nameCompliments Pine Nuts 100 g
brandCompliments (empty for unbranded items)
price11.29 — the current price, promotional if one is running
regularPrice14.99 — the regular price; same as price when nothing is on offer
onSaletrue / false
priceValidUntil2026-09-16 — when a promotion ends
currencyCAD
availabilityInStoreOnly or OutOfStock
categoryBaking & Cooking Ingredients
categoryPathSafeway > Pantry > Baking & Cooking Ingredients
sku444192 — the internal Empire ID, not a UPC
imageUrlLink to the product image — empty for about a third of the catalogue
urlLink to the product page
scrapedAtISO timestamp

With Include nutrition panel on (the default), each row also carries servingSize, calories, fat, saturatedFat, transFat, omega3, omega6, cholesterol, sodium, carbohydrate, fibre, sugar, protein, calcium, iron and potassium.

What people use it for

  • Promotion tracking — every discounted row carries the regular price and the end date, not just the sale price
  • Price monitoring — track list price and stock status week to week
  • Regional price comparison — Safeway is the Western Canada banner. Add the Sobeys and Empire scrapers and the same SKU comes back priced in Ontario, Quebec, BC and the Prairies; they are not always the same number
  • Nutrition and diet apps — a large Canadian food database with real retail prices attached
  • Research — food price inflation, product assortment, brand share of shelf

How to use it

  1. Put one or more words in Search termsmilk, bread, coffee. Leave the field empty to walk the entire catalogue.
  2. Set Maximum products. Start small (the default 100) to see the shape of the data before a big run. This is also your spend ceiling — you are charged per product returned.
  3. Run it. Results appear in the dataset tab and can be exported in any format.

Tips

  • Search terms are matched against the product name in the URL, so milk works and 2% milk 4L will not.
  • Matching is a plain substring test and any term can match, so short terms catch more than you expect — com also matches compliments.
  • Leave the proxy on. Safeway blocks unproxied requests outright.
  • If you see failures, lower Parallel requests.

Pricing

$0.75 per 1,000 products, plus a $0.00005 start fee that is small enough to ignore. You are charged per product returned — nothing for products that fail, and nothing for the sitemap pages the run reads to find them. A 100-product run costs about $0.08, and 1,000 products about $0.75.

Notes

  • Prices are the Safeway Canada catalogue prices published on the banner's own product pages. They are not specific to one branch — items are listed InStoreOnly or OutOfStock, so treat the figure as Safeway's published price rather than a till price at a particular store.
  • Roughly a third of the catalogue is listed OutOfStock at any time; the rest is InStoreOnly. Those rows carry price and nutrition data just like the rest.
  • Every product carries a price. About a third carry no image and about one in six is unbranded — both come back empty rather than missing.
  • About four in five products publish usable nutrition data, and a filled panel averages roughly half its sixteen fields. Calories are there for about 80% of products, protein for about a third. The rest come back with the nutrition columns empty rather than missing.
  • sku is shared across the Empire banners, so the same ID identifies the same product on Sobeys, Safeway and the rest — which is what makes cross-banner comparison possible.
  • Nutrition values come through exactly as Safeway publishes them, which means some are numbers (220) and some are strings with units (21 g). Unmeasured nutrients come back empty rather than missing, so your columns stay stable.
  • This reads the structured product data Safeway publishes on its own pages for search engines, and only follows URLs listed in their public sitemap. It does not touch account, cart, or checkout areas, which their robots.txt disallows.

Problems or requests

Open an issue on the Actor's Issues tab. Bug reports get fixed and reasonable field requests usually get added.