> ## 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 Coles (Australia) groceries

> Coles Australia (coles.com.au) products as JSON. `mode=search&query=`, `mode=category&category=` and `mode=specials` return `products`: `id`, `name`, `brand`, `size`, `url`, `price`, `wasPrice`, `onSale`, `savings`, `promotion` (`type` half_price / special / multibuy / offer, `text`, multibuy `quantity` and `price`), `unitPrice` (`price`, `per`, `text`), `inStock`, `available`, `availableQuantity`, `purchaseLimit`, `promotionalLimit`, `onlineOnly`, `sponsored`, `image`, `categories` and `minimumShelfLife`, plus `totalResults`, `totalPages` and `nextPage`. `special` limits a search or the specials listing to half-price, multibuy or online-only deals. `mode=product&product=` returns `product` with those fields and `barcode`, `description`, `ingredients`, `allergens`, `dietary`, `storage`, `nutrition` (per serving and per 100 g / mL), `servingSize`, `servingsPerPack`, `countryOfOrigin`, `images` and `variants`. Prices are Coles' online prices in AUD. Listings collect up to `max_results` from `page` on, billed one unit per page.



## OpenAPI

````yaml /api-reference/openapi.json post /groceries/coles
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/coles:
    post:
      tags:
        - Plugins
      summary: Scrape Coles (Australia) groceries
      description: >-
        Coles Australia (coles.com.au) products as JSON. `mode=search&query=`,
        `mode=category&category=` and `mode=specials` return `products`: `id`,
        `name`, `brand`, `size`, `url`, `price`, `wasPrice`, `onSale`,
        `savings`, `promotion` (`type` half_price / special / multibuy / offer,
        `text`, multibuy `quantity` and `price`), `unitPrice` (`price`, `per`,
        `text`), `inStock`, `available`, `availableQuantity`, `purchaseLimit`,
        `promotionalLimit`, `onlineOnly`, `sponsored`, `image`, `categories` and
        `minimumShelfLife`, plus `totalResults`, `totalPages` and `nextPage`.
        `special` limits a search or the specials listing to half-price,
        multibuy or online-only deals. `mode=product&product=` returns `product`
        with those fields and `barcode`, `description`, `ingredients`,
        `allergens`, `dietary`, `storage`, `nutrition` (per serving and per 100
        g / mL), `servingSize`, `servingsPerPack`, `countryOfOrigin`, `images`
        and `variants`. Prices are Coles' online prices in AUD. Listings collect
        up to `max_results` from `page` on, billed one unit per page.
      operationId: coles_groceries_coles_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': the products on special. 'product':
              one product with nutrition and ingredients. 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': the products on special. 'product':
            one product with nutrition and ingredients. 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', 'tim tam', 'chicken
              breast'.
            title: Query
          description: >-
            What to search for (mode=search), e.g. 'milk', 'tim tam', 'chicken
            breast'.
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              mode=category: a browse link
              (https://www.coles.com.au/browse/dairy-eggs-fridge/milk) or its
              path ('dairy-eggs-fridge/milk').
            title: Category
          description: >-
            mode=category: a browse link
            (https://www.coles.com.au/browse/dairy-eggs-fridge/milk) or its path
            ('dairy-eggs-fridge/milk').
        - name: product
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              mode=product: a Coles product id ('8150288') or a product link
              (https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288).
            title: Product
          description: >-
            mode=product: a Coles product id ('8150288') or a product link
            (https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288).
        - name: special
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Products on special only: all, half-price, multibuy, online-only.
              mode=specials defaults to 'all'; with mode=search it filters the
              results.
            title: Special
          description: >-
            Products on special only: all, half-price, multibuy, online-only.
            mode=specials defaults to 'all'; with mode=search it filters the
            results.
        - name: sort
          in: query
          required: false
          schema:
            type: string
            description: 'Listing order: relevance, price_asc, price_desc, unit_price_asc.'
            default: relevance
            title: Sort
          description: 'Listing order: relevance, price_asc, price_desc, unit_price_asc.'
        - name: page
          in: query
          required: false
          schema:
            type: integer
            description: 1-based listing page to start from (48 products per page).
            default: 1
            title: Page
          description: 1-based listing page to start from (48 products per page).
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            description: >-
              Products to collect across pages, 1-480. Each page fetched is
              billed one unit.
            default: 48
            title: Max Results
          description: >-
            Products to collect across pages, 1-480. 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: AU, NZ, US or CA (Coles
              serves only these). Leave blank to spread over all of them.
            title: Proxy Country
          description: >-
            Proxy country the request is sent from: AU, NZ, US or CA (Coles
            serves only these). Leave blank to spread over all of them.
      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: Coles has no such product or category.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Blocked by Coles on every 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.