Instacart Grocery Scraper avatar

Instacart Grocery Scraper

Pricing

from $0.001 / product result

Go to Apify Store
Instacart Grocery Scraper

Instacart Grocery Scraper

Scrape grocery products, prices, and availability from any Instacart store. Get accurate local pricing by zip code for Publix, Costco, Sprouts, Food Lion, CVS, Compare Foods, and more.

Pricing

from $0.001 / product result

Rating

0.0

(0)

Developer

Albert J

Albert J

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

3 days ago

Last modified

Share

Scrape grocery product data, prices, and availability from any Instacart-powered store. Get accurate local pricing based on your zip code -- the same prices you'd see shopping on Instacart.

What can this Actor do?

  • Search any Instacart store -- Publix, Costco, Sprouts, Kroger, Safeway, Aldi, Food Lion, HEB, Trader Joe's, CVS, Compare Foods, and more
  • Location-aware pricing -- Prices reflect your delivery zip code, just like the real Instacart experience
  • Rich product data -- Name, brand, price, unit price, size, availability, product images, and nutritional info
  • Bulk search -- Pass multiple search terms in a single run to scrape entire product categories
  • Structured output -- Clean JSON ready for spreadsheets, databases, or API integration

What data can I extract from Instacart?

FieldExample
Product NameEggland's Best Cage Free Large Brown Eggs, 12 count
Price$6.09
Unit Price$0.51/ct
Size12 ct
BrandEggland's Best
In Stocktrue
Product ID71953
Image URLhttps://...
Nutritioncalories: 60, protein: 6g, fat: 4g

Supported Stores

This Actor works with any store available on Instacart in your area. Pre-configured stores include:

StoreSlugCoverage
PublixpublixSoutheast US
CostcocostcoNationwide
SproutssproutsWestern & Southern US
KrogerkrogerNationwide
SafewaysafewayWestern US
AldialdiNationwide
Food Lionfood-lionSoutheast & Mid-Atlantic
HEBhebTexas
Trader Joe'strader-joesNationwide
CVScvsNationwide
The Fresh Marketthe-fresh-marketEastern US
Compare Foodscompare-foodsCarolinas & Northeast

Don't see your store? Most Instacart retailers work -- just use their Instacart URL slug (the part after /store/ in the Instacart URL).

How to scrape Instacart product prices

Step 1: Configure your input

Choose your store, enter search terms, and set your delivery zip code:

{
"store": "publix",
"searchTerms": ["eggs", "milk", "chicken breast", "organic bananas"],
"zipCode": "29615",
"maxResultsPerTerm": 30
}

Step 2: Run the Actor

Click Start in the Apify Console, or trigger via the API:

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~instacart-grocery-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"store": "costco",
"searchTerms": ["chicken", "salmon", "rice"],
"zipCode": "90210",
"maxResultsPerTerm": 20
}'

Step 3: Get your data

Results are saved to the dataset. Each product looks like:

{
"name": "Kirkland Signature Boneless Skinless Chicken Breasts, 6.5 lbs",
"price": 22.99,
"priceString": "$22.99",
"size": "6.5 lb",
"brand": "Kirkland Signature",
"unitPrice": "$3.54/lb",
"store": "costco",
"zipCode": "90210",
"inStock": true,
"productId": "234567",
"instacartId": "items_293-234567",
"imageUrl": "https://www.instacart.com/image-server/394x394/...",
"nutrition": {
"calories": 120,
"protein_g": 26,
"fat_g": 1
}
}

How much does it cost to scrape Instacart?

This Actor uses a headless browser to navigate Instacart like a real user, so each run consumes compute units based on duration:

Search TermsApprox. DurationEstimated Cost
5 terms~2 minutes~$0.10
20 terms~7 minutes~$0.35
50 terms~18 minutes~$0.90
100 terms~35 minutes~$1.75

Each search term takes approximately 15-25 seconds to process. Costs are based on default memory (4 GB).

Tips to reduce cost:

  • Use specific search terms ("organic whole milk") instead of broad ones ("food")
  • Set maxResultsPerTerm to 20-30 for a good balance of coverage and speed
  • Batch related terms in a single run to avoid repeated browser startup

Use cases

  • Price comparison -- Compare grocery prices across stores in your area
  • Market research -- Track pricing trends, product availability, and brand presence
  • Meal planning apps -- Feed real-time grocery data into your application
  • Grocery budgeting -- Find the best deals on your regular shopping list
  • Competitive intelligence -- Monitor competitor pricing and product assortment
  • Data journalism -- Track food price inflation at the local level

Why this Actor is different

Other Instacart scrapers on the Apify Store load the store homepage and grab whatever products happen to appear. They ignore your search terms and return random category listings. This Actor actually searches -- it navigates to the store, performs a real keyword search, and extracts the actual search results with accurate local pricing.

Built and battle-tested in production, processing thousands of products daily across multiple stores.

Input parameters

ParameterTypeRequiredDefaultDescription
storestringYes--Instacart store slug (e.g., publix, costco)
searchTermsstring[]Yes--List of product search queries
zipCodestringYes--5-digit US zip code for local pricing
maxResultsPerTermintegerNo10Max products per search term (1-100)

Output fields

FieldTypeAlways PresentDescription
namestringYesFull product name
pricenumberYesPrice in USD
priceStringstringYesFormatted price
sizestringWhen availableProduct size/weight
brandstringWhen availableBrand name
unitPricestringWhen availablePrice per unit
storestringYesStore slug
zipCodestringYesZip code used
inStockbooleanYesAvailability
productIdstringYesProduct identifier
instacartIdstringWhen availableComposite ID
imageUrlstringWhen availableProduct image
nutritionobjectWhen availableCalories, protein, fat

FAQ

How accurate are the prices?

Prices reflect what Instacart shows for delivery to your specified zip code. These are Instacart delivery prices, which may differ from in-store prices. Instacart typically marks up prices 5-15% over in-store prices, depending on the retailer partnership.

Can I scrape stores not in the dropdown?

Yes! Any store available on Instacart in your area should work. Find the store's slug by visiting Instacart, navigating to the store, and copying the part after /store/ in the URL. For example, https://www.instacart.com/store/wegmans has the slug wegmans.

Why did some search terms return no results?

The product may not be available at the selected store in your zip code. Try broader search terms or verify availability by checking Instacart directly.

What's the difference between productId and instacartId?

productId is the retailer's internal product identifier. instacartId is Instacart's composite identifier that includes the retailer context. Both can be used to uniquely identify products.

Can I run this on a schedule?

Yes! Use Apify Schedules to run this Actor daily, weekly, or at any cron interval. Great for tracking price changes over time.

Integrations

Export your data to:

  • Google Sheets -- Automatic spreadsheet updates
  • Webhooks -- Trigger your API when a run completes
  • Zapier / Make -- Connect to 5,000+ apps
  • REST API -- Fetch results programmatically
  • Amazon S3 / Google Cloud Storage -- Archive datasets

Support

  • Open an issue on the Issues tab for bug reports or feature requests
  • Need a store added? Let us know in the Issues tab