Instacart product data: prices, store context and APIs
Instacart grocery data guide to retailer-specific prices, package matching, fulfillment changes and official developer or retailer APIs. Check current terms before use.
An Instacart offer belongs to a market, retailer and moment
The delivery address affects which retailers and items appear. A displayed item price is attached to a retailer's marketplace storefront and its pricing policy; it is not a universal UPC price or necessarily the same as the retailer's in-store price. Record the shopper-visible context with every observation, and treat availability as a temporary signal rather than a reservation.
Scroll to compare →
| Observation field | What to retain | Why it matters |
|---|---|---|
| Market | Address or postal-area context used to show retailers and assortment; record only the minimum location precision needed. | A changed address can change retailer choices, prices and available products. |
| Retailer | Retailer banner or storefront name and any visible location identifier. | Keep offers from different retailer storefronts distinct, even when the product name and brand match. |
| Fulfillment | Delivery or pickup, displayed delivery window, and the selected pickup location when applicable. | Instacart says shoppers can choose a pickup location; for delivery, Instacart selects a store using factors such as item and shopper availability. |
| Offer snapshot | Retailer item identifier if shown, product option, displayed price, currency, promotion and observation time. | Prices and assortment can change. Preserve the observed values and time instead of treating them as fixed product facts. |
| Availability | The exact displayed status, associated retailer/location and observation time. | A listing or availability label does not guarantee that the item will remain available through checkout or fulfillment. |
Match the grocery product first, then attach its retailer item
A product and a retailer's store-specific item are related records, not interchangeable IDs. Instacart's retailer Catalog API documentation makes this distinction explicit: the Product API covers common product attributes shared across a retailer's stores, while the Item API holds store-varying attributes such as price, availability and order lead time. That is a retailer catalog integration model; it does not promise that every field is exposed on a consumer storefront or available as a public catalog feed.
Scroll to compare →
| Record layer | Useful fields when actually exposed | Join and interpretation rule |
|---|---|---|
| Product identity | Brand, display name, UPC/GTIN, product details, size value, unit of measure and pack count. | Use the code together with size and pack configuration; a matching name alone can merge different grocery variants. |
| Retailer item | Retailer item ID, retailer/store context, price, availability and order lead time when the source provides them. | Keep this retailer-specific key separate from UPC/GTIN and from the catalog product identity. |
| Package quantity | Numeric size, unit (for example g, kg, ml or count), and number of sellable units in the pack. | Normalize equivalent units before calculating price per weight or volume; do not treat count, weight and volume as interchangeable. |
| Variant selection | Flavor, formulation, organic/brand option, size, multipack and any selected replacement. | Preserve the selected option. Similar product titles can describe materially different items or quantities. |
| Unknown values | A null or not-observed marker for missing identifiers, size, price or store. | Do not infer a missing UPC, package size or location from another listing or from a product title. |
Separate item price, normalized unit price and order cost
Retailers set marketplace item prices, and retailer pricing policies differ. Instacart notes that some marketplace prices can differ from in-store prices and that some in-store sales may not apply. For a useful record, preserve the item amount and package basis separately from promotions, checkout fees, taxes and tips. The example below is synthetic arithmetic, not an Instacart listing or observed price.
Scroll to compare →
| Synthetic example only | Calculation or field | Keep separate from |
|---|---|---|
| Plain yogurt, four 150 g cups | Pack net weight = 4 × 150 g = 600 g | A single cup and a four-pack are not the same sellable unit. |
| Hypothetical item amount: $4.80 | $4.80 ÷ 0.6 kg = $8.00 per kg | This illustrative normalized value is not a current offer or a cross-retailer comparison. |
| Storefront price policy | Record the retailer's displayed policy and whether an offer or promotion is applied. | Do not assume an Instacart marketplace price equals shelf price or an in-store coupon price. |
| Checkout additions | Delivery fee, service fee, pickup fee if shown, tax, bottle/bag charges and tip as separate fields. | Fees depend on order, retailer, location and fulfillment; do not add them into the item's unit price. |
| Order total | Final receipt amount after weighed quantities, substitutions, refunds and order edits. | A cart estimate or catalog amount is not the fulfilled basket's final charge. |
Treat a cart estimate, weighted item and fulfilled order as different events
Grocery orders can change after an item is added. Instacart Help explains that some produce, deli, meat and seafood purchases are weighed and that the receipt can adjust when final weight differs from the estimate. Shoppers can also approve a replacement or refund. Keep the catalog item, requested item, shopper decision and receipt outcome connected by an order-event identifier instead of overwriting one value with another.
Scroll to compare →
| Order stage | Record separately | What it establishes |
|---|---|---|
| Displayed item | Product and retailer-item identity, package/weight basis, displayed price and store context. | What appeared in that storefront at observation time; not a promise about the final order. |
| Cart estimate | Requested quantity or weight, estimated item amount, fulfillment type and visible fees. | A pre-fulfillment estimate that can change with order edits or final weights. |
| Shopper decision | Original item, proposed replacement or refund choice, approval/decline and event time. | Which alternative was selected; do not silently treat the replacement as the original item. |
| Fulfilled item | Final item or replacement, measured quantity where applicable, final item amount and adjustment. | The item and quantity the order record says were actually fulfilled. |
| Receipt | Final item charges, fees, taxes, tip, refunds and total from an authorized receipt/order record. | Realized order spend; a product listing by itself cannot establish this amount. |
Use the right documented access path and check its terms
Instacart separates consumer shopping services, its Developer Platform for approved app integrations, and Catalog API tools for retailers updating their own catalogs. These are different products and permissions. Public documentation does not establish unrestricted bulk-feed access or permission to collect from consumer storefront pages. Review the current consumer and API terms before designing a workflow.
Scroll to compare →
| Access path | Documented role | Important boundary |
|---|---|---|
| Consumer website and app | Shopping services with retailer storefronts, item offers and order flows. | Consumer Terms prohibit scraping, crawling, data mining, collection or harvesting except through an interface Instacart expressly authorizes. They also prohibit automated access that circumvents or disregards robots.txt; following robots.txt alone is not authorization. |
| Consumer content and AI | Product, price, promotion and other Services content may be visible to shoppers. | The consumer Terms prohibit using Services content or outputs to train, fine-tune, test or improve AI/LLM systems unless Instacart authorizes it. |
| Developer Platform API | App integrations for shopping, recipes, shopping lists, retailer lookup, availability and pricing. | Separate Developer Terms govern permitted use. They restrict platform scraping/data extraction, sharing/resale and displaying priced items from multiple retailers in one app screen; do not presume that a shopping API is a bulk data feed. |
| Catalog API | Retailers create or update their own products and store-specific item information. | Retailer integration docs and item fields do not establish public access to every retailer's catalog or an independent marketplace extraction service. |
| Before using data | Check the current terms, granted API scopes, allowed purpose, display rules and data-retention obligations. | Authorization for one interface or purpose does not automatically grant other collection, redistribution, cross-retailer comparison or AI-model uses. |
Content reviewed 2026-10-07.