Install
openclaw skills install instacartBuild Instacart recipe pages, shopping lists, and retailer lookups with MCP, REST, secure auth, and launch-ready integration rules.
openclaw skills install instacartOn first use, read setup.md for integration guidelines.
User needs Instacart-specific execution rather than generic grocery advice. Activate for shoppable recipe pages, shopping list pages, nearby retailer lookup, MCP-based agent handoff, launch-readiness checks, or API troubleshooting around Instacart Developer Platform.
Memory lives in ~/instacart/. See memory-template.md for setup.
~/instacart/
|-- memory.md # Operating context, activation rules, approved surfaces
|-- url-cache.md # Payload hashes and generated products_link URLs
|-- retailer-notes.md # Preferred retailers, geo defaults, and known-good keys
|-- launch-notes.md # Production approval state and messaging constraints
`-- incidents.md # Failed requests, root causes, and fixes
Use the smallest relevant file for the current task.
| Topic | File |
|---|---|
| Setup and activation behavior | setup.md |
| Memory schema and status values | memory-template.md |
| Auth, environments, and key model | auth-playbook.md |
| Core endpoint coverage | endpoint-map.md |
| Request bodies, payload shaping, and curl examples | request-patterns.md |
| MCP server setup and tool limits | mcp-integration.md |
| Connect and fulfillment boundaries | connect-boundaries.md |
| Errors, retries, and low-signal matches | troubleshooting.md |
INSTACART_API_KEYjqnpxNever ask the user to paste API keys into chat. Use environment variables or their existing secret manager.
Local notes in ~/instacart/ should store:
country_code and common postal codesDecide explicitly between:
create-recipe and create-shopping-listDo not mix these surfaces casually. Wrong routing creates auth failures, wrong expectations, and rework.
Before any request, confirm:
Authorization: Bearer <API key> for Developer Platform RESTProduction keys should only be used after the integration has passed Instacart review and is active.
Instacart matching is heuristic. For each ingredient or line item:
name generic and searchablefilters.brand_filtersfilters.health_filtersproduct_ids or upcs, never bothDo not hide size, brand, dietary intent, and geo assumptions inside one noisy string.
For nearby retailer lookup, use postal_code plus country_code.
US and CAretailer_key, not a specific store idRun retailer lookup before presenting a user-facing link when store relevance matters.
Recipe and shopping-list creation return a fresh products_link_url, and the docs recommend caching until content changes.
Do not spam page-creation endpoints for equivalent content.
Ordering and correctness matter:
eachPoor units and noisy names are a common cause of missing quantity or weak matches.
Before moving to production:
Never claim Instacart endorsement, invent brand usage rules, or ship production messaging without checking current guidance.
product_ids and upcs on the same item -> 400 validation errorname instead of brand_filters -> weaker fallback matchingretailer_key as a specific store record -> bad downstream assumptions| Endpoint | Data Sent | Purpose |
|---|---|---|
| https://connect.dev.instacart.tools | API key header, retailer lookup params, page-creation payloads | Developer Platform development REST traffic |
| https://connect.instacart.com | API key header, retailer lookup params, page-creation payloads | Developer Platform production REST traffic |
| https://mcp.dev.instacart.tools/mcp | API key header and tool payloads | Development MCP server for agent testing |
| https://mcp.instacart.com/mcp | API key header and tool payloads | Production MCP server |
| https://dashboard.instacart.com | Account and API key management traffic | Create keys and review approval state |
| https://enterprise-servicedesk.instacart.com | Support case metadata | Escalate rejected or broken integrations |
No other data should be sent externally unless the user explicitly adopts Instacart Connect or additional partner programs.
Data that leaves your machine:
Data that stays local:
~/instacart/This skill does NOT:
By using this skill, data is sent to Instacart services and any explicitly configured Connect workflows. Only install and run it if you trust Instacart with the grocery and integration data you send.
Install with clawhub install <slug> if user confirms:
api - Build reliable REST request and error-handling patternsauth - Structure credential hygiene and environment separationgrocery - Handle grocery-domain planning and item taxonomywebhook - Model callback verification and event-driven workflowsworkflow - Turn repeated integration steps into clear operating runbooksclawhub star instacartclawhub sync