{
  "openapi": "3.0.1",
  "info": {
    "title": "ALDI Australia Scraper - Prices, Special Buys & Full Catalogue",
    "description": "Get ALDI Australia (aldi.com.au) grocery prices. Input: search keywords, categories, Special Buys, product URLs or \"all\" for the whole range (about 3,200 products). One result = one product: name, brand, size, price, unit price, category, Special Buy date, images, URL. Unofficial. $0.30 per 1,000.",
    "version": "1.0",
    "x-build-id": "KxNJHaMaSMeionS0y"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rel8ble~aldi-au-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rel8ble-aldi-au-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/rel8ble~aldi-au-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rel8ble-aldi-au-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/rel8ble~aldi-au-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rel8ble-aldi-au-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": "Search keywords",
            "type": "array",
            "description": "Optional. Keywords as typed into the search box on aldi.com.au, one per line: \"milk\", \"dark chocolate\", \"nappies\". Use this when you want products matching a word. Each keyword returns up to maxItems products (a typical keyword has 20-200). An 18-digit SKU also works as a keyword. Give at least one of searchQueries, categories, specialBuys, products or startUrls.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories (or \"all\")",
            "type": "array",
            "description": "Optional. ALDI categories, one per line, in any of these forms: a name (\"Dairy, Eggs & Fridge\", \"Pantry\", \"Liquor\"), a sub-category path (\"Pantry > Confectionery\" or slug \"pantry/confectionery\"), a category key (\"960000000\") or a category URL (\"https://www.aldi.com.au/products/bakery/k/920000000\"). Use \"all\" for the whole ALDI catalogue in one go: about 3,200 products, about 20 seconds, about $0.96 with maxItems 0. Top-level categories: Fruits & Vegetables, Meat & Seafood, Deli & Chilled Meats, Dairy, Eggs & Fridge, Pantry, Bakery, Freezer, Drinks, Health & Beauty, Baby, Cleaning & Household, Pets, Liquor, Snacks & Confectionery, Lower Prices, Super Savers, Limited Time Only. One top-level category has 20-1,000 products.",
            "items": {
              "type": "string"
            }
          },
          "specialBuys": {
            "title": "Special Buys",
            "enum": [
              "none",
              "all"
            ],
            "type": "string",
            "description": "Optional. \"none\" (default) = skip. \"all\" = every Special Buys date ALDI currently lists (this week and the next few Wednesday / Saturday sale dates), usually 200-400 products in total, each with its onSaleDate. Use this to track the weekly Special Buys catalogue. For one date or one theme only, put its page URL in startUrls instead.",
            "default": "none"
          },
          "products": {
            "title": "Product SKUs or URLs",
            "type": "array",
            "description": "Optional. Specific products to look up, one per line: an ALDI SKU (\"000000000538441002\", leading zeros optional) or a product page URL (\"https://www.aldi.com.au/product/choceur-milk-mouse-milk-chocolate-168g-000000000538441002\"). Use this to re-check the price of known products. These results always include the detail fields (description, ingredients, allergen statements). A product that does not exist is listed in the run summary and is not charged.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "ALDI URLs",
            "type": "array",
            "description": "Optional. Any aldi.com.au page URLs, one per line: a search page (\"https://www.aldi.com.au/results?q=milk\"), a category page (\"https://www.aldi.com.au/products/pantry/k/970000000\"), a Special Buys page (\"https://www.aldi.com.au/special-buys/2026-10-14\" or with \"?theme=Gardening\") or a product page. Use this when you already have links copied from the website. Other pages (recipes, store locator) are skipped with a warning.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max products per source",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Maximum products saved per keyword, category, Special Buys date or URL, integer >= 0. Default 100; 0 = everything ALDI lists. Two keywords with 100 = up to 200 results. You pay per product saved ($0.0003 each), so 100 products = $0.03. Use 10-20 for a quick answer.",
            "default": 100
          },
          "store": {
            "title": "Store ID or postcode",
            "type": "string",
            "description": "Optional. ALDI prices and range differ a little between stores and states (fresh produce and meat most of all). Give an ALDI store ID (\"G452\", \"G330\") or a 4-digit postcode (\"3000\" = nearest store to Melbourne CBD, \"6000\" = Perth) to get that store's prices. Empty = ALDI's default store G452 (Glenmore Park, NSW), the same prices the website shows before you pick a store. ALDI has no stores in Tasmania or the Northern Territory. Every result says which store it came from (storeId, storeSuburb, storeState)."
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "name_asc",
              "name_desc"
            ],
            "type": "string",
            "description": "Optional. Order ALDI returns products in: \"relevance\" (default), \"price_asc\" (cheapest first), \"price_desc\", \"name_asc\" or \"name_desc\". Combine \"price_asc\" with a small maxItems to get the cheapest products for a keyword.",
            "default": "relevance"
          },
          "includeDetails": {
            "title": "Include description, ingredients & allergen statements (slower)",
            "type": "boolean",
            "description": "Optional boolean. false (default) = prices and listing data only, about 60 products per request. true = also open each product to add description, ingredients, allergen statements (\"Contains: Eggs\"), storage and usage instructions and the variant group (flavour or type, with the SKUs of the other variants) where ALDI publishes them. One extra request per product, so runs take longer; the price per result is the same.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Optional, advanced. Number of parallel requests, integer 1-20. Default 10. Leave unset.",
            "default": 10
          },
          "maxRequestRetries": {
            "title": "Max retries per request",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Optional, advanced. Retries per failed or blocked request, integer 0-20; each retry uses a new session and IP. Default 8. Leave unset.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional, advanced. Apify Proxy settings object. Default {\"useApifyProxy\": true}. Leave unset.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}