Instacart Scraper - $0.90 / 1000 Products avatar

Instacart Scraper - $0.90 / 1000 Products

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Instacart Scraper - $0.90 / 1000 Products

Instacart Scraper - $0.90 / 1000 Products

Scrape any retailer on Instacart (Costco, ALDI, Publix, Safeway, Albertsons, Vons, Kroger, CVS, Sprouts...) at the store for your ZIP: price, sale price, unit price, deals, stock, rating, ingredients. $0.90 per 1000 products.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Scrapeunblocker

Scrapeunblocker

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Features

Limited permissions

Share

Instacart Scraper

Scrape any retailer on Instacart as clean JSON: Costco, ALDI, Publix, Safeway, Albertsons, Vons, Jewel-Osco, ACME, Kroger, Sprouts, Wegmans, Sam's Club, CVS, Walgreens, Petco and hundreds more. Prices and stock come from the store that serves your ZIP code, and every item says which store that is. Each product has its name, brand, size and pack size, USD price, sale price and was-price, unit price (per oz, lb or count), deals such as "Buy 1, get 1 free", stock level, rating and review count, category, store-brand flag, dietary tags, image and link. Product mode adds the description, ingredients, directions, warnings and the image gallery.

Instacart prices can be higher than the retailer's in-store prices; they are the prices Instacart shoppers see for that store.

Features

  • Search mode - the products each retailer lists for each search term (queries x retailers), up to 300 per search in Instacart's order.
  • Product mode - one product per input (products: product id, item id from a search, or product link) with description and ingredients.
  • Any Instacart retailer - give its slug, the part after /store/ in an Instacart link (costco, safeway, jewel-osco, ...). Safeway's sister banners (Albertsons, Vons, Jewel-Osco, ACME, Randalls, Tom Thumb, Pavilions, Haggen...) work the same way.
  • Local prices - zipCode picks the delivery area; the answer names the store (shop id, location id, ZIP).
  • Many inputs per run - retailers, search terms and products in parallel.

Use cases

  • Grocery price tracking - the same basket at Costco, Safeway and ALDI, ZIP by ZIP.
  • Promotion monitoring - sale prices and multibuy deals across retailers.
  • Assortment research - which brands a store carries for a category and how they rank.
  • Product catalogues - ingredients, descriptions and images for a list of products.

Input

FieldTypeDefaultDescription
modestringsearchsearch or product.
retailersarraycostcoInstacart retailer slugs (or store links). Every search term or product id runs at every retailer.
queriesarraymilkSearch terms (search mode).
productsarray-Product ids, item ids or product links (product mode).
zipCodestring-5-digit US ZIP code; empty = 94105 (San Francisco).
maxResultsinteger30Products per retailer and search term (1-300).
concurrencyinteger3Inputs processed at the same time (1-5).

Example input

{
"mode": "search",
"retailers": ["costco", "safeway", "aldi"],
"queries": ["greek yogurt", "eggs"],
"zipCode": "94110",
"maxResults": 60
}

Output

One dataset item per product:

{
"mode": "search",
"input": "greek yogurt",
"position": 1,
"store": {
"shopId": "5468",
"retailerId": "1",
"retailerLocationId": "75",
"retailerName": "Safeway",
"serviceType": "delivery",
"postalCode": "94110",
"zoneId": "1"
},
"id": "items_75-35877468",
"productId": "35877468",
"name": "Lucerne Strained Greek Nonfat Plain Yogurt",
"brand": "Lucerne",
"brandId": "48795",
"size": "32 oz",
"packageSize": "32 oz",
"price": 6.99,
"priceText": "$6.99",
"wasPrice": null,
"onSale": false,
"unitPrice": { "price": 0.22, "per": "oz", "text": "$0.22/oz" },
"soldBy": "each",
"estimatedWeight": null,
"promotions": [],
"available": true,
"stockLevel": "in_stock",
"stockText": null,
"rating": null,
"reviewCount": null,
"category": "Greek & Icelandic Yogurt",
"storeBrand": true,
"dietary": ["Fat-free"],
"aisle": null,
"image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_afba90e7-97e3-4fc2-816f-94593ebb5f27.png",
"sponsored": false,
"url": "https://www.instacart.com/products/35877468-lucerne-nonfat-plain-strained-greek-yogurt-32-oz?retailerSlug=safeway",
"retailer": "safeway"
}

A product-mode item adds description, ingredients, directions, warnings, sections (every text block of the product page) and images.

stockLevel is high, in_stock, low or out_of_stock. soldBy is each or weight; for goods sold by weight priceText shows the estimated package price ($11.99 /pkg (est.)), estimatedWeight the weight it assumes and unitPrice the price per lb.

The key-value store holds SEARCHES (per retailer and search term: the store, total results on Instacart, products collected) and ERRORS (inputs without products and why).

Pricing

$0.90 per 1000 products (pay per result). Searches or products that return nothing (no match, unknown retailer or product, no store for the ZIP code, a failed call) are listed in ERRORS and not billed.

Notes

  • Instacart returns at most about 300 products for a search; totalResults in SEARCHES says how many it has.
  • Prices are the ones Instacart shows for that store and can differ from the retailer's own website or shelf prices.
  • A retailer with no store for the ZIP code returns an error for that input (not billed); some retailers serve every ZIP code from a nearby or shipping store.
  • This actor is not affiliated with Instacart or any retailer.
  • Powered by ScrapeUnblocker.