E-commerce Product Scraper Pro — Prices, Reviews & Variants
Pricing
from $0.80 / 1,000 product scrapeds
E-commerce Product Scraper Pro — Prices, Reviews & Variants
Scrape products, prices, variants, reviews and sellers from Amazon, Walmart, Target, IKEA, Zalando, Shopify, WooCommerce and 50+ stores. ISO currency, stock, full image galleries, price monitoring and Google Shopping. Input-compatible with the E-commerce Scraping Tool.
Pricing
from $0.80 / 1,000 product scrapeds
Rating
5.0
(2)
Developer
Omar Eldeeb
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
What does E-commerce Product Scraper Pro do?
E-commerce Product Scraper Pro extracts products, prices, stock, variants, reviews, sellers and Amazon Influencer storefronts from online stores and marketplaces: Amazon (24 storefronts), Walmart, Target, IKEA, Zalando, Flipkart, AliExpress reviews, UK grocers, and any Shopify, WooCommerce, BigCommerce, PrestaShop, Magento or Salesforce Commerce store. It also covers Google Shopping results and Wolt, Glovo and DoorDash food-delivery stores.
Each product row has the price as a number with an ISO currency code, plus the original and unit price, inStock and a stock count, the variants and the image gallery whenever the page states them, and the source URL. Every input gets a status row, so you always know what was found, what was blocked and why. The supported-sites matrix below lists exactly what works where.
It runs on the Apify platform, so you get scheduling, an API, webhooks, integrations (Make, Zapier, Google Sheets, Slack), and exports to JSON, CSV, Excel or XML.
Why use E-commerce Product Scraper Pro?
- Price and stock monitoring. Monitor mode compares every product with your previous run and flags
price-down,price-up,back-in-stock,out-of-stockandremoved. Optionally it outputs only what changed. - Catalog and competitor research. Category pages, keyword searches and whole Shopify collections, with pagination followed automatically where the site supports it (up to 200 pages per input; some sites are first page only, see Limitations), variants as rows inside
variants[], and all images. - Review analysis. Product reviews from Walmart, Target, AliExpress, Flipkart, Mercado Libre and Shopify review apps (Yotpo, Judge.me, Okendo, Stamped), plus WooCommerce, with the sort you choose where the site offers it.
- Lead generation. Seller profiles (Amazon, Walmart) and store contact details (email, phone, address) from any store's own pages.
- AI and data pipelines. One flat, documented schema with a
recordTypefield on every row, an optional AI summary per product, and an OUTPUT record with yield and billing counters for monitoring.
How to use E-commerce Product Scraper Pro
- Open the Actor and paste product URLs, category / listing URLs, or a keyword plus marketplaces.
- Optionally add review URLs, seller URLs, an Amazon Influencer storefront, Google Shopping keywords or food-delivery inputs. Each section of the input form is independent.
- Set limits (
maxProductResults,maxItemsPerStartUrl,maxReviewResults, …) so the run stays inside your budget. - Click Start. Products appear in the Products view as they are scraped. The Status per input view shows one row per input with its outcome.
- Download the results as JSON, CSV, Excel or XML, or read them through the API.
Input
Products from URLs and a Shopify collection (this is the prefilled example):
{"detailsUrls": [{ "url": "https://www.skullcandy.com/products/crusher-540-active" }],"listingUrls": [{ "url": "https://www.deathwishcoffee.com/collections/coffee" }],"maxProductResults": 10}
Keyword search on marketplaces, with at most 25 products per marketplace:
{"keyword": "usb c cable","marketplaces": ["www.amazon.com", "www.walmart.com", "www.target.com"],"maxItemsPerStartUrl": 25}
Lowest-rated reviews first, capped at 200:
{"reviewDetailsUrls": [{ "url": "https://www.target.com/p/apple-airpods-pro-2nd-generation/-/A-85978612" }],"sortReview": "Lowest rated","maxReviewResults": 200}
Daily price watch (schedule this; only changed products are written):
{"detailsUrls": [{ "url": "https://www.amazon.com/dp/B0H6XS28T1" }, { "url": "https://www.walmart.com/ip/5113183757" }],"monitorMode": true,"onlyChanges": true}
Sellers and an Amazon Influencer storefront:
{"sellerUrls": [{ "url": "https://www.amazon.com/sp?seller=A294P4X9EWVXLJ" }, { "url": "https://www.beardbrand.com/" }],"influencerUrls": [{ "url": "https://www.amazon.com/shop/mkbhd" }],"scrapeInfluencerProducts": true,"maxInfluencerResults": 20}
URLs placed in the wrong field are moved automatically, with a log line. A product URL in "Category listing URLs" is scraped as a product, and a category URL in "Product detail URLs" is read as a listing.
Options added on top of the standard fields
| Field | What it does |
|---|---|
maxItemsPerStartUrl | Maximum rows per input (per product URL, listing, keyword × marketplace, review input or storefront). |
followPagination | Follow next pages on listings and searches (default on). |
includeVariants | Include the variants[] array (default on). |
proxyCountry | Pin the residential exit to a country. This fixes prices showing in the wrong currency. Default: each marketplace's own country. |
monitorMode / onlyChanges | Compare with your previous run and flag the changes; with onlyChanges, write only changed products. |
Switching from the E-commerce Scraping Tool
If you already use Apify's E-commerce Scraping Tool, the input field names are identical: paste your existing input JSON and it runs. All 38 fields are accepted with the same types and options, including the review, seller, influencer, Google Shopping ("search engine") and food-delivery sections. The internal disableFallbacks flag is accepted and ignored.
Rows keep the main output field names the E-commerce Scraping Tool documents (url, inputUrl, name, image, offers, brand, description, additionalProperties, aiSummary, keyword, and the review / seller / influencer keys), plus flat, spreadsheet-friendly fields and a recordType on every row. Output compatibility is checked against that tool's documented dataset views and samples, not field by field, so check your integration against a sample run. Per-input outcomes (error, errorDescription, invalidUrls) are in the Status dataset described below.
Output
All data rows go to the run's default dataset, with a recordType field: product, review, seller, influencerPost, search-result or delivery. Per-input status rows go to a separate Status dataset, and a run summary goes to the OUTPUT record. The views (Products, Products as CSV, Reviews, Sellers, Influencer posts, Status per input) are linked on the run's Output tab.
Product
Real row (shortened) from the prefilled example:
{"recordType": "product","url": "https://www.skullcandy.com/products/crusher-540-active","inputUrl": "https://www.skullcandy.com/products/crusher-540-active","name": "Crusher® 540 Active","image": "https://cdn.shopify.com/s/files/1/0635/5114/3993/files/1_crusher-active_soft-pink.png?v=1762210740","offers": { "price": 229.99, "priceCurrency": "USD" },"brand": { "slogan": "Skullcandy US" },"description": "CRUSH THE ACTION WITH MIND-BENDING BASS\nMeet Crusher 540 Active, the ultimate active-use h…","additionalProperties": { "shopifyProductId": 7883339530297, "handle": "crusher-540-active", "productType": "Headphones", "tags": ["active", "wireless"] },"price": 229.99,"currency": "USD","originalPrice": null,"inStock": true,"availability": "InStock","sku": "S6EVW-U054","brandName": "Skullcandy US","images": ["https://cdn.shopify.com/s/files/1/0635/5114/3993/files/1_crusher-active_soft-pink.png?v=1762210740", "…"],"imageCount": 60,"rating": 4.3,"reviewCount": 1367,"variants": [{ "sku": "S6EVW-U054", "name": "Skullcandy X Baker Skateboards", "price": 229.99, "currency": "USD", "inStock": true, "options": { "Color": "Skullcandy X Baker Skateboards" }, "url": "https://www.skullcandy.com/products/crusher-540-active?variant=50564609998905" }],"variantCount": 6,"site": "skullcandy.com","tierUsed": "datacenter","source": "shopify","extractionComplete": true,"changeType": null,"scrapedAt": "2026-10-17T13:37:17.581Z"}
| Field | Meaning |
|---|---|
price, currency, currencyRaw | Numeric price, ISO 4217 code, and the currency as the page printed it. |
originalPrice, unitPrice, unitPriceUnit | Was-price (only when higher than price) and price per kg / l / unit when shown. |
inStock, stockQty, availability | Normalized stock flag, the count from text like "Only 3 left", and the raw availability. |
sku, gtin, mpn, brandName, seller, breadcrumbs[] | Identifiers and context when the page states them. |
images[], variants[] | Full gallery in page order, and every variant with its own price / stock / options. |
keyword, position | For listing and search inputs: the keyword and the product's rank on that input. |
influencerUrl, influencerListId | For Amazon Influencer products: the storefront and list the product came from. |
aiSummary, aiSummaryStatus | The AI summary (only when requested; ok is the only billed status). |
changeType, changes[], previousPrice, priceChange, priceChangePct, previousInStock | Monitor mode fields. |
tierUsed, dataSources[], extractionComplete, partialReason | How the row was fetched and assembled, and whether a data source failed and the row fell back. |
Review
{"recordType": "review","productUrl": "https://www.skullcandy.com/products/crusher-540-active","inputUrl": "https://www.skullcandy.com/products/crusher-540-active","author": "Victoria C.","datePublished": "2026-10-12T21:52:57.000Z","name": "Faulty equipment and poor service","reviewBody": "These were a birthday gift for my son, They were faulty. …","reviewRating": { "ratingValue": 1, "bestRating": 5 },"additionalProperties": { "verified": true, "helpfulVotes": 0, "unhelpfulVotes": 0, "incentivized": false, "language": "en" },"reviewId": "904420651","rating": 1,"verified": true,"helpfulVotes": 0,"images": [],"productName": "Crusher® 540 Active","position": 1,"sortApplied": "Lowest rated","site": "skullcandy.com","source": "yotpo","scrapedAt": "2026-10-17T11:11:05.210Z"}
sortApplied is the order the reviews actually follow. When a site does not offer the sort you asked for, its default order is used, and the input's status row says so. datePublished never invents precision: "3 months ago" becomes 2026-07.
Seller
{"recordType": "seller","url": "https://www.walmart.com/seller/101011839","name": "UGREEN Official Store","parentOrganization": { "name": "AMERICA UGREEN LIMITED", "legalName": "AMERICA UGREEN LIMITED" },"address": { "streetAddress": "108 WEST 13TH ST", "addressLocality": "WILMINGTON", "addressRegion": "DE", "postalCode": "19801", "addressCountry": "US" },"aggregateRating": { "ratingValue": 4.7, "bestRating": 5, "ratingCount": 1865, "positivePercent": null },"sellerEmail": "support.wm@ugreen.com","sellerPhone": "+1 7862391173","sellerId": "101011839","emails": ["support.wm@ugreen.com"],"phones": ["+1 7862391173"],"site": "walmart-us","source": "walmart-seller"}
Influencer post (Amazon Influencer storefront list)
{"recordType": "influencerPost","image": "https://m.media-amazon.com/images/S/shoppable-media-external-prod-iad-us-east-1/2a7221ae-71b2-407b-ac73-69ee05c065c7/e36120f5-1e45-4fdb-a9bd-5af640ae5f20._SX500_SCLZZZZZZZ_.png","influencerUrl": "https://www.amazon.com/shop/mkbhd","inputUrl": "https://www.amazon.com/shop/mkbhd","url": "https://www.amazon.com/shop/mkbhd/list/2907Y239RZWWA","type": "list","postId": "amzn1.ideas.2907Y239RZWWA","likes": null,"itemsCount": 11,"title": "Public MKBHD","influencerName": "MKBHD","asins": ["B07H484HLT", "B07WFQYJYP", "B07F5SMRB6"]}
Google Shopping result
{"recordType": "search-result","keyword": "usb c cable","product": { "title": "Anker 515 USB-C to USB-C Cable", "price": 23.99, "priceCurrency": "USD" },"sellers": [],"mode": "Google Listing","position": 1,"price": 23.99,"currency": "USD","originalPrice": 30,"merchant": "Anker US","delivery": "Free delivery","badge": "20% OFF","rating": 5,"reviewCount": 119,"catalogId": "10153306070466319820","country": "US","site": "google-shopping"}
Food-delivery store
{"recordType": "delivery","url": "https://wolt.com/en/fin/helsinki/restaurant/huuva-pitjnmki","title": "Huuva Pitäjänmäki","brand": "burgeri, kana, katuruoka","offers": { "priceRange": "€€", "deliveryFee": null, "minimumOrder": null, "currency": "EUR" },"additionalDetails": [{ "name": "Naughty BRGR: Naughty Smash + Ranskalaiset", "price": 14.7, "currency": "EUR", "category": "Naughty BRGR 🍔" }],"platform": "wolt","rating": 8.8,"ratingScale": 10,"deliveryEstimate": "40-50 min","isOpen": true,"storeAddress": "Höyläämötie 11c","city": "Helsinki","country": "FI","menuItemCount": 95,"menuComplete": true}
Status dataset (one row per input)
{"recordType": "status","inputUrl": "https://www.deathwishcoffee.com/collections/coffee","inputField": "listingUrls","site": "deathwishcoffee.com","pageType": "listing","outcome": "ok","error": null,"errorDescription": "50 product(s) found on 1 page(s) (the site states 82); 9 delivered; 41 not scraped; stopped: maxProductResults (10) reached.","itemsFound": 50,"itemsExpected": 82,"itemsDelivered": 9,"pagesFetched": 1,"stopReason": "cap","tierUsed": "datacenter","tiersTried": ["datacenter"],"blockedBy": null,"sortApplied": null}
outcome is one of ok, partial, blocked, not-found, restricted, invalid, internal, unsupported, not-yet-supported or skipped. error uses the same error codes as the E-commerce Scraping Tool's documented errors dataset. blockedBy names the anti-bot vendor or network reason. stopReason is exhausted only when the end was proven (a short last page, no next page, or the site's stated total reached) and every product found was scraped. It is deadline, charge-limit or aborted when the run ended before that, no-products when the first page listed no product links, and blocked when a page failed on every tier.
The OUTPUT record in the key-value store summarizes the run: delivered vs expected per site, outcome counts, tiers used, billing counters, and unbilled proxy spend.
How much does it cost to scrape e-commerce sites?
Pay per event: you pay for results, not for compute time. Prices in USD by Apify plan tier (PLATINUM and DIAMOND pay the GOLD price):
| Event | When it is charged | FREE | BRONZE | SILVER | GOLD |
|---|---|---|---|---|---|
| Actor start | Once per run per GB of memory (platform event; the default 1 GB = 1 event) | $0.005 | $0.005 | $0.005 | $0.005 |
| Product scraped | One product row delivered (food delivery: one store with its menu) | $0.0048 | $0.0012 | $0.001 | $0.0008 |
| Product checked (unchanged) | Monitor mode with onlyChanges: re-checked, unchanged, not written | $0.0012 | $0.0003 | $0.00025 | $0.0002 |
| Listing page scraped | A category / search / pagination page that returned product links | $0.0004 | $0.00034 | $0.00027 | $0.00021 |
| Residential proxy traffic (per MB) | MB of residential traffic used to deliver your results, including retries (see below) | $0.018 | $0.016 | $0.015 | $0.014 |
| Browser-rendered page | Every browser render used to deliver an item, including its failed retries | $0.008 | $0.007 | $0.0065 | $0.006 |
| Search engine request | One successful Google Shopping request | $0.0045 | $0.004 | $0.0038 | $0.0035 |
| Review scraped | One review row | $0.0016 | $0.0008 | $0.00068 | $0.00056 |
| Seller scraped | One seller / store-contact row (per seller, not once per run) | $0.0024 | $0.0016 | $0.001 | $0.0008 |
| AI summary | One AI summary, only when the model returns a complete answer | $0.006 | $0.0032 | $0.0028 | $0.0022 |
| Influencer post scraped | One Amazon Influencer storefront list | $0.0016 | $0.0008 | $0.00068 | $0.00056 |
How billing protects you
- Residential traffic is billed at 89 % of the measured traffic, and only for items that delivered. 89 % is below the lowest ratio between the proxy's own meter and our byte count across our cloud tests, so the billed MB stays at or below what the proxy itself recorded.
- Items that never deliver are never charged. A blocked, empty or not-found page costs you nothing: no row event, no residential MB, no browser fee.
- Your maximum cost per run is respected. Set it in the run options (
maxTotalChargeUsdin the API). Before each item the Actor checks that the item's full cost still fits, so it stops slightly below the limit instead of above it. Rows that cannot be paid for are not delivered. - No free trial inside the Actor. Apify's free monthly platform credit covers trying it, so every event is a paid event from the first row.
- The start fee is per run: $0.005 for the default 1 GB of memory, plus one more start event for each extra GB you give the run.
How the residential fee works
Most sites in the matrix are scraped through datacenter connections and pay no traffic fee. Some sites block datacenter traffic. For those, the Actor switches to residential proxies (or a real browser over residential), and you pay for the residential traffic of the items that delivered:
- Traffic is metered in MB (1 MB = 1,000,000 bytes). The billed amount is a fixed share of the measured traffic (see "How billing protects you" above), charged as whole MB while the run progresses; the last partial MB is rounded up once at the end of the run.
- A product's retries and escalations count toward its own traffic. Traffic spent on inputs that delivered nothing is never charged.
- Browser-rendered pages pay the browser-page fee for every browser render used to deliver the item, including its failed retries, plus their residential traffic (the same rule as residential MB). Renders spent on inputs that delivered nothing are never charged.
Worked example (GOLD prices, measured October 2026): 1,000 IKEA products. IKEA product pages need residential access and used 0.125–0.135 MB of traffic each in our cloud tests, so 1,000 products ≈ 125–135 MB, billed as 112–121 MB (89 % of the measured traffic, see "How billing protects you").
- Products: 1,000 × $0.0008 = $0.80
- Residential traffic: 112–121 MB × $0.014 = $1.57–$1.69
- Actor start: $0.005
- Total ≈ $2.37–$2.50 (on FREE prices ≈ $6.82–$6.98)
The same 1,000 products from a Shopify store (datacenter, no traffic fee) cost $0.80 + $0.005 on GOLD.
Residential traffic per delivered product (measured traffic in our cloud tests, October 2026; the billed MB are lower, see "How billing protects you"). Ranges cover several runs; sites marked "varies" moved a lot from run to run:
| Site | How it is usually reached | MB per delivered product |
|---|---|---|
| Shopify / WooCommerce / BigCommerce / PrestaShop stores, Amazon.com, Walmart, Target, Zalando, John Lewis, Marks & Spencer, Aldi UK, Craigslist | Datacenter | 0 (no traffic fee) |
| IKEA | Residential | 0.13 |
| Bol | Residential | 0.2 |
| amazon.co.uk | Mostly residential | 0.3–0.5 |
| amazon.de | Datacenter or residential (varies by run) | 0–0.5 (varies) |
| Columbia (Salesforce Commerce) | Residential, some browser | 0.25–0.5 |
| Noon | Residential, some browser | 0.1–0.4 |
| Sephora (product pages) | Browser + residential | 0.2–0.4 |
| Bloomingdale's | Browser + residential | 0.3–1.0 (varies) |
| Wayfair | Browser + residential | 0.3–1.1 (varies) |
| Mercado Libre | Browser + residential | 0.7–2.1 (varies) |
Sites not listed were not measured in the cloud; residential product pages are usually in the 0.1–0.5 MB range.
More examples (GOLD prices; traffic measured October 2026):
| Run | Cost |
|---|---|
| 100 Amazon.com products (datacenter) | 100 × $0.0008 + $0.005 = $0.085 |
| 100 amazon.co.uk products (mostly residential, 0.3–0.5 MB each) | $0.08 + 27–45 MB × $0.014 + $0.005 ≈ $0.46–$0.71 |
| 500 Target reviews | 500 × $0.00056 + $0.005 = $0.285 |
| A 20-page category, 1,000 products (datacenter) | 20 × $0.00021 + 1,000 × $0.0008 + $0.005 = $0.809 |
| 1,000 Noon products (residential, some browser renders) | $0.80 + 30–200 renders × $0.006 + 89–356 MB × $0.014 + $0.005 ≈ $2.23–$6.99 |
Daily watch of 500 unchanged Shopify products (onlyChanges) | 500 × $0.0002 + $0.005 = $0.105 per run |
Supported sites
supported = verified repeatedly in our cloud tests (October 2026). best-effort = works, but with a known gap (first page only, browser route, lower or variable success). unsupported = blocked by anti-bot protection on every route we tested. Unsupported inputs are never fetched: each gets a status row saying why, and they cost nothing beyond the run's start fee. A run in which every input is unsupported (or every attempted input is blocked) ends as FAILED, with the reason per input in the Status dataset. A "—" under Listings and Keyword search means the site takes product URLs only.
| Site | Status | Tier (product pages) | Products | Listings | Keyword search | Reviews | Sellers |
|---|---|---|---|---|---|---|---|
| Any Shopify store | supported | Datacenter | ✓ (store JSON) | ✓ (collections) | ✓ (store search, home page + keyword) | ✓ Yotpo / Judge.me / Okendo / Stamped widgets, else page data | store contact |
| Any WooCommerce store | supported | Datacenter | ✓ (Store API) | ✓ | ✓ (store search) | ✓ (Store API reviews) | store contact |
| Any BigCommerce / PrestaShop / Magento / Salesforce Commerce store | best-effort | Datacenter (residential / browser when the store is behind Cloudflare) | ✓ | ✓ | ✓ (store search) | best-effort (page data) | store contact |
| Any other store with schema.org Product data | best-effort | Datacenter → residential → browser as needed | ✓ | best-effort (link discovery) | only when the store engine is detected | best-effort (page data) | store contact |
| Aldi (aldi.co.uk) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Amazon (amazon.com) | supported | Datacenter | ✓ | ✓ | ✓ | top reviews only | ✓ |
| Amazon (amazon.de) | supported | Datacenter; listings residential | ✓ | ✓ | ✓ | top reviews only | ✓ |
| American Eagle (ae.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Ariat (ariat.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Bluemercury (bluemercury.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Bol (bol.com) | supported | Residential | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Craigslist (5 domains: craigslist.org, toronto.craigslist.org, vancouver.craigslist.org, london.craigslist.org, sydney.craigslist.org) | supported | Datacenter | ✓ | ✓ (first page, ~340 results) | ✓ (first page, ~340 results) | best-effort (page data) | store contact |
| John Lewis (johnlewis.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| M&S (marksandspencer.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Target (target.com) | supported | Datacenter (crawler UA) | ✓ | ✓ | ✓ | ✓ (all pages) | store contact |
| Waitrose (waitrose.com) | supported | Datacenter | ✓ | ✓ | ✓ | best-effort (page data) | store contact |
| Walmart (walmart.com) | supported | Datacenter | ✓ | ✓ | ✓ | ✓ (all pages) | ✓ |
| Zalando (zalando.de) | supported | Datacenter | ✓ | ✓ | ✓ | — | store contact |
| AliExpress (2 domains: aliexpress.com, aliexpress.us) | best-effort | Browser; listings datacenter | — (captcha) | best-effort | best-effort | ✓ (all pages) | partial (name + ids) |
| Alza (5 domains: alza.cz, alza.sk, alza.hu, alza.at, alza.de) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Amazon (22 domains: amazon.ca, amazon.com.mx, amazon.com.br, amazon.co.uk, amazon.fr, amazon.it, …) | best-effort | Datacenter; listings residential | ✓ | best-effort | best-effort | top reviews only | ✓ |
| Ashley (ashleyfurniture.com) | best-effort | Datacenter | ✓ | best-effort | — | best-effort (page data) | store contact |
| Bloomingdale's (bloomingdales.com) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | — | store contact |
| Cdiscount (cdiscount.com) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | — | store contact |
| Christian Louboutin (christianlouboutin.com) | best-effort | Browser | ✓ (browser) | best-effort | — | — | store contact |
| Coles (coles.com.au) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Columbia Sportswear (columbia.com) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Flipkart (flipkart.com) | best-effort | Residential; listings datacenter | ✓ | best-effort | best-effort | ✓ (all pages) | store contact |
| Hepsiburada (hepsiburada.com) | best-effort | Datacenter | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Iceland (iceland.co.uk) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | — | store contact |
| Idealo (2 domains: idealo.de, idealo.at) | best-effort | Datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Idealo (4 domains: idealo.co.uk, idealo.es, idealo.fr, idealo.it) | best-effort | Datacenter | ✓ | best-effort (first page only) | — | best-effort (page data) | store contact |
| IKEA (ikea.com) | best-effort | Residential | ✓ | best-effort (first page only) | — | best-effort (page data) | store contact |
| InsulationPoint (insulationpoint.co.uk) | best-effort | Datacenter | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| J.Crew (jcrew.com) | best-effort | Datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Le Creuset (lecreuset.com) | best-effort | Datacenter | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Lidl (lidl.co.uk) | best-effort | Datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Macy's (macys.com) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| MediaMarkt (mediamarkt.de) | best-effort | Residential | ✓ | — | — | best-effort (page data) | store contact |
| Meijer (meijer.com) | best-effort | Datacenter | ✓ | — | — | best-effort (page data) | store contact |
| Mercado Libre (17 domains: mercadolibre.com.mx, mercadolibre.com.ar, mercadolibre.cl, mercadolibre.com.co, mercadolibre.com.pe, mercadolibre.com.uy, …) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | ✓ (catalog /p/ URLs) | — |
| Morrisons (groceries.morrisons.com) | best-effort | Residential; listings datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Noon (noon.com) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | best-effort (page data) | store contact |
| Ocado (ocado.com) | best-effort | Residential | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Sainsbury's (sainsburys.co.uk) | best-effort | Datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Sephora (sephora.com) | best-effort | Browser | ✓ (browser) | — | — | — | store contact |
| Shein (shein.com) | best-effort | Browser | — (captcha) | best-effort (first page only) | — | — | store contact |
| Space NK (spacenk.com) | best-effort | Datacenter | ✓ | best-effort (first page only) | best-effort (first page only) | best-effort (page data) | store contact |
| Staples (staples.com) | best-effort | Datacenter | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Takealot (takealot.com) | best-effort | Browser | ✓ (browser) | best-effort (first page only) | best-effort (first page only) | — | store contact |
| Tesco (tesco.com) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Trendyol (trendyol.com) | best-effort | Residential | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Ulta Beauty (ulta.com) | best-effort | Datacenter | ✓ | — | — | best-effort (page data) | store contact |
| Walmart (walmart.ca) | best-effort | Datacenter | ✓ | best-effort | best-effort | best-effort (page data) | store contact |
| Wayfair (4 domains: wayfair.com, wayfair.ca, wayfair.co.uk, wayfair.de) | best-effort | Browser | ✓ (browser) | best-effort | best-effort | — | store contact |
| Zalando (15 domains: zalando.at, zalando.ch, zalando.fr, zalando.it, zalando.es, zalando.nl, …) | best-effort | Datacenter | ✓ | best-effort | best-effort | — | store contact |
| Academy Sports + Outdoors (academy.com) | unsupported | — | — | — | — | — | — |
| Albertsons (albertsons.com) | unsupported | — | — | — | — | — | — |
| Alibaba (alibaba.com) | unsupported | — | — | — | — | — | — |
| Allegro (3 domains: allegro.pl, allegro.cz, allegro.sk) | unsupported | — | — | — | — | — | — |
| Anthropologie (anthropologie.com) | unsupported | — | — | — | — | — | — |
| AO (ao.com) | unsupported | — | — | — | — | — | — |
| Argos (argos.co.uk) | unsupported | — | — | — | — | — | — |
| Asda (asda.com) | unsupported | — | — | — | — | — | — |
| AutoZone (autozone.com) | unsupported | — | — | — | — | — | — |
| Barnes & Noble (barnesandnoble.com) | unsupported | — | — | — | — | — | — |
| Bass Pro Shops (basspro.com) | unsupported | — | — | — | — | — | — |
| Best Buy (2 domains: bestbuy.com, bestbuy.ca) | unsupported | — | — | — | — | — | — |
| BJ's Wholesale Club (bjs.com) | unsupported | — | — | — | — | — | — |
| Boots (boots.com) | unsupported | — | — | — | — | — | — |
| Chewy (chewy.com) | unsupported | — | — | — | — | — | — |
| Co-op (coop.co.uk) | unsupported | — | — | — | — | — | — |
| Costco (3 domains: costco.com, costco.ca, costco.co.uk) | unsupported | — | — | — | — | — | — |
| CVS (cvs.com) | unsupported | — | — | — | — | — | — |
| Dick's Sporting Goods (dickssportinggoods.com) | unsupported | — | — | — | — | — | — |
| eBay (8 domains: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, …) | unsupported | — | — | — | — | — | — |
| Etsy (etsy.com) | unsupported | — | — | — | — | — | — |
| Galaxus (3 domains: galaxus.ch, galaxus.de, galaxus.at) | unsupported | — | — | — | — | — | — |
| Goofish (goofish.com) | unsupported | — | — | — | — | — | — |
| Grainger (2 domains: grainger.com, grainger.ca) | unsupported | — | — | — | — | — | — |
| Harbor Freight (harborfreight.com) | unsupported | — | — | — | — | — | — |
| Home Depot (2 domains: homedepot.com, homedepot.ca) | unsupported | — | — | — | — | — | — |
| Kaufland (7 domains: kaufland.de, kaufland.cz, kaufland.sk, kaufland.pl, kaufland.at, kaufland.it, …) | unsupported | — | — | — | — | — | — |
| Kohl's (kohls.com) | unsupported | — | — | — | — | — | — |
| Levi's (levi.com) | unsupported | — | — | — | — | — | — |
| Lowe's (2 domains: lowes.com, lowes.ca) | unsupported | — | — | — | — | — | — |
| Men's Wearhouse (menswearhouse.com) | unsupported | — | — | — | — | — | — |
| Mercado Livre (mercadolivre.com.br) | unsupported | — | — | — | — | — | — |
| MSC Industrial Supply (mscdirect.com) | unsupported | — | — | — | — | — | — |
| Newegg (2 domains: newegg.com, newegg.ca) | unsupported | — | — | — | — | — | — |
| Next (next.co.uk) | unsupported | — | — | — | — | — | — |
| Nordstrom (nordstrom.com) | unsupported | — | — | — | — | — | — |
| Petco (petco.com) | unsupported | — | — | — | — | — | — |
| SalonCentric (saloncentric.com) | unsupported | — | — | — | — | — | — |
| Smyths Toys (smythstoys.com) | unsupported | — | — | — | — | — | — |
| Staples (staples.ca) | unsupported | — | — | — | — | — | — |
| Superdrug (superdrug.com) | unsupported | — | — | — | — | — | — |
| Temu (temu.com) | unsupported | — | — | — | — | — | — |
| Uline (2 domains: uline.com, uline.ca) | unsupported | — | — | — | — | — | — |
| Walgreens (walgreens.com) | unsupported | — | — | — | — | — | — |
Food delivery
| Platform | Status | Tier | Stores (keyword / nearby / listing / store URL) | Store reviews |
|---|---|---|---|---|
| Wolt (wolt.com) | supported | Datacenter | ✓ one row per store, menu nested | rating + count only (no text reviews on the platform) |
| Glovo (glovoapp.com) | best-effort | Datacenter | ✓ one row per store, menu nested | rating + count only (no text reviews on the platform) |
| DoorDash (doordash.com) | best-effort | Residential | ✓ one row per store, menu nested | up to 5 text reviews per store ("Include extended delivery review data") |
| Instacart (instacart.com) | best-effort | Residential | product rows via category / product URLs (keyword search is client-side: honest status row) | — |
"store contact" = the store's own contact data (JSON-LD Organization, mailto: / tel: links, contact page). "page data" = reviews published in the product page's structured data or a detected review widget.
Tips & advanced options
- Scrape mode: use AUTO.
AUTO(default) starts each site on its lowest-cost route and moves to residential or the browser only when that route is blocked.HTTPnever uses a browser.BROWSERrenders every page, costs more, and can lower success on sites whose HTTP route works: in our cloud tests Walmart answered the browser with a PerimeterX challenge, and Target rendered its pages without a price. PickBROWSERonly for a site you have tested it on. - Wrong currency? Set
proxyCountryto the market's country. Amazon storefronts are pinned to their own currency automatically. - Caps.
maxProductResultsis run-wide.maxItemsPerStartUrlis per input, so one big category cannot starve the others. Reviews, sellers and influencer results have their own caps. - Monitor mode. State is kept in a named key-value store (
ecommerce-product-monitor), keyed by the exact set of input URLs: change one URL and the next run starts a fresh comparison. Each row'schangeTypeis one ofnew,price-up,price-down,back-in-stock,out-of-stock,changed,unchangedorremoved. Schedule the same input daily or hourly. - AI summary. Pick fields in "AI summary - data points" and/or write a custom prompt (up to 3,000 characters). It is billed only when the model returns a complete answer.
- Health checks. Read the Status dataset or the
OUTPUTrecord, not just the run status. A run can succeed with 0 rows (for example, every product not found, or every input outside your caps), and the status rows say exactly why. When every input is unsupported or invalid, or every attempted input is blocked, the run is marked failed. - Memory. 1 GB (the default) is enough for most runs. For runs with more than about 50 URLs on browser-rendered sites (Wayfair, Bloomingdale's, Mercado Libre, Sephora, Noon), use 2 GB: our 1 GB cloud runs on those sites peaked above 90 % of memory. The start fee is charged per GB, so 2 GB costs one extra start event per run.
- Speed. About 30–40 Shopify products per minute at 1 GB (1,000 product URLs took about 32 minutes in our cloud tests). Residential and browser sites are slower.
- Long runs. The Actor stops starting new pages shortly before its timeout and exits with a full status report. Raise the run timeout for big jobs. A platform restart resumes where it left off without delivering or charging rows twice.
Limitations
Known limits as measured in our cloud tests (October 2026):
- Unsupported sites (status row only, start fee only): eBay, Home Depot, Lowe's, Costco, Etsy, Allegro, Newegg, Mercado Livre (Brazil), Best Buy product pages, and the other sites marked unsupported in the matrix. Listings and keyword search are not supported on Sephora, MediaMarkt, Meijer, Ulta and Temu (Temu is unsupported entirely). A run with only unsupported inputs, or in which every attempted input is blocked, ends as FAILED with the reason per input in the Status dataset.
- Best-effort sites:
- Mercado Libre: about a third of product pages deliver (browser route).
- Wayfair: 30–70 % of product pages deliver. Listing runs may stop early to keep costs bounded, and Wayfair sometimes blocks a listing's first page outright. Use 2 GB of memory for Wayfair listing and search URLs: its pages are heavy enough to reach the 1 GB limit.
- Bloomingdale's: 80–97 % of product pages deliver.
- Sephora: product pages only.
- Columbia: some pages need the browser route.
- Noon: high success. Akamai bursts are retried at the end of the run.
- Amazon: storefronts outside the US often need residential traffic. In our latest cloud tests amazon.de delivered 84 % and amazon.co.uk 95 % of deliverable products; Amazon occasionally serves empty pages or captchas, so expect some run-to-run variation. Pages that say the product cannot ship to the proxy's location are retried on another route; if they are still blocked, the product is delivered without a price and with a note.
- Amazon reviews: only the top reviews shown on the product page (about 8 to 13 per product). Amazon's full review pages require signing in, so the Actor does not page past them. When Amazon shows "Sign in to see customer reviews" instead of the top reviews, the Actor retries once and then reports the product as
restrictedwith that reason, never as an empty success. A product with no reviews at all is reported asnot-found. - Google Shopping: "Reviews" mode is not available (Google loads those reviews in the browser), so it returns an explanatory status row. An answer for the wrong market gets one retry and is then reported as blocked, and not billed. Google may truncate long product titles in listings.
- Scrape mode
BROWSERlowers success on Walmart and Target. UseAUTO. - Amazon Influencer storefronts: list posts only. Photo and video posts are not included.
likesis always null, because Amazon does not publish likes without a login. List pages show about 8 products per list. - Food delivery: Glovo and DoorDash keyword search matches store names only. Instacart keyword search is client-side only, so use Instacart category URLs. Text reviews are available on DoorDash only; Wolt and Glovo give a rating and a count.
- First page only: listings and searches on IKEA, Idealo, J.Crew, Lidl, Sainsbury's, Ocado, Morrisons, Space NK and Takealot read the first page of results. Craigslist's first page holds about 340 results.
- Reviews: AliExpress reviews can be rating-only (no text). Review sorting depends on the site: unsupported sorts fall back to the site's default, as noted in
sortAppliedand the status row. Review listing and keyword inputs read the first listing page. Loox and Reviews.io widgets are not read; the page's structured reviews are used instead. - AliExpress and Shein product pages answer with a captcha. AliExpress search, listings and reviews still work, and AliExpress seller rows carry the store name and ids only.
- Mercado Libre reviews work for catalog URLs (
/p/MLM…). Seller profiles are not supported (they require an authenticated account). - Remote URL lists (
requestsFromUrl) are not fetched yet. Paste the URLs directly.
Is it legal to scrape e-commerce sites?
This Actor collects publicly available information: product listings, prices, public reviews and published business contact details. Review each website's terms of service before scraping it, and use the data lawfully. Reviews and seller data can contain personal data, so do not collect or process it without a legitimate reason, and follow GDPR, CCPA and other applicable laws. If you are unsure, consult a lawyer. This Actor is an independent tool and is not affiliated with, or endorsed by, any of the retailers listed.
FAQ
Why did my run return no products?
Open the Status per input view (or the OUTPUT record). Every input has a row explaining what happened: blocked with the anti-bot vendor in blockedBy, not-found for missing pages, unsupported for sites in the unsupported list, skipped for inputs not reached before your caps, cost limit or timeout. If every input was unsupported or invalid, or every attempted input was blocked, the run is marked failed, with the reason per URL in the Status dataset. Blocked and empty pages are never charged.
Why are there two datasets? Data rows (products, reviews, sellers, …) are in the default dataset, so exports contain only data. The per-input status rows are in the separate Status dataset, linked from the run's Output tab as "Status per input".
Do I need my own proxies or API keys? No. Datacenter, residential and browser routes are chosen automatically and billed as described above. The AI summary also runs without your own key.
Can I switch from the E-commerce Scraping Tool without changing my integration?
Yes for the input: the field names are identical, so paste your input as-is. Rows keep the main output field names that tool documents, plus flat fields; check your integration against a sample run. Status / error details are in the Status dataset rather than an errors dataset.
My site is not in the matrix. Will it work? It often does if the site is a Shopify, WooCommerce, BigCommerce, PrestaShop, Magento or Salesforce Commerce store, or any store with schema.org product data. Try one URL first. The status row tells you what happened, and you are not charged for pages that fail.
Found a bug or need a site? Open an issue on the Actor's Issues tab with the input URL and the run ID.