Instacart Scraper
Pricing
from $5.00 / 1,000 products
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
- Configure the input – Provide any mix of Instacart URLs, retailer slugs, search queries, and product IDs.
- Run the Actor – It fetches each page, parses the embedded Apollo state and JSON-LD, and emits one record per product.
- 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.
| Field | Type | Description | Example |
|---|---|---|---|
startUrls | array | Any 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" }] |
retailerSlugs | string[] | Retailer slugs to scrape as storefronts. Equivalent to passing /store/{slug} start URLs. | ["costco", "safeway", "target"] |
searchQueries | string[] | Free-text queries run against cross-retailer search. Only the first SSR page is captured (~14 items per query). | ["milk", "bread"] |
productIds | string[] | Instacart product IDs fetched directly as PDPs. | ["7079", "20630136"] |
defaultRetailerSlug | string | Retailer to attach as ?retailerSlug= when fetching productIds. Leave empty for Instacart's default market. | "safeway" |
seedFromHome | boolean | If true, fetch https://www.instacart.com/ and enqueue every retailer storefront found on it. | false |
postalCode | string | US ZIP code recorded against each item. Instacart defaults to 94105 (San Francisco). | "10001" |
maxItems | integer | Stop pushing to the dataset after this many products. 0 = unlimited. | 50 |
proxyConfiguration | object | Apify 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! 🚀