> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape ALDI Australia groceries

> ALDI Australia (aldi.com.au) products as JSON. `mode=search&query=`, `mode=category&category=` and `mode=specials` return `products`: `id` (SKU), `name`, `brand`, `size`, `url`, `price`, `priceText`, `wasPrice`, `onSale`, `unitPrice` (`price`, `per`, `text`), `bottleDeposit`, `specialBuy` (on-sale date and label), `badges`, `available`, `soldOnline`, `ageRestricted`, `image`, `categories` and `categoryKeys`, plus `totalResults`, `totalPages` and `nextPage`. `mode=specials` lists one Special Buys drop (the current one, or the date / link in `category`; `theme` narrows it) and returns `promotions`, every drop ALDI has announced with its themes. `mode=product&product=` returns `product` with those fields and `description`, `ingredients`, `allergens`, `claims`, `storage`, `usage`, `countryOfOrigin` and `images`. Prices are ALDI's in-store prices in AUD (ALDI Australia does not sell groceries online). Listings collect up to `max_results` from `page` on, billed one unit per page.



## OpenAPI

````yaml /api-reference/openapi.json post /groceries/aldi-au
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /groceries/aldi-au:
    post:
      tags:
        - Plugins
      summary: Scrape ALDI Australia groceries
      description: >-
        ALDI Australia (aldi.com.au) products as JSON. `mode=search&query=`,
        `mode=category&category=` and `mode=specials` return `products`: `id`
        (SKU), `name`, `brand`, `size`, `url`, `price`, `priceText`, `wasPrice`,
        `onSale`, `unitPrice` (`price`, `per`, `text`), `bottleDeposit`,
        `specialBuy` (on-sale date and label), `badges`, `available`,
        `soldOnline`, `ageRestricted`, `image`, `categories` and `categoryKeys`,
        plus `totalResults`, `totalPages` and `nextPage`. `mode=specials` lists
        one Special Buys drop (the current one, or the date / link in
        `category`; `theme` narrows it) and returns `promotions`, every drop
        ALDI has announced with its themes. `mode=product&product=` returns
        `product` with those fields and `description`, `ingredients`,
        `allergens`, `claims`, `storage`, `usage`, `countryOfOrigin` and
        `images`. Prices are ALDI's in-store prices in AUD (ALDI Australia does
        not sell groceries online). Listings collect up to `max_results` from
        `page` on, billed one unit per page.
      operationId: aldi_au_groceries_aldi_au_post
      parameters:
        - name: mode
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              'search' (default): products matching `query`. 'category': a
              category listing. 'specials': a Special Buys drop. 'product': one
              product with ingredients and its images. Defaults to 'product'
              when `product` is given and to 'category' when `category` is.
            title: Mode
          description: >-
            'search' (default): products matching `query`. 'category': a
            category listing. 'specials': a Special Buys drop. 'product': one
            product with ingredients and its images. Defaults to 'product' when
            `product` is given and to 'category' when `category` is.
        - name: query
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              What to search for (mode=search), e.g. 'milk', 'chocolate',
              'nappies'.
            title: Query
          description: >-
            What to search for (mode=search), e.g. 'milk', 'chocolate',
            'nappies'.
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              mode=category: a category link
              (https://www.aldi.com.au/products/dairy-eggs-fridge/milk/k/1111111160)
              or its key ('1111111160'; '1588161425841179' = Lower Prices).
              mode=specials: the Special Buys drop - its date ('2026-10-14') or
              link (https://www.aldi.com.au/special-buys/2026-10-14); blank =
              the current drop.
            title: Category
          description: >-
            mode=category: a category link
            (https://www.aldi.com.au/products/dairy-eggs-fridge/milk/k/1111111160)
            or its key ('1111111160'; '1588161425841179' = Lower Prices).
            mode=specials: the Special Buys drop - its date ('2026-10-14') or
            link (https://www.aldi.com.au/special-buys/2026-10-14); blank = the
            current drop.
        - name: product
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              mode=product: an ALDI SKU ('000000000000398691') or a product link
              (https://www.aldi.com.au/product/farmdale-light-milk-2l-000000000000398691).
            title: Product
          description: >-
            mode=product: an ALDI SKU ('000000000000398691') or a product link
            (https://www.aldi.com.au/product/farmdale-light-milk-2l-000000000000398691).
        - name: theme
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              mode=specials: one theme of the drop, e.g. 'Gardening' (see
              `promotions[].themes`).
            title: Theme
          description: >-
            mode=specials: one theme of the drop, e.g. 'Gardening' (see
            `promotions[].themes`).
        - name: sort
          in: query
          required: false
          schema:
            type: string
            description: >-
              Listing order: relevance, price_asc, price_desc, name_asc,
              name_desc.
            default: relevance
            title: Sort
          description: >-
            Listing order: relevance, price_asc, price_desc, name_asc,
            name_desc.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            description: 1-based listing page to start from (60 products per page).
            default: 1
            title: Page
          description: 1-based listing page to start from (60 products per page).
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            description: >-
              Products to collect across pages, 1-600. Each page fetched is
              billed one unit.
            default: 60
            title: Max Results
          description: >-
            Products to collect across pages, 1-600. Each page fetched is billed
            one unit.
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Proxy country the request is sent from (ISO-2, e.g. 'AU', 'US').
              Leave blank: ALDI answers every country, so the load spreads over
              all exits.
            title: Proxy Country
          description: >-
            Proxy country the request is sent from (ISO-2, e.g. 'AU', 'US').
            Leave blank: ALDI answers every country, so the load spreads over
            all exits.
      responses:
        '200':
          description: >-
            JSON with `products` (listings) or `product`. A search with no
            matches answers 200 with an empty `products` list.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters.
        '404':
          description: ALDI has no such product, or no Special Buys drop on that date.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            No answer from ALDI on any attempt, an unusable answer, or no answer
            in time.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.