{
  "openapi": "3.0.1",
  "info": {
    "title": "Coles Scraper - Prices & Stock by Store, Specials, Catalog",
    "description": "Coles Australia prices and stock for every store. Search, paste any Coles link, or scrape half-price and multibuy specials and the full catalog, by store ID, postcode or all ~870 stores. Add barcodes, nutrition, ingredients and allergens, plus every store's address and opening hours.",
    "version": "0.0",
    "x-build-id": "aBTQQTR0dNwlxZvWG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~coles-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-coles-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/clearpath~coles-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-coles-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/clearpath~coles-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-coles-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",
        "properties": {
          "searchTerms": {
            "title": "🔍 Search terms",
            "maxItems": 100,
            "type": "array",
            "description": "Products to search for on Coles, one per line. Each search returns the same products you would see on coles.com.au. Up to 100 per run.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Coles links",
            "maxItems": 1000,
            "type": "array",
            "description": "Paste any Coles link: a product, category, specials page, brand, search results or store page. Filters and sorting in the link are kept. For a product ID, paste https://www.coles.com.au/product/ followed by the ID. Up to 1,000 per run.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "specials": {
            "title": "🏷️ Specials",
            "enum": [
              "none",
              "allspecials",
              "halfprice",
              "multibuy",
              "onlineonly"
            ],
            "type": "string",
            "description": "Scrape everything currently on special, or only one kind of deal.",
            "default": "none"
          },
          "departments": {
            "title": "🗂️ Departments",
            "type": "array",
            "description": "Whole departments, picked from the list. For one aisle or shelf, paste its link above instead.",
            "items": {
              "type": "string",
              "enum": [
                "fruit-vegetables",
                "meat-seafood",
                "deli",
                "dairy-eggs-fridge",
                "bakery",
                "lunchbox",
                "frozen",
                "chips-chocolates-snacks",
                "pantry",
                "international-foods",
                "drinks",
                "liquorland",
                "health-dietary",
                "health-beauty",
                "cleaning-laundry",
                "baby",
                "pet",
                "home-garden"
              ],
              "enumTitles": [
                "Fruit & Vegetables",
                "Meat & Seafood",
                "Deli",
                "Dairy, Eggs & Fridge",
                "Bakery",
                "Lunchbox",
                "Frozen",
                "Chips, Chocolates & Snacks",
                "Pantry",
                "International Foods",
                "Drinks",
                "Liquorland",
                "Health & Dietary",
                "Health & Beauty",
                "Cleaning & Laundry",
                "Baby",
                "Pet",
                "Home & Garden"
              ]
            }
          },
          "fullCatalog": {
            "title": "📦 Full catalog",
            "type": "boolean",
            "description": "Scrape every product Coles sells online, department by department: more than 20,000 products per store. Pick Departments above to narrow it. Tobacco is excluded because Coles age-restricts it.",
            "default": false
          },
          "storeDirectory": {
            "title": "📍 Store directory",
            "type": "boolean",
            "description": "Add every Coles supermarket to the results: address, phone, coordinates, opening hours and holiday hours.",
            "default": false
          },
          "maxItems": {
            "title": "🔢 Maximum products",
            "minimum": 0,
            "type": "integer",
            "description": "Per search term, link, department or specials type, per store. For the store directory, the maximum number of stores. Leave empty or set 0 for no limit. Keeps a run small and the cost predictable."
          },
          "storeIds": {
            "title": "Store IDs",
            "type": "array",
            "description": "Get prices, stock and range for specific stores. The store ID is the number at the end of a Coles store page link, for example 313 in coles.com.au/find-stores/coles/wa/karratha-313. Each store gets its own rows.",
            "items": {
              "type": "string"
            }
          },
          "postcodes": {
            "title": "Postcodes",
            "maxItems": 500,
            "type": "array",
            "description": "Australian postcodes. Each one uses the nearest Coles supermarket that sells online. Up to 500 per run.",
            "items": {
              "type": "string"
            }
          },
          "allStores": {
            "title": "All Coles stores",
            "type": "boolean",
            "description": "Run your searches, links, specials and full catalog in every Coles supermarket that sells online (around 870 stores). Results multiply by the number of stores, so combine with a small maximum for a national price comparison.",
            "default": false
          },
          "includeDetails": {
            "title": "Include product details",
            "type": "boolean",
            "description": "Add barcode (GTIN), ingredients, allergens, dietary information, nutrition panel, country of origin, full description, all images and every size variant to each product. Slower, and charged as an add-on per product. Products from product links always include details.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "priceAscending",
              "priceDescending",
              "productNameAscending",
              "productNameDescending"
            ],
            "type": "string",
            "description": "Order results the way Coles sorts them. Links that already contain a sort order keep it.",
            "default": "relevance"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}