Grocery & delivery
Instacart Scraper
instacart.com
Instacart aggregates grocery catalogs from US retailers with per-store pricing and availability. ScrapeUnblocker renders its store and product pages as a shopper would see them and returns the price, availability and retailer for each item, holding a clean 100% at around four seconds a page.
What you can extract
- Product name, brand and size
- Price and per-unit price
- Retailer and store location
- Availability and stock status
- Product images and listing URL
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.instacart.com%2Fstore%2Fcostco%2Fstorefront&parsed_data=true"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/getPageSource",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.instacart.com/store/costco/storefront", "parsed_data": True},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.getPageSource({
url: 'https://www.instacart.com/store/costco/storefront',
parsedData: true,
});
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape Instacart?
Collecting publicly available Instacart data such as product prices, sizes and availability is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Instacart without getting blocked?
Instacart uses bot detection and rate limiting. ScrapeUnblocker renders the page in a real browser, rotates residential and ISP exits and handles challenges, then returns the store or product page as a shopper sees it. In ScrapeUnblocker's benchmark it returned real content on 100% of 1,000 calls, about 4.0s per call.
What Instacart data can I get?
From Instacart store and product pages: product name, brand and size, price and per-unit price, the retailer and store location, availability and stock status, plus product images and the listing URL. Take the rendered HTML, or add parsed_data=true for structured JSON.
Do I need an Instacart API or account?
No. ScrapeUnblocker returns the public page as HTML, or structured JSON with parsed_data=true, so there is no Instacart account, login or API key to set up. Send any Instacart store or product URL to /getPageSource with your ScrapeUnblocker key.
Can I monitor Instacart at scale?
Yes. Send one /getPageSource call per URL and run calls in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate. That lets you track prices and stock for many products across several retailers on a schedule.
How much does it cost to scrape Instacart?
Each /getPageSource call is one request, and 1 request = 1 credit: EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed. The free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.