Instacart Scraper β€” Grocery Prices, Deals & Stock (US + Canada) avatar

Instacart Scraper β€” Grocery Prices, Deals & Stock (US + Canada)

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Instacart Scraper β€” Grocery Prices, Deals & Stock (US + Canada)

Instacart Scraper β€” Grocery Prices, Deals & Stock (US + Canada)

Store-level Instacart prices for any US ZIP or Canadian postal code: Costco, Walmart, Safeway, Kroger, Loblaws, T&T and every other store on Instacart. Search terms or whole-department crawls, sale and regular price, unit price, promotions, stock level, ratings and store hours. No login.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

πŸ›’ Instacart Grocery Scraper: Prices, Deals & Stock (US + Canada)

Store-level grocery prices from Instacart for any US ZIP code or Canadian postal code. Costco, Walmart, Safeway, Kroger, Aldi, Publix, Whole Foods, CVS, Loblaws, No Frills, Real Canadian Superstore, T&T, Sobeys, Metro, Shoppers Drug Mart, LCBO: if a store is on Instacart where you are, this actor can price it.

Enter a location, pick stores, and choose search terms, whole departments, or just the list of stores. You get clean rows with the current price, regular price, discount, promotion text, unit price, stock level, ratings, images and product links.

No login, no browser, no cookies to paste. Residential proxies (the default) work best; if your Apify plan doesn't include them, the run uses datacenter proxies instead, which is slower, and the status message tells you what to change.


✨ What makes it different

πŸ‡¨πŸ‡¦ πŸ‡ΊπŸ‡Έ Canada and the US in one actorinstacart.ca and instacart.com. Postal codes and ZIP codes are routed automatically, so one run can compare Toronto, Vancouver and Chicago.
πŸ“ Prices for your exact locationInstacart prices differ by store and by area. Every row carries the postal / ZIP code and the store location it was priced at.
πŸ—‚οΈ Whole-store crawlsCatalog mode walks every department and aisle of a store, not just the first page of a search. Thousands of products per store.
🏷️ Deal detailSale price and regular price, % off, "$6 off; limit 5", "Spend $30, save $6", member prices where shown.
πŸͺ Store directoryEvery store Instacart serves at a location, with store type, delivery / pickup and 7-day opening hours.
πŸ“Š Search rankSearch mode records each product's position and flags sponsored placements.

🎯 Use cases

  • Price monitoring: track the same basket at Costco, Walmart and Kroger every week.
  • Competitive pricing for CPG brands: see your product and competitors' shelf prices and promotions store by store.
  • Deal hunting and flyers: pull only on-sale items with their discount and promo text.
  • Retail and market research: assortment by department, private-label share (isStoreBrand), ratings.
  • Canadian grocery price comparison: Loblaws banners, Costco, Walmart, T&T, Sobeys and Metro side by side.
  • Store coverage maps: which retailers deliver where, and their hours.
  • Search position tracking: where your products rank for a keyword, and who is paying for placement.

βš™οΈ Input

FieldWhat it does
LocationsCanadian postal codes (M5V 3L9, or just M5V), US ZIP codes (60614), latitude,longitude, or City, ST (Seattle, WA). Postal / ZIP codes are the most precise.
What to scrapesearch (products for your search terms), catalog (departments / aisles / whole store) or stores (the store list).
Search termse.g. milk, paper towels, kirkland coffee.
StoresNames, Instacart slugs or store links, e.g. Costco, Walmart, Safeway, Loblaws, T&T. Empty = every store at the location.
Departments or aislesCatalog mode: e.g. Dairy & Eggs, Snacks, cheese. Empty = whole store.
Max resultsCap for the whole run.
Max products per search term per storeDefault 200. Instacart returns up to about 300 matches per term. With a filter on, the actor keeps reading down the results until this many matching products are saved.
Max products per storeCatalog mode cap per store.
Max stores per locationWhen no stores are named.
Delivery or pickup pricesSome stores price these differently.
FiltersOnly on sale, only in stock, skip sponsored.
Include opening hoursStores mode: next 7 days of hours.
ProxyResidential is recommended and is matched to each location's country automatically.

Example: compare milk at three chains in Toronto

