{
  "openapi": "3.0.1",
  "info": {
    "title": "ALDI Australia Scraper: Prices, Special Buys, State Prices",
    "description": "ALDI Australia products and prices by keyword, category, full catalogue, Special Buys or product link: price, unit price, Lower Prices and Super Savers flags, Special Buys on sale date, brand, category, pack size, images. Prices by state or store. Monitor mode returns price changes only. No login.",
    "version": "0.1",
    "x-build-id": "7szWYtFWfafPWQidk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~aldi-australia-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-aldi-australia-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/themineworks~aldi-australia-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-aldi-australia-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/themineworks~aldi-australia-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-aldi-australia-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": {
          "searchQueries": {
            "title": "Keywords",
            "type": "array",
            "description": "Products as you would type them in the aldi.com.au search box, one per line. Example: milk, coffee pods, nappies. Each keyword reads ALDI's search results, 60 per call, up to Max products per keyword. A search link (https://www.aldi.com.au/results?q=milk) works here too. Up to 100 searches per run.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories (optional)",
            "type": "array",
            "description": "ALDI categories by name (Milk, Dairy, Eggs & Fridge), slug (dairy-eggs-fridge/milk), ID (1111111160) or link (https://www.aldi.com.au/products/dairy-eggs-fridge/milk/k/1111111160). A top category includes its subcategories. The promotion groups work too: Lower Prices, Super Savers, Limited Time Only. Write all to read the full catalogue.",
            "items": {
              "type": "string"
            }
          },
          "fullCatalogue": {
            "title": "Read the full catalogue",
            "type": "boolean",
            "description": "On: every product ALDI Australia lists (3,322 on 28 Oct 2026), 60 per call, each with its own category path. Max products per keyword does not limit it; use the run's max cost to cap the spend.",
            "default": false
          },
          "specialBuys": {
            "title": "Read all current and upcoming Special Buys",
            "type": "boolean",
            "description": "On: every Special Buys date and theme ALDI currently advertises (for example Wed 4 Nov: Liquor, Christmas Sweets), each product with its on sale date and theme. For one date or theme, paste its link in Product links instead (https://www.aldi.com.au/special-buys/2026-11-04?theme=Liquor).",
            "default": false
          },
          "productUrls": {
            "title": "Product links, SKUs or other ALDI links (optional)",
            "type": "array",
            "description": "ALDI product links (https://www.aldi.com.au/product/choceur-milk-mouse-milk-chocolate-168g-000000000538441002) or SKUs (000000000538441002), 60 per call. Category, search and Special Buys links work here too. Built for one record at a time from Clay, n8n or an AI agent.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "States, postcodes or stores for regional prices (optional)",
            "type": "array",
            "description": "ALDI prices fresh produce, meat and liquor by store. Give states (NSW, VIC, QLD, SA, WA, ACT), postcodes (6000) or ALDI store ids (G525), up to 10. A state or postcode uses the nearest ALDI store. Every search is read once per store and each row carries the store id, name and state. Empty: ALDI's default online prices.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max products per keyword or category",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most products to return for each keyword, category or Special Buys link, per store, 1 to 10,000. The full catalogue, all Special Buys and product links are not limited by this. Example: 500.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "name_asc",
              "name_desc",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order of the results, as on aldi.com.au. Empty: relevance for keywords, name A to Z for categories, the catalogue and Special Buys (stable between runs)."
          },
          "promotionFlags": {
            "title": "Flag Lower Prices, Super Savers and Limited Time Only",
            "type": "boolean",
            "description": "On: each row says which of ALDI's promotion groups the product is in (promotions, lower_price, super_saver, limited_time_only, on_promotion). ALDI shows these groups as categories, not on the product, so the actor reads the three groups once per store (about 12 calls). No extra charge.",
            "default": true
          },
          "includeDetails": {
            "title": "Add description, ingredients and storage text",
            "type": "boolean",
            "description": "On: one extra call per product for the description, ingredients, allergens, nutritional claims, storage and usage instructions and country of origin. The nutrition and ingredients panel images come on every row without this. No extra charge, but the run takes longer.",
            "default": false
          },
          "includeStoreStock": {
            "title": "Add in store stock for Special Buys",
            "type": "boolean",
            "description": "On, with regions: each Special Buys row gets the stock level ALDI shows for that store (green, yellow, orange or red, and text such as Low/no stock). ALDI publishes store stock for Special Buys only. One extra call per Special Buy.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode: only what changed since the last run",
            "type": "boolean",
            "description": "On: the actor remembers the last price of every product it delivered (per store, under the monitor name) and returns only products whose price or was price changed, with previous_price, price_change and price_change_percent, plus new products. Unchanged products are not delivered and not charged. Run it on a schedule with the same input.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps separate price memories for separate watch lists, for example dairy-wa. Letters, numbers and dashes. Only used in monitor mode.",
            "default": "default"
          },
          "monitorWatch": {
            "title": "What counts as a change",
            "enum": [
              "price",
              "all"
            ],
            "type": "string",
            "description": "Price: price and was price only. All: also a product moving in or out of Lower Prices, Super Savers or Limited Time Only, and a change of its Special Buys label (On Sale Wed 04 Nov to While Stocks Last).",
            "default": "price"
          },
          "includeNewProducts": {
            "title": "Return new products in monitor mode",
            "type": "boolean",
            "description": "On: products the monitor has not seen before are returned with change_type new (on the first run, that is every product). Off: they are saved as the baseline and not returned or charged, so the first run costs nothing per product.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default, which ALDI answered on every call in our tests.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}