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

# Instacart Integration for AI Agents & Workflows

> Create shareable recipe pages, shopping lists, and find nearby retailers on Instacart. No authentication required.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/instacart.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=c2ceb2d84f00260d8c491b5b378cc0ec" alt="Instacart logo" width="72" height="72" data-path="logos/instacart.svg" />

## Overview

Add **Instacart** to any ModuleX agent or workflow. Public Instacart actions: build shareable recipe + shopping-list pages and look up retailers by postal code. No API key required.

<Info>
  **Categories**: E-Commerce · Business Services · Grocery · Retail · Shopping · **Auth**: ModuleX Managed · **Actions**: 3
</Info>

## Authentication

### ModuleX Managed

This integration uses Instacart's public APIs. No API key is required for requests.

## Available Actions

<AccordionGroup>
  <Accordion title="create_recipe_page — Create a Recipe Page on Instacart and return a shareable URL. Users can view the recipe and add all ingredients to their cart.">
    ### Parameters

    <ResponseField name="title" type="string" required>
      The title of the recipe
    </ResponseField>

    <ResponseField name="ingredients" type="array" required>
      List of ingredients for the recipe
    </ResponseField>

    <ResponseField name="instructions" type="string">
      Recipe instructions/directions
    </ResponseField>

    <ResponseField name="servings" type="integer">
      Number of servings
    </ResponseField>

    <ResponseField name="image_url" type="string">
      URL to recipe image
    </ResponseField>

    <ResponseField name="source_url" type="string">
      Original recipe source URL
    </ResponseField>

    <ResponseField name="partner_id" type="string">
      Partner ID for affiliate tracking
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "shareable_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Shareable Url"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "ingredient_count": {
          "default": 0,
          "title": "Ingredient Count",
          "type": "integer"
        },
        "ingredients": {
          "items": {
            "type": "string"
          },
          "title": "Ingredients",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateRecipePageOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_shopping_list_page — Create a Shopping List Page on Instacart and return a shareable URL. Users can view the list and add all items to their cart.">
    ### Parameters

    <ResponseField name="title" type="string" required>
      The title of the shopping list
    </ResponseField>

    <ResponseField name="items" type="array" required>
      List of items to add to the shopping list
    </ResponseField>

    <ResponseField name="partner_id" type="string">
      Partner ID for affiliate tracking
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "shareable_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Shareable Url"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "item_count": {
          "default": 0,
          "title": "Item Count",
          "type": "integer"
        },
        "items": {
          "items": {
            "type": "string"
          },
          "title": "Items",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateShoppingListPageOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_nearby_retailers — Get nearby retailers available on Instacart by postal code. Returns stores that deliver to the specified area.">
    ### Parameters

    <ResponseField name="postal_code" type="string" required>
      Postal/ZIP code to search near
    </ResponseField>

    <ResponseField name="country_code" type="string">
      Country code (e.g., 'US', 'CA') (Default: `US`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Postal Code"
        },
        "country_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country Code"
        },
        "retailer_count": {
          "default": 0,
          "title": "Retailer Count",
          "type": "integer"
        },
        "retailers": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Retailers",
          "type": "array"
        },
        "store_finder_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Store Finder Url"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetNearbyRetailersOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* Recipe/list pages are pure URL builders (no API hit).
* Retailer lookup goes to Instacart's public `/v3/retailers` endpoint;
  on timeout or non-200 the tool returns a store-finder URL as a
  usable fallback (still `success=True`).
* Country supported: `US`, `CA`.

## Related integrations

<CardGroup cols={3}>
  <Card title="Amazon Selling Partner" href="/integrations/tools/amazon-selling-partner" />

  <Card title="Coinbase" href="/integrations/tools/coinbase" />

  <Card title="Etsy" href="/integrations/tools/etsy" />
</CardGroup>

## Links

* [Instacart](https://www.instacart.com)