{
"locations": ["M5V 3L9"],
"mode": "search",
"searchTerms": ["milk", "eggs"],
"retailers": ["Loblaws", "Costco", "Walmart"],
"maxItemsPerSearch": 100
}

Example: every dairy product at a Chicago Mariano's

{
"locations": ["60614"],
"mode": "catalog",
"retailers": ["Mariano's"],
"categories": ["Dairy & Eggs"]
}

Example: which stores deliver in Vancouver, with hours

{
"locations": ["V6B 1A1"],
"mode": "stores",
"includeStoreHours": true
}

πŸ“€ Output

One row per product per store. A sale item at Costco (Chicago):

{
"dataType": "product",
"name": "NESCAFE Taster's Choice Instant Coffee, House Blend, Light-Medium Roast, 14 oz",
"brand": "nescafΓ©",
"size": "each",
"price": 19.89,
"priceString": "$19.89",
"regularPrice": 25.89,
"isOnSale": true,
"discountPercent": 23,
"unitPrice": null,
"promotion": "$6 off; limit 5",
"promotions": ["$6 off; limit 5"],
"inStock": true,
"stockLevel": "highlyInStock",
"stockLabel": "Many in stock",
"isStoreBrand": false,
"rating": 4.5,
"ratingCount": 413,
"imageUrl": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_efdf313a-2c3e-4c03-9d79-f28390c5f4fe.jpg",
"productUrl": "https://www.instacart.com/store/products/19032111-nescaf-house-blend-instant-coffee-14-0-oz",
"productId": "19032111",
"store": "Costco",
"retailerSlug": "costco",
"serviceType": "delivery",
"searchTerm": "coffee",
"position": 16,
"isSponsored": false,
"location": "60614",
"postalCode": "60614",
"country": "US",
"currency": "USD",
"scrapedAt": "2026-09-24T05:00:21.583Z"
}

Also on product rows: unitPrice (e.g. $1.86/100g), pricingUnit, isEstimatedPrice and soldBy for items sold by weight, loyaltyPrice, category, dietary badges (Organic, Gluten-free…), nutrition highlights, tags, maxPerOrder, department and aisle (catalog mode), and store / location ids.

Store rows (dataType: "store") carry the store name, slug, type (e.g. Club/Warehouse Store), what it sells, delivery / pickup, logo, storefront link and, on request, opening hours.

The dataset has three ready-made views: Products, Deals and Stores. Export as JSON, CSV, Excel or via the API.


❓ FAQ

How many products can I get? Search mode returns up to about 300 matches per term per store. For more, use Catalog mode: it walks every aisle, and each aisle can list up to 1,000 products, so large supermarkets yield many thousands of products.

Are the prices the in-store prices? They are the prices Instacart shows for that store and location. Many retailers use the same prices online and in store; some add a markup on Instacart. Pickup prices can differ from delivery prices, so pick the one you need.

Why do I get different prices for different postal codes? Chains price by region and by store. That is exactly what the location input is for: every row is tied to the postal / ZIP code and store location it came from.

My store name did not match. Run the same location in stores mode to see every store name and slug available there, then use one of those.

Which proxy should I use? Residential (the default) gives the most reliable results. Datacenter proxies also work: addresses that get refused are skipped automatically and the run moves to residential if needed.

What if my Apify plan doesn't include residential proxies? The run still works on datacenter proxies. Instacart refuses many datacenter addresses, so the scraper skips them and, when it gets many refusals in a row, slows down and keeps trying fresh addresses for a few minutes instead of giving up. Expect slower runs. If nothing gets through, the run ends with 0 results, you are not charged, and the status message says what to change (enable residential proxies on your Apify account, or use your own proxies).

Can I schedule it? Yes. Save your input as a task and schedule it daily or weekly for price tracking; connect the dataset to Google Sheets, a webhook or your database.

Does it need an Instacart account? No.

Is it legal to scrape Instacart? This Actor only collects publicly available data: product listings, prices, promotions, stock levels and store details that anyone can see on Instacart's website without an account. Collecting publicly available data is generally legal, but you're responsible for how you use it. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as Instacart's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?

Does it access any private data? No. Everything comes from pages Instacart shows to any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas.