Endpoint Playground
Returns a single product's detail at a specific Instacart store: name, size, brand, image, current pricing (with any sale/offer badge), availability, stock level, dietary labels, and nutrition facts. Public data sourced from Instacart's own storefront pages.
14 Oct 2026: 6 nutrition; 2 fields had a value in every checked item and 1 varied between items.
Sample value profiles: unit: g (4), mg (1); value: 4 to 150, median 10; label: “Protein” and 5 other values.
curl 'https://api.crawlora.net/api/v1/instacart/item?shop_id=9501&store_slug=safeway&retailer_location_id=53&product_id=17830663&postal_code=94105' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| shop_id | string | Yes | 9501 | Store's opaque shop id, from GET /instacart/stores |
| store_slug | string | Yes | safeway | Store's retailer slug, from GET /instacart/stores |
| retailer_location_id | string | Yes | 53 | Store's opaque retailer location id, from GET /instacart/stores |
| product_id | string | Yes | 17830663 | Instacart's opaque product id |
| postal_code | string | Yes | 94105 | Postal code to price/localize the lookup for |
{
"code": 200,
"msg": "OK",
"data": {
"id": "items_53-17830663",
"product_id": "17830663",
"name": "Lucerne Blended Plain Yogurt",
"size": "32 oz",
"brand_name": "lucerne",
"image_url": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_4978279a-5ed6-4a86-9dc2-67969ae09186.png",
"price": {
"current_price": 2.99,
"regular_price": 3.99,
"on_sale": true,
"offer_label": "25% off",
"pricing_unit": "32 oz"
},
"available": true,
"stock_level": "inStock",
"dietary_labels": [
"low_carb",
"low_sugar"
],
"nutrition": [
{
"label": "Protein",
"value": "7",
"unit": "g"
},
{
"label": "Fat",
"value": "6",
"unit": "g"
},
{
"label": "Sugar",
"value": "10",
"unit": "g"
},
{
"label": "Calories",
"value": "150"
}
],
"variant_options_summary": "2 total options"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.