Instacart Scraper avatar

Instacart Scraper

Pricing

from $5.00 / 1,000 products

Go to Apify Store
Instacart Scraper

Instacart Scraper

The Instacart Scraper extracts grocery product data across 70+ US retailers — Costco, Safeway, Walmart, Target and more — capturing names, brands, sizes, prices, availability, images and dietary tags from product pages and retailer storefronts. Ideal for price monitoring and competitive analysis.

Pricing

from $5.00 / 1,000 products

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

🛒 Instacart Scraper

Extract product data from Instacart across 70+ US grocery retailers — Costco, Safeway, Walmart, Target, Sprouts, Kroger, Publix, Wegmans, Whole Foods and more. The Instacart Scraper pulls structured product details from individual product pages, retailer storefronts, and cross-retailer search results in one run.

✨ Features

  • 🏷️ Rich Product Data: Names, brands, sizes, images, prices, sale prices, availability, dietary attributes, and category.
  • 🏬 Three Source Types: Product detail pages (PDPs), retailer storefronts (~32 featured items per store), and cross-retailer search (~14 items per query, mixed retailers).
  • 🇺🇸 Multi-Retailer Coverage: A single run can sweep Costco, Safeway, Walmart, Target, Sprouts and any other Instacart partner store.
  • Fast & Lightweight: Plain HTTP via CheerioCrawler — no browser overhead. Each request returns a fully populated product feed item.
  • 📍 ZIP-Aware: Records the postal code context against every item (Instacart prices vary by ZIP).

🛠️ How It Works

  1. Configure the input – Provide any mix of Instacart URLs, retailer slugs, search queries, and product IDs.
  2. Run the Actor – It fetches each page, parses the embedded Apollo state and JSON-LD, and emits one record per product.
  3. Download the dataset – Get clean JSON / CSV / Excel output ready for analysis, monitoring, or further enrichment.

📥 Input

All input fields are optional. Combine them freely — for example, scrape three retailer storefronts plus a few direct PDPs in one run.

FieldTypeDescriptionExample
startUrlsarrayAny Instacart URLs: PDPs (/products/...), retailer storefronts (/store/{retailer}), or cross-retailer search (/store/s?k=...). Unsupported URL families are skipped.[{ "url": "https://www.instacart.com/store/costco" }]
retailerSlugsstring[]Retailer slugs to scrape as storefronts. Equivalent to passing /store/{slug} start URLs.["costco", "safeway", "target"]
searchQueriesstring[]Free-text queries run against cross-retailer search. Only the first SSR page is captured (~14 items per query).["milk", "bread"]
productIdsstring[]Instacart product IDs fetched directly as PDPs.["7079", "20630136"]
defaultRetailerSlugstringRetailer to attach as ?retailerSlug= when fetching productIds. Leave empty for Instacart's default market."safeway"
seedFromHomebooleanIf true, fetch https://www.instacart.com/ and enqueue every retailer storefront found on it.false
postalCodestringUS ZIP code recorded against each item. Instacart defaults to 94105 (San Francisco)."10001"
maxItemsintegerStop pushing to the dataset after this many products. 0 = unlimited.50
proxyConfigurationobjectApify proxy settings. Instacart works from any IP for these endpoints; a US proxy gives more accurate location defaults.{ "useApifyProxy": false }

📊 Sample Output Data

Every record follows the same shape regardless of source (PDP, storefront, or search). The source field tells you where each item came from.

[
{
"id": "items_88059-20630136",
"productId": "20630136",
"retailerSlug": "walmart",
"retailerId": null,
"shopId": null,
"url": "https://www.instacart.com/products/20630136-great-value-2-reduced-fat-milk-1-gal?retailerSlug=walmart",
"name": "Great Value 2% Reduced Fat Milk",
"brand": "Great Value",
"size": "128 oz",
"image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_5c855497.jpeg",
"category": "Plain Milk",
"description": null,
"price": 3.48,
"priceString": "$3.48",
"fullPriceString": null,
"priceCurrency": "USD",
"availability": "InStock",
"dietaryAttributes": [],
"source": "pdp",
"postalCode": "94105",
"scrapedAt": "2026-05-23T06:26:03.293Z"
},
{
"id": "items_74-20110703",
"productId": "20110703",
"retailerSlug": "costco",
"url": "https://www.instacart.com/products/20110703-kirkland-signature-mini-chocolate-chip-cookies-60-ct?retailerSlug=costco",
"name": "Kirkland Signature Mini Chocolate Chip Cookies, 60-count",
"brand": "kirkland signature",
"size": "each",
"image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_63fb7a0f.jpeg",
"price": 9.94,
"priceString": "$9.94",
"fullPriceString": "$11.94",
"priceCurrency": "USD",
"availability": "inStock",
"dietaryAttributes": [],
"source": "storefront",
"postalCode": "94105",
"scrapedAt": "2026-05-23T06:26:04.891Z"
}
]

Build price feeds, run availability checks, and compare grocery prices across US retailers with the Instacart Scraper today! 🚀