Use the Instacart Connect Catalog API to POST catalog items without a UPC by specifying the retailer_reference_id field as the unique identifier in place of a GTIN
Set the is_private_label flag to true on the item object to indicate the item is not available in Instacart's global product database
Upload item images and nutritional metadata in the item content block since Instacart cannot auto-populate these fields from a global UPC database for private-label items
Configure the price and unit_size fields carefully as private-label items may use non-standard unit measures that affect weight-based pricing calculations
Test the item's appearance in the Instacart consumer app by triggering a catalog refresh and searching for the item by retailer_reference_id via the preview endpoint
Set up availability sync cadence for private-label items separately from branded items, as they often have shorter stock cycles and require more frequent availability updates
Known gotchas
Items without a UPC are not eligible for Instacart's automatic image and product data enrichment; all content must be retailer-supplied or items display without images, reducing conversion
Private-label items cannot participate in Instacart's universal substitution suggestion engine; custom substitution rules must be defined explicitly at the item level
The retailer_reference_id must be globally unique within the retailer's catalog; collisions between store-brand SKUs across multiple store banners on the same Instacart retailer account cause item deduplication errors
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp