Instacart Scraper avatar

Instacart Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Instacart Scraper

Instacart Scraper

[πŸ’° $10 / 1K] Scrape Instacart products by keyword for any US delivery ZIP β€” names, brands, prices, sizes, images, availability, and dietary info. Search multiple terms at once; results reflect real location-based pricing.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Pull live grocery and retail product data from Instacart at scale β€” real, location-specific prices, unit prices, pack sizes, images, stock levels, and nutrition and dietary attributes for any US ZIP code. Enter a ZIP and you get the exact stores and prices Instacart shows a shopper standing in that location, across every retailer serving the area. Built for CPG brands, grocery pricing and market-research analysts, and e-commerce teams who need real location-level Instacart pricing without checking dozens of stores by hand.

Why This Scraper?

  • Prices are genuinely location-aware β€” enter ZIP 10001 and you get real Manhattan stores and NYC prices; enter 60601 and you get Chicago stores and Chicago prices. The ZIP drives the whole result set, not one fixed region baked into the actor.
  • Every product row includes a live price β€” no blank price fields to clean up. Each row carries the real, current price Instacart shows for that store and ZIP.
  • Four pricing fields per product β€” the displayed price string, a numeric price for math, the per-unit price (e.g. "$0.08/fl oz"), and the full/original price for spotting discounts.
  • Searches every retailer at the ZIP automatically β€” Costco, Key Food, Zabar's, Jewel-Osco, Strack & Van Til and whichever other stores deliver to that location. Leave the store filter empty for the top stores, or name specific stores by slug (costco, safeway, sprouts) to compare one banner.
  • Inline nutrition and dietary data β€” per-product nutrition attributes (protein, fat, sugar, calories, with values and units) and dietary badges (organic, gluten-free, non-GMO) pulled straight from the product card.
  • Batch many search terms in one run β€” pass ["milk", "organic eggs", "olive oil"] and each keyword runs its own search across your chosen stores in a single job.
  • Stock and availability on every row β€” an availability flag, a stock-level label, plus an optional in-stock-only filter that drops anything you can't order right now.
  • The resolved location travels with the data β€” every row records the exact ZIP and the store (name, slug, and store ID) it was collected from, so multi-ZIP and multi-store datasets stay unambiguous.

Use Cases

Pricing Intelligence

  • Track the same product's price across ZIP codes and retailers
  • Compare a competitor's shelf price against yours at the store level
  • Monitor per-unit pricing to catch "shrinkflation" and pack-size changes
  • Build price indexes for a basket of staple groceries by market

CPG & Brand Monitoring

  • Verify your products are listed and in stock across target markets
  • Audit how your brand's items are priced versus private-label alternatives
  • Confirm nutrition and dietary badges display correctly on your listings
  • Spot unauthorized discounting or full-price gaps across retailers

Market Research

  • Map which retailers actually serve a given ZIP or metro
  • Measure assortment breadth for a category (e.g. "olive oil") by store
  • Compare grocery baskets across neighborhoods and cities
  • Analyze the mix of organic, gluten-free, and specialty products by area

Data Enrichment & Integration

  • Enrich product catalogs with live Instacart prices and images
  • Feed location-level pricing into dashboards and BI tools
  • Power price-comparison and deal-alert products
  • Keep an internal grocery price database current on a schedule

Getting Started

Simple β€” one keyword, one ZIP

The fastest way to start: a search term and a delivery ZIP.

{
"searchTerms": ["milk"],
"postalCode": "10001"
}

Multiple keywords with a result cap

{
"searchTerms": ["milk", "organic eggs", "olive oil"],
"postalCode": "60601",
"maxResults": 100
}

Target specific stores, in-stock only

{
"searchTerms": ["greek yogurt"],
"postalCode": "10001",
"streetAddress": "350 5th Ave, New York",
"retailers": ["costco", "key-food"],
"inStockOnly": true,
"maxResults": 200
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchTermsstring[]["milk"]Plain keywords to search for, such as "milk", "organic eggs", or "olive oil". Add as many as you like β€” each runs its own search across your chosen stores.

Delivery Location

ParameterTypeDefaultDescription
postalCodestring"10001"US ZIP code for the delivery area you want prices for. This genuinely controls the location β€” results come from the stores that deliver to this ZIP, with that area's real prices. Leave empty to use an approximate location detected automatically.
streetAddressstringnullOptional street address for a more precise delivery point within the ZIP (e.g. "350 5th Ave, New York"). Leave empty to use the ZIP's center.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of products to return in total, across all search terms and stores. Set to 0 to collect everything available. Start with 20-100 to test.
inStockOnlybooleanfalseWhen on, only products currently available to order are returned; anything out of stock is skipped.
retailersstring[][]Optionally search only specific stores by their Instacart store slug (e.g. "costco", "safeway", "sprouts"). Matching is case-insensitive. Leave empty to search the top stores for your ZIP.

Output

Every result is one flat, priced product row. Here's a representative example:

{
"searchTerm": "milk",
"name": "Organic Whole Milk",
"brand": "horizon organic",
"price": 5.99,
"priceString": "$5.99",
"priceAvailable": true,
"fullPriceString": "$6.49",
"pricePerUnit": "$0.09/fl oz",
"size": "64 fl oz",
"productId": "16789234",
"imageUrl": "https://www.instacart.com/image-server/example.jpg",
"url": "https://www.instacart.com/store/key-food/products/16789234",
"available": true,
"stockLevel": "high",
"availabilityLabel": "Many in stock",
"nutrition": [
{ "label": "Protein", "value": "8", "unit": "g" },
{ "label": "Total Fat", "value": "8", "unit": "g" }
],
"dietary": ["Organic", "Gluten-Free"],
"retailer": "Key Food",
"retailerSlug": "key-food",
"shopId": "12345",
"postalCode": "10001"
}
FieldTypeDescription
searchTermstringThe keyword that produced this product
namestringProduct name
brandstring | nullBrand name
sizestring | nullPack size (e.g. "64 fl oz", "1 gal")
productIdstring | nullInstacart product identifier
imageUrlstring | nullProduct image URL
urlstring | nullDirect product page URL

Pricing

FieldTypeDescription
pricenumber | nullCurrent price as a number for calculations
priceStringstring | nullPrice exactly as displayed (e.g. "$5.99")
priceAvailablebooleanWhether a price was captured for this product
fullPriceStringstring | nullFull or original price, useful for spotting discounts
pricePerUnitstring | nullPer-unit price if shown (e.g. "$0.09/fl oz")

Availability & Attributes

FieldTypeDescription
availableboolean | nullWhether the product is currently orderable
stockLevelstring | nullStock level indicator
availabilityLabelstring | nullHuman-readable stock label (e.g. "Many in stock")
nutritionobject[] | nullNutrition attributes, each with label, value, and unit
dietarystring[]Dietary badges (Organic, Gluten-Free, Non-GMO, etc.)

Store & Location

FieldTypeDescription
retailerstring | nullStore name the product came from
retailerSlugstring | nullStore slug (use this value in the retailers input)
shopIdstringInstacart store identifier
postalCodestringThe delivery ZIP the search was run for

Tips for Best Results

  • The ZIP is your most powerful lever β€” different ZIPs surface different stores and different prices. To compare markets, run the same keywords across a list of ZIPs (e.g. 10001, 60601, 90001) and group the output by postalCode.
  • Compare one banner across cities β€” put the same slug in retailers (e.g. ["costco"]) and change only the ZIP between runs to see how a single chain prices the same product city by city.
  • Start small, then scale β€” set maxResults to 20-100 on your first run to confirm the data fits your needs, then raise it or set 0 for everything available.
  • Use the store slug, not the display name β€” the retailers filter matches Instacart slugs like key-food or jewel-osco. Grab the exact value from the retailerSlug field of an earlier run.
  • Store availability is ZIP-specific β€” a store that exists in one ZIP may not deliver to another. If a requested store is skipped, it isn't available for that location; leave retailers empty to fall back to the top stores.
  • Broad keywords return the most β€” "milk" or "olive oil" pull a full grid; very specific brand phrases return fewer products.
  • The same product can appear once per store and once per search term β€” that's intended, not a duplicate: prices differ by store and each keyword runs its own search. To collapse to one row per product, group by productId and retailerSlug.
  • Turn on inStockOnly for order-ready data β€” ideal when you only care about products a shopper can actually add to cart today.

Pricing

From $10.00 per 1,000 results β€” up to a third cheaper than comparable Instacart data tools. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$1.20$1.13$1.07$1.00
1,000$12.00$11.30$10.70$10.00
10,000$120.00$113.00$107.00$100.00
100,000$1,200.00$1,130.00$1,070.00$1,000.00

A "result" is any product row in the output dataset. No compute or time-based charges β€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new results
  • Webhooks β€” Trigger custom APIs on run completion
  • Apify API β€” Full programmatic access

This actor is designed for legitimate price monitoring, market research, and product intelligence. Users are responsible for complying with applicable laws and Instacart's Terms of Service. Do not use extracted data for spam, harassment, or any illegal purpose. Collect only publicly available product information and use it responsibly.