{
  "openapi": "3.0.1",
  "info": {
    "title": "Coles Products Scraper | Prices, Specials and Nutrition",
    "description": "Coles scraper for Australian grocery data: 100 products in 28 seconds, 57 fields each. Search terms, aisle or specials links and product numbers return price, was price, unit price, specials, multibuys, ingredients, allergens, nutrition panel, country of origin, stock and photos. No Coles account.",
    "version": "1.0",
    "x-build-id": "Pyhejow4vxyiEIG3I"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~coles-products-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-coles-products-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/silentflow~coles-products-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-coles-products-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/silentflow~coles-products-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-coles-products-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",
            "type": "array",
            "description": "What you would type in the Coles search box, one per line: <code>milk</code>, <code>tim tam</code>, <code>coffee beans</code>, a brand like <code>Cadbury</code>. Every page of results is read, up to Max products. A coles.com.au link typed here is read as a link.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Coles links",
            "type": "array",
            "description": "Paste coles.com.au pages as you see them in your browser:<ul><li>an aisle, <code>https://www.coles.com.au/browse/dairy-eggs-fridge/cheese</code></li><li>the specials, <code>https://www.coles.com.au/on-special</code> or <code>https://www.coles.com.au/on-special/pantry</code></li><li>a search, <code>https://www.coles.com.au/search/products?q=coffee</code></li><li>a product, <code>https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288</code></li></ul>The sort and the specials filter chosen on the page are kept.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "🆔 Product numbers",
            "type": "array",
            "description": "Coles product numbers, the digits at the end of a product link (<code>8150288</code> for <code>/product/coles-full-cream-milk-3l-8150288</code>). Product links work here too. Each number gives one complete row. Best for tracking a fixed basket over time.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max products",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many products, all inputs together. A product found twice is saved once. A search for <code>milk</code> lists about 300 products; Coles shows up to 5,000 products per search, aisle or specials list.",
            "default": 100
          },
          "specials": {
            "title": "🏷️ Specials",
            "enum": [
              "none",
              "all",
              "halfprice",
              "multibuy",
              "onlineonly"
            ],
            "type": "string",
            "description": "Keep only products on special this week, as the Specials filter on coles.com.au does: <b>All specials</b>, <b>Half price</b>, <b>Multi buy</b> (2 for a set price) or <b>Online only</b>. Applies to search terms and links; product numbers are always returned.",
            "default": "none"
          },
          "sortBy": {
            "title": "↕️ Sort by",
            "enum": [
              "recommended",
              "bestsellers",
              "price_asc",
              "price_desc",
              "unit_price_asc",
              "unit_price_desc",
              "brand_asc",
              "brand_desc"
            ],
            "type": "string",
            "description": "The order Coles lists products in, the same choices as on the site. <b>Unit price: low to high</b> puts the cheapest per litre or per kilo first, so a small cap gives you the best value of a search. A link that carries its own <code>sortBy</code> keeps it.",
            "default": "recommended"
          },
          "storeId": {
            "title": "🏪 Store",
            "type": "string",
            "description": "The store whose range and stock you want. Prices are the same across Australia; the range on the shelf differs. Pick a capital, or type a Coles store number, a city such as <code>Melbourne</code> or a state such as <code>VIC</code>. Leave the default for Coles Online.",
            "default": "0584"
          },
          "includeDetails": {
            "title": "🥫 Ingredients, nutrition and origin",
            "type": "boolean",
            "description": "Open each product's page to add its ingredients, allergens, dietary claims, nutrition panel per 100 g and per serve, country of origin with its Australian ingredients share, description, storage and usage instructions. On by default; turn it off for prices only: in our test, 100 products took 11 seconds without it and 21 to 34 seconds with it. Rows from product numbers always include it.",
            "default": true
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}