{
  "openapi": "3.0.1",
  "info": {
    "title": "Loblaws, No Frills, Superstore & Maxi Scraper API - Canada",
    "description": "Scrape grocery prices from 12 Canadian chains: Loblaws, Real Canadian Superstore, No Frills, Zehrs, Fortinos, Valu-mart, Your Independent Grocer, City Market, Provigo, Maxi, Wholesale Club and Atlantic Superstore. Store-level pricing by postal code. JSON, CSV or Excel.",
    "version": "1.0",
    "x-build-id": "mqqzZqsu1eg7ptj8W"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sunny_eternity~loblaws-grocery-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sunny_eternity-loblaws-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/sunny_eternity~loblaws-grocery-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sunny_eternity-loblaws-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/sunny_eternity~loblaws-grocery-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sunny_eternity-loblaws-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "banner"
        ],
        "properties": {
          "banner": {
            "title": "Store Banner",
            "enum": [
              "superstore",
              "nofrills",
              "loblaw",
              "zehrs",
              "fortinos",
              "valumart",
              "independent",
              "independentcitymarket",
              "provigo",
              "maxi",
              "wholesaleclub",
              "rass"
            ],
            "type": "string",
            "description": "Which Loblaw Companies banner to scrape. Every banner is a separate chain with its own prices and assortment, covering all ten provinces plus the territories.",
            "default": "superstore"
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Select departments (📁) or specific subcategories (└). Selecting a department scrapes all its subcategories. Choose 'all' for the entire store.",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "fruits-vegetables",
                "fruits-vegetables/in-store-salads",
                "fruits-vegetables/fresh-vegetables",
                "fruits-vegetables/packaged-salad-dressing",
                "fruits-vegetables/herbs",
                "fruits-vegetables/fresh-fruits",
                "fruits-vegetables/fresh-cut-fruits-vegetables",
                "fruits-vegetables/dried-fruits-nuts",
                "fruits-vegetables/fresh-juice-smoothies",
                "dairy-eggs",
                "dairy-eggs/butter-spreads",
                "dairy-eggs/desserts-doughs",
                "dairy-eggs/egg-egg-substitutes",
                "dairy-eggs/lactose-free",
                "dairy-eggs/milk-cream",
                "dairy-eggs/cheese",
                "dairy-eggs/sour-cream-dips",
                "dairy-eggs/yogurt",
                "dairy-eggs/natural-and-organic",
                "dairy-eggs/non-dairy-milk-alternatives",
                "meat",
                "meat/bacon",
                "meat/hot-dogs",
                "meat/kebabs-marinated-meat",
                "meat/beef",
                "meat/sausages",
                "meat/lamb-veal",
                "meat/chicken-turkey",
                "meat/halal-meat",
                "meat/pork-ham",
                "meat/game-meat-offals-fowl",
                "meat/plant-based-meat-alternatives",
                "meat/deli-meat",
                "pantry",
                "pantry/honey-syrups-spreads",
                "pantry/spices-seasonings",
                "pantry/cereal-breakfast",
                "pantry/canned-pickled",
                "pantry/dried-beans-vegetables-grains",
                "pantry/baking-essentials",
                "pantry/condiments-sauces",
                "pantry/oils-vinegar",
                "pantry/international-foods",
                "pantry/easy-meals-sides",
                "pantry/pasta-pasta-sauce",
                "pantry/rice",
                "pantry/bulk-nuts-and-candy",
                "international-foods",
                "international-foods/south-asian-foods",
                "international-foods/afro-caribbean-foods",
                "international-foods/kosher-foods",
                "international-foods/halal-foods",
                "international-foods/latin-american-foods",
                "international-foods/european-foods",
                "international-foods/east-asian-foods",
                "international-foods/middle-eastern-foods",
                "international-foods/filipino-foods",
                "snacks-chips-candy",
                "snacks-chips-candy/snack-cakes",
                "snacks-chips-candy/chips-snacks",
                "snacks-chips-candy/candy-chocolate",
                "snacks-chips-candy/crackers-cookies",
                "frozen-food",
                "frozen-food/frozen-pizza",
                "frozen-food/meals-entrees-sides",
                "frozen-food/frozen-fruit-vegetables",
                "frozen-food/bakery-breakfast",
                "frozen-food/natural-and-organic",
                "frozen-food/appetizers-snacks",
                "frozen-food/beverages-ice",
                "frozen-food/ice-cream-desserts",
                "frozen-food/meatless-alternatives",
                "frozen-food/frozen-meat-seafood",
                "natural-and-organic",
                "natural-and-organic/bakery",
                "natural-and-organic/bars-and-protein",
                "natural-and-organic/cereals-spreads-syrups",
                "natural-and-organic/frozen-foods",
                "natural-and-organic/dairy-and-eggs",
                "natural-and-organic/health-beauty",
                "natural-and-organic/household-supplies",
                "natural-and-organic/vitamins-minerals-and-supplements",
                "natural-and-organic/drinks",
                "natural-and-organic/condiments-sauces-and-oils",
                "natural-and-organic/baking-and-spices",
                "natural-and-organic/canned",
                "natural-and-organic/pasta-and-side-dishes",
                "natural-and-organic/snacks-chips-candy",
                "bakery",
                "bakery/wraps-flatbread-pizza-crust",
                "bakery/cookies-muffins-desserts",
                "bakery/buns-rolls",
                "bakery/bagels-croissants-english-muffins",
                "bakery/bread",
                "bakery/cakes",
                "prepared-meals",
                "prepared-meals/rotisserie-fried-chicken",
                "prepared-meals/salads-soups",
                "prepared-meals/fries-sides",
                "prepared-meals/entrees-appetizers",
                "prepared-meals/quiches-pies",
                "prepared-meals/sandwiches",
                "prepared-meals/sushi",
                "prepared-meals/fresh-pasta-sauce",
                "prepared-meals/pizza",
                "prepared-meals/snacks-dips",
                "drinks",
                "drinks/coffee",
                "drinks/drink-mixes",
                "drinks/juice",
                "drinks/soft-drinks",
                "drinks/non-dairy-milk-alternatives",
                "drinks/sports-energy",
                "drinks/tea-hot-drinks",
                "drinks/water",
                "drinks/natural-and-organic",
                "drinks/non-alcoholic-drinks",
                "deli",
                "deli/crackers-condiments",
                "deli/deli-meat",
                "deli/deli-cheese",
                "deli/dips-spreads-antipasto",
                "deli/vegan-vegetarian",
                "deli/party-trays",
                "deli/lunch-snack-kits",
                "fish-seafood",
                "fish-seafood/squid-octopus",
                "fish-seafood/shellfish",
                "fish-seafood/fish",
                "fish-seafood/seafood-appetizers",
                "fish-seafood/salmon",
                "fish-seafood/shrimp",
                "fish-seafood/smoked-fish"
              ],
              "enumTitles": [
                "All Categories (entire store)",
                "📁 Fruits & Vegetables",
                "  └ In-Store Salads",
                "  └ Fresh Vegetables",
                "  └ Packaged Salad & Dressing",
                "  └ Herbs",
                "  └ Fresh Fruits",
                "  └ Fresh Cut Fruits & Vegetables",
                "  └ Dried Fruits & Nuts",
                "  └ Fresh Juice & Smoothies",
                "📁 Dairy & Eggs",
                "  └ Butter & Spreads",
                "  └ Desserts & Doughs",
                "  └ Egg & Egg Substitutes",
                "  └ Lactose Free",
                "  └ Milk & Cream",
                "  └ Cheese",
                "  └ Sour Cream & Dips",
                "  └ Yogurt",
                "  └ Natural and Organic",
                "  └ Non-Dairy Milk Alternatives",
                "📁 Meat",
                "  └ Bacon",
                "  └ Hot Dogs",
                "  └ Kebabs & Marinated Meat",
                "  └ Beef",
                "  └ Sausages",
                "  └ Lamb & Veal",
                "  └ Chicken & Turkey",
                "  └ Halal Meat",
                "  └ Pork & Ham",
                "  └ Game Meat, Offals & Fowl",
                "  └ Plant Based Meat Alternatives",
                "  └ Deli Meat",
                "📁 Pantry",
                "  └ Honey, Syrups & Spreads",
                "  └ Spices & Seasonings",
                "  └ Cereal & Breakfast",
                "  └ Canned & Pickled",
                "  └ Dried Beans, Vegetables & Grains",
                "  └ Baking Essentials",
                "  └ Condiments & Sauces",
                "  └ Oils & Vinegar",
                "  └ International Foods",
                "  └ Easy Meals & Sides",
                "  └ Pasta & Pasta Sauce",
                "  └ Rice",
                "  └ Bulk Nuts and Candy",
                "📁 International Foods",
                "  └ South Asian Foods",
                "  └ Afro-Caribbean Foods",
                "  └ Kosher Foods",
                "  └ Halal Foods",
                "  └ Latin American Foods",
                "  └ European Foods",
                "  └ East Asian Foods",
                "  └ Middle Eastern Foods",
                "  └ Filipino Foods",
                "📁 Snacks, Chips & Candy",
                "  └ Snack Cakes",
                "  └ Chips & Snacks",
                "  └ Candy & Chocolate",
                "  └ Crackers & Cookies",
                "📁 Frozen Food",
                "  └ Frozen Pizza",
                "  └ Meals, Entrees & Sides",
                "  └ Frozen Fruit & Vegetables",
                "  └ Bakery & Breakfast",
                "  └ Natural and Organic",
                "  └ Appetizers & Snacks",
                "  └ Beverages & Ice",
                "  └ Ice Cream & Desserts",
                "  └ Meatless Alternatives",
                "  └ Frozen Meat & Seafood",
                "📁 Natural & Organic",
                "  └ Bakery",
                "  └ Bars and Protein",
                "  └ Cereals, Spreads & Syrups",
                "  └ Frozen Foods",
                "  └ Dairy and Eggs",
                "  └ Health & Beauty",
                "  └ Household Supplies",
                "  └ Vitamins, Minerals and Supplements",
                "  └ Drinks",
                "  └ Condiments, Sauces and Oils",
                "  └ Baking and Spices",
                "  └ Canned",
                "  └ Pasta and Side Dishes",
                "  └ Snacks, Chips & Candy",
                "📁 Bakery",
                "  └ Wraps, Flatbread & Pizza Crust",
                "  └ Cookies, Muffins & Desserts",
                "  └ Buns & Rolls",
                "  └ Bagels, Croissants & English Muffins",
                "  └ Bread",
                "  └ Cakes",
                "📁 Prepared Meals",
                "  └ Rotisserie & Fried Chicken",
                "  └ Salads & Soups",
                "  └ Fries & Sides",
                "  └ Entrees & Appetizers",
                "  └ Quiches & Pies",
                "  └ Sandwiches",
                "  └ Sushi",
                "  └ Fresh Pasta & Sauce",
                "  └ Pizza",
                "  └ Snacks & Dips",
                "📁 Drinks",
                "  └ Coffee",
                "  └ Drink Mixes",
                "  └ Juice",
                "  └ Soft Drinks",
                "  └ Non-dairy Milk Alternatives",
                "  └ Sports & Energy",
                "  └ Tea & Hot Drinks",
                "  └ Water",
                "  └ Natural and Organic",
                "  └ Non-Alcoholic Drinks",
                "📁 Deli",
                "  └ Crackers & Condiments",
                "  └ Deli Meat",
                "  └ Deli Cheese",
                "  └ Dips, Spreads & Antipasto",
                "  └ Vegan & Vegetarian",
                "  └ Party Trays",
                "  └ Lunch & Snack Kits",
                "📁 Fish & Seafood",
                "  └ Squid & Octopus",
                "  └ Shellfish",
                "  └ Fish",
                "  └ Seafood Appetizers",
                "  └ Salmon",
                "  └ Shrimp",
                "  └ Smoked Fish"
              ]
            }
          },
          "categoryUrls": {
            "title": "Custom Category URLs (optional)",
            "type": "array",
            "description": "Optional: provide raw category URLs for subcategories not listed above (e.g., https://www.realcanadiansuperstore.ca/en/food/fruits-vegetables/fresh-vegetables/c/28195).",
            "items": {
              "type": "string"
            }
          },
          "search_terms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Optional search terms to query (e.g., 'milk', 'organic eggs').",
            "items": {
              "type": "string"
            }
          },
          "postal_code": {
            "title": "Postal Code",
            "pattern": "^[A-Za-z]\\d[A-Za-z]\\s?\\d[A-Za-z]\\d$",
            "type": "string",
            "description": "Optional Canadian postal code (e.g. 'V6M 2P8' or 'H3A 1A1'). The nearest store of the selected banner is resolved from Loblaw's own store directory, so prices come back for that store. locationId takes priority if both are provided."
          },
          "locationId": {
            "title": "Store Location ID",
            "type": "string",
            "description": "Optional store location ID for pricing (e.g., 1517). Takes priority over postal_code."
          },
          "group_variants": {
            "title": "Group package-size variants",
            "type": "boolean",
            "description": "When ON, products that are the same item at different package sizes (e.g., 500g vs 1kg of the same brand) are merged into a single output row, with a 'variants' column listing each size's price/package_size/unit_price. OFF by default (one row per SKU).",
            "default": false
          },
          "on_sale_only": {
            "title": "On-sale items only",
            "type": "boolean",
            "description": "When ON, only products flagged as on sale (is_on_sale=true — a wasPrice, deal, promotion, or sale badge) are pushed to the dataset. OFF by default (all products output).",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}