Product
Name, brand, size, and category fields where available.
Start with 42 real rows from an Ontario export in its original format. Read the fields, open the file, and reproduce the example. No account required.
Ontario export prepared 2026-10-19 · CAD · rows taken unchanged from a 151,482-row file.
This sample keeps its original columns. New exports add UPC Match Status; see the current export columns below. Use the separate data dictionary link above for the sample's original columns.
| Chain | Store code | Rows | On promotion | With unit price |
|---|---|---|---|---|
| Foodland | foodland-3237 | 3 | 0 | 3 |
| Fortinos | fortinos-0046 | 4 | 0 | 1 |
| FreshCo | freshco-2912 | 5 | 2 | 4 |
| Loblaws | loblaws-1000 | 2 | 0 | 1 |
| No Frills | nofrills-0266 | 3 | 1 | 3 |
| Real Canadian Superstore | rcss-0512 | 7 | 1 | 3 |
| Safeway | safeway-4809 | 4 | 0 | 2 |
| Sobeys | sobeys-0637 | 3 | 1 | 3 |
| Wholesale Club | wholesaleclub-0202 | 2 | 0 | 2 |
| Your Independent Grocer | yig-0405 | 3 | 1 | 2 |
| Zehrs | zehrs-0500 | 6 | 2 | 6 |
Products grouped by store, with their recorded promotion and unit-price fields.
Save the CSV and Python script in the same folder. Run the command below with Python 3; no extra packages or API key are needed.
python3 analyse.py observations.csvThe sample's dictionary describes its original export format. Current export columns are listed below. The API reference shows every field.
We track 82 stores across 18 chains in every province, plus the Yukon and Northwest Territories, checked 2026-10-23. Collection runs on a nightly schedule. Start with the free Ontario sample above.
Check chains and provincesStore Basis distinguishes retailer-confirmed stores from requested stores.Keep each price with its product, place and date. The current series starts March 22, 2026; the sample above includes its own Ontario dates.
Read the price history guideWork with grocery promotion dataName, brand, size, and category fields where available.
Shelf, regular, and sale price where available.
The grocery chain and store details where returned.
Canadian province and location details where returned.
When we collected the price, where returned.
The source of the price and notes for comparing it.
Read the dated prices together with the collection method and store coverage.
Read the collection methodSee which stores we trackListing prices, official statistics and checkout data each answer a different question.
| Source | What it contains | Typical use |
|---|---|---|
| Prices on retailer websites | What Vynn saw for a product, chain, province, store, and date. | Product-level pricing and promotion analysis. |
| Official Canadian food-price statistics | Monthly averages and inflation measures for selected categories and products. | Economic reports and monthly inflation comparisons. |
| Point-of-sale data | What shoppers bought at checkout, including quantities and sales value where supplied. | Sales volumes and basket analysis. |
Vynn records online shelf prices, with the store and collection date attached.
Use weekly grocery data in food inflation researchNew CSV files from your account have these 25 columns, in this order. Use the sample's own data dictionary for its original columns.
Product NameProduct name as the retailer lists it.BrandBrand as listed. Blank when the retailer gives none.UPCBarcode when known. Blank otherwise; the chain's own product code is listed separately.UPC Match Statussingle_listing: one listing has this barcode at the same chain, province and store, after any category filter. multiple_listings: more than one listing shares it in that group; keep their product codes and prices separate. unknown: the barcode or matching details are missing. This counts listings; it does not confirm that they are the same product.Retailer SKUThe retailer's own product code for this listing. Not a barcode.CategoryVynn department, such as Pantry or Snacks. Blank means the product has no published category yet.BannerGrocery chain name, such as No Frills. Blank when the chain has no published name.Banner SlugShort, stable chain code for joining files, such as nofrills.ProvinceProvince of the store listed in this row.Store IDThe store Vynn requested a price for. Store Basis says whether the retailer confirmed it.Store Basisobserved: the retailer confirmed the store. requested: the retailer's website did not confirm it, so the price may be the chain's default online price.Store NameName of the store listed in this row, such as Zehrs Clairfield. Blank when Vynn has no name on file.Store CityCity of the store listed in this row. Blank when Vynn has no city on file.Store FSAFirst three characters of the store's postal code, such as N1L. Blank when Vynn has no valid postal code on file.PriceShelf price collected, in CAD. On promotion, this is the promotional price.Regular PriceNon-promotional price collected alongside this price. Retailers usually show one only during a promotion. Blank when none was shown or it cannot be tied to this price.On Promotiontrue or false for this price. Promotion Basis says where the sale flag came from. Blank means not reported or it cannot be tied to this price. Blank does not mean a regular price.Promotion Basisobserved: the retailer marked the price as on or off promotion. inferred: a Sobeys-family chain showed no sale marker, read as false. Older prices that cannot be classified stay blank; the required sale marker was recorded only after this column was added. Blank when On Promotion is blank.Unit PriceVynn's comparison price per 100 g, 100 mL, kg or item. The API's unit_price field instead returns the retailer's own unit price. Blank when the package size or item count is unreliable.Unit Price PerThe unit: 100g, kg, 100mL, or ct.Unit Price Sourcederived: calculated from the package size. observed: the retailer's own unit price, converted to the same unit.SizePackage size as listed. Blank when the listed size is not reliable.Price DateWhen the price was collected, as a UTC timestamp.FreshnessSet when the file was prepared. current: collected in the 14 days before that. stale: older; keep or filter these rows as you need. unknown: no collection date. For later analysis, use Price Date.SourceHow the row was collected. v2_sweep is Vynn's scheduled collection.Review the sample options, or create a free account and make your first query.