> ## 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 Instacart product search

> Searches one retailer's Instacart catalogue (Costco, Aldi, Publix, Safeway, Kroger, CVS, Sprouts, ... named by `retailer`) for `query` and returns `products` in Instacart's order, priced at the store Instacart assigns to `zip`: `id` (item id), `productId`, `name`, `brand`, `size`, `packageSize`, `price`, `priceText`, `wasPrice`, `onSale`, `unitPrice` (`price`, `per`, `text`), `soldBy` (each / weight), `estimatedWeight`, `promotions` (`text`, `type`), `available`, `stockLevel`, `rating`, `reviewCount`, `category`, `storeBrand`, `dietary`, `aisle`, `image` and `url`, plus `store` (the shop, its location id and the ZIP code used) and `totalResults`. Prices are Instacart's prices in USD, which can differ from the retailer's in-store prices. Up to `max_results` products, billed one unit per 30.



## OpenAPI

````yaml /api-reference/openapi.json post /groceries/instacart-search
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/instacart-search:
    post:
      tags:
        - Plugins
      summary: Scrape Instacart product search
      description: >-
        Searches one retailer's Instacart catalogue (Costco, Aldi, Publix,
        Safeway, Kroger, CVS, Sprouts, ... named by `retailer`) for `query` and
        returns `products` in Instacart's order, priced at the store Instacart
        assigns to `zip`: `id` (item id), `productId`, `name`, `brand`, `size`,
        `packageSize`, `price`, `priceText`, `wasPrice`, `onSale`, `unitPrice`
        (`price`, `per`, `text`), `soldBy` (each / weight), `estimatedWeight`,
        `promotions` (`text`, `type`), `available`, `stockLevel`, `rating`,
        `reviewCount`, `category`, `storeBrand`, `dietary`, `aisle`, `image` and
        `url`, plus `store` (the shop, its location id and the ZIP code used)
        and `totalResults`. Prices are Instacart's prices in USD, which can
        differ from the retailer's in-store prices. Up to `max_results`
        products, billed one unit per 30.
      operationId: instacart_search_groceries_instacart_search_post
      parameters:
        - name: retailer
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              The retailer's Instacart slug: the part after /store/ in an
              Instacart link, e.g. 'costco', 'aldi', 'publix', 'safeway',
              'kroger', 'cvs', 'sprouts', 'wegmans', 'sams-club'. An Instacart
              store link is accepted too.
            title: Retailer
          description: >-
            The retailer's Instacart slug: the part after /store/ in an
            Instacart link, e.g. 'costco', 'aldi', 'publix', 'safeway',
            'kroger', 'cvs', 'sprouts', 'wegmans', 'sams-club'. An Instacart
            store link is accepted too.
        - name: query
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: What to search for, e.g. 'milk', 'greek yogurt', 'paper towels'.
            title: Query
          description: What to search for, e.g. 'milk', 'greek yogurt', 'paper towels'.
        - name: zip
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              5-digit US ZIP code of the delivery area. Instacart prices and
              stock belong to the store serving it. Default 94105 (San
              Francisco).
            title: Zip
          description: >-
            5-digit US ZIP code of the delivery area. Instacart prices and stock
            belong to the store serving it. Default 94105 (San Francisco).
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            description: >-
              Products to return, 1-300, in Instacart's order. Billed one unit
              per 30.
            default: 30
            title: Max Results
          description: >-
            Products to return, 1-300, in Instacart's order. Billed one unit per
            30.
      responses:
        '200':
          description: >-
            JSON with `products`. A search without matches answers 200 with an
            empty `products` list.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters, or a ZIP code Instacart does not know.
        '404':
          description: >-
            No such retailer on Instacart, or none of its stores serves the ZIP
            code.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Refused by Instacart 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.