# Apify E-commerce Scraping Tool Alternative: Same Input

> An alternative to Apify's E-commerce Scraping Tool that takes the same input JSON: what stays, what's added, how sites and pricing differ, and a checklist.

- URL: https://datatooly.xyz/guides/switch-from-apify-ecommerce-scraping-tool/
- Author: Omar Eldeeb (https://datatooly.xyz/about/)
- Published: 2026-10-20
- Updated: 2026-10-20
- Free tool: [E-commerce price tracker — scrape product prices, stock and variants](https://datatooly.xyz/ecommerce-price-tracker/)
- Tags: ecommerce, webscraping, python, api

E-commerce Product Scraper Pro is an alternative to Apify's E-commerce Scraping Tool that takes the same input: all 38 field names, types and options, so your input JSON runs after you change the actor ID. It adds monitor mode, per-input caps, variants and a proxy-country option. It supports fewer sites, and its pricing differs: cheaper per product, more expensive on residential and browser pages.

I built E-commerce Product Scraper Pro. This page tries to give a fair account of when switching makes sense and when it doesn't. Facts about the E-commerce Scraping Tool come from its Store page, its input schema and its public pricing record, all checked on 2026-10-20. Apify maintains it, and its public actor record on the Apify API showed 848 users in the last 30 days.

## What stays the same

**The input.** Every field of the E-commerce Scraping Tool's input schema exists in the alternative with the same name, type and options: `detailsUrls`, `listingUrls`, `keyword`, `marketplaces`, `scrapeMode`, the AI summary fields, the review, seller and influencer sections, the Google Shopping ("search engine") section and the food-delivery section. The internal `disableFallbacks` flag is accepted and ignored.

One exception as of today: the E-commerce Scraping Tool's build of 2026-10-20 added `www.walmart.com.mx` and `www.bodegaaurrera.com.mx` to its `marketplaces` and `marketplacesReviews` options. The alternative's input schema doesn't list those two yet, so an input that selects them won't validate there.

**The main output fields.** Product rows keep the field names the E-commerce Scraping Tool documents: `url`, `inputUrl`, `name`, `image`, `offers` (`price`, `priceCurrency`), `brand`, `description`, `additionalProperties`, `aiSummary` and `keyword`, plus the review, seller and influencer keys. The compatibility was checked against that tool's documented dataset views and samples, not field by field on its live output, so check your own integration against a sample run (script below).

## What's added on top

| Addition | What it does |
|---|---|
| `maxItemsPerStartUrl` | A cap per input (per product URL, listing, keyword and marketplace, review input or storefront), so one large category can't use the whole run |
| `followPagination` | Turn off next-page following on listings (on by default) |
| `includeVariants` | A `variants[]` array with each variant's SKU, options, price and stock (on by default) |
| `proxyCountry` | Pin the residential exit to a country, to get prices in that market's currency |
| `monitorMode`, `onlyChanges` | Compare with the previous run: `price-down`, `price-up`, `back-in-stock`, `out-of-stock`, `removed`; optionally write only changes |

Every row also has flat, spreadsheet-friendly fields next to the nested ones (`price`, `currency`, `originalPrice`, `unitPrice`, `inStock`, `stockQty`, `sku`, `gtin`, `images`) and a `recordType` (`product`, `review`, `seller`, `influencerPost`, `search-result`, `delivery`). The README publishes a supported-sites table with each site's status and route.

## What's different

### Sites

The E-commerce Scraping Tool's Store page names eBay, Etsy, Best Buy, Home Depot, Costco, Alibaba, Argos and Mercado Livre among the marketplaces it works with. On 2026-10-19 its pricing record added an "Unblocker" proxy for "stores that block even residential proxies".

E-commerce Product Scraper Pro marks those sites **unsupported**: eBay, Etsy, Best Buy, Home Depot, Lowe's, Costco, Alibaba, Allegro, Newegg, Argos, Mercado Livre (Brazil) and about 30 more. Inputs for them get a status row explaining why and aren't fetched or billed beyond the run's start fee. If your work depends on those marketplaces, keep using the E-commerce Scraping Tool for them. You can split your inputs and run each actor on the sites it handles.

Sites the alternative lists as supported after its own cloud tests: Shopify and WooCommerce stores, Amazon (amazon.com and amazon.de supported, 22 other storefronts best-effort), Walmart, Target, Zalando, John Lewis, M&S, Aldi UK and Waitrose. Several more are best-effort; the table on the actor page lists each one.

### Where errors go

The E-commerce Scraping Tool writes failures to a named `errors` dataset. The alternative writes **one status row per input** (successes too) to a separate dataset, linked on the run's Output tab as "Status per input". Through the API it's `run["storageIds"]["datasets"]["status"]`. The `error` field uses the same error codes as the E-commerce Scraping Tool's documented errors, and `outcome`, `blockedBy`, `itemsFound`, `itemsDelivered` and `stopReason` say what happened.

### Pricing

Both are pay per event. Prices below are from the E-commerce Scraping Tool's public pricing record (in effect since 2026-10-19; its Store page headline says "from $1.00 / 1,000 product details") and from E-commerce Product Scraper Pro's pricing table, for Apify's FREE and GOLD plan tiers:

| Event | E-commerce Scraping Tool (FREE / GOLD) | E-commerce Product Scraper Pro (FREE / GOLD) |
|---|---|---|
| Run start | $0.0001 / $0.00007 | $0.005 / $0.005 (per GB of memory) |
| Product | $0.006 / $0.001 | $0.0048 / $0.0008 |
| Listing page | $0.0005 / $0.00026 | $0.0004 / $0.00021 |
| Review | $0.002 / $0.0007 | $0.0016 / $0.00056 |
| Seller | $0.003 / $0.001 | $0.0024 / $0.0008 |
| AI summary | $0.0075 / $0.00275 | $0.006 / $0.0022 |
| Residential proxy | $0.003 / $0.0008 flat per product | $0.018 / $0.014 per MB used to deliver the item |
| Browser rendering | $0.0006 / $0.00051 flat per product | $0.008 / $0.006 per render, plus residential MB |
| Unblocker proxy | $0.0015 / $0.001 per product | not offered (those sites are unsupported) |
| Google Shopping request | no separate event in its pricing record | $0.0045 / $0.0035 per successful request |

The E-commerce Scraping Tool also has PLATINUM and DIAMOND tiers with lower prices (for example $0.0005 per product on DIAMOND). On the alternative, those plans pay the GOLD price.

What that means in practice:

- **Datacenter sites (Shopify, WooCommerce, amazon.com, Walmart, Target and others):** the alternative is cheaper once the per-product saving covers its higher start fee. On FREE that's from 5 products per run: the start fee costs $0.005 − $0.0001 = $0.0049 more, and each product saves $0.0012. On GOLD it's from 25 products per run ($0.00493 ÷ $0.0002 = 24.7).
- **Residential sites:** usually more expensive on the alternative. Its README example is 100 amazon.co.uk products at $0.46–$0.71 on GOLD. If all 100 needed the E-commerce Scraping Tool's residential fee, they'd cost 100 × ($0.001 + $0.0008) + $0.00007 ≈ $0.18 there.
- **Browser sites (Noon, Wayfair, Sephora and others):** more expensive on the alternative, by its design: it bills each render and its traffic instead of a flat fee.
- **Monitoring:** with `onlyChanges`, unchanged products are billed as "product checked" ($0.0012 FREE, $0.0002 GOLD) instead of a full product. The E-commerce Scraping Tool's input has no monitor-mode option.

The alternative doesn't charge for items that never delivered: blocked or empty pages cost nothing, and their residential traffic and renders aren't billed. Apify's free plan includes $5 of usage every month, with no credit card required. Neither actor needs your own proxies.

## Python: run your existing input and check the fields you use

Paste your current input into `RUN_INPUT` and list the fields your code reads:

```python
import os
from collections import Counter
from apify_client import ApifyClient

# Your existing E-commerce Scraping Tool input, unchanged
RUN_INPUT = {
    "detailsUrls": [{"url": "https://www.skullcandy.com/products/crusher-540-active"}],
    "listingUrls": [{"url": "https://www.deathwishcoffee.com/collections/coffee"}],
    "maxProductResults": 5,
}
# The fields your integration reads today (edit to match your code)
FIELDS_I_USE = ["url", "inputUrl", "name", "image", "offers", "brand", "description", "additionalProperties"]

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("constructive_calm/ecommerce-product-scraper-pro").call(run_input=RUN_INPUT)
rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())

print(run["status"], "|", len(rows), "rows |", Counter(r.get("recordType") for r in rows))
missing = {f: sum(f not in r for r in rows) for f in FIELDS_I_USE}
print("missing fields:", {f: n for f, n in missing.items() if n} or "none")
print("offers shape:", rows[0]["offers"], "| brand shape:", rows[0]["brand"])

# Per-input outcomes: a separate "status" dataset (one row per input), not an "errors" dataset
for s in client.dataset(run["storageIds"]["datasets"]["status"]).iterate_items():
    print(s["inputField"], s["outcome"], s["error"], "|", (s["errorDescription"] or "")[:90])
```

Output on 2026-10-20 (`pip install apify-client`, `APIFY_TOKEN` set):

```text
SUCCEEDED | 5 rows | Counter({'product': 5})
missing fields: none
offers shape: {'price': 229.99, 'priceCurrency': 'USD'} | brand shape: {'slogan': 'Skullcandy US'}
detailsUrls ok None | 
listingUrls ok None | 22 product(s) found on 1 page(s); 4 delivered; 18 not scraped; stopped: maxProductResults
```

The input is the E-commerce Scraping Tool's own field set (`detailsUrls`, `listingUrls`, `maxProductResults`) and ran unchanged. To compare values, not just field names, run the same input on both actors and join the rows on `url`.

## Migration checklist

1. **Check your sites** against the supported-sites table on the [actor page](https://apify.com/constructive_calm/ecommerce-product-scraper-pro?fpr=v77kxu). Move unsupported marketplaces to a separate input that stays on the E-commerce Scraping Tool.
2. **Check your marketplace values.** If your input selects `www.walmart.com.mx` or `www.bodegaaurrera.com.mx`, keep those on the E-commerce Scraping Tool for now.
3. **Change the actor ID** everywhere it appears: API calls, saved tasks, schedules, webhooks and integrations (Make, Zapier, n8n, Google Sheets). `apify/e-commerce-scraping-tool` becomes `constructive_calm/ecommerce-product-scraper-pro`. Saved tasks belong to an actor, so create new tasks from the same input.
4. **Run a sample on both** with a small `maxProductResults`, and compare the row counts, prices, currencies and stock flags for the same URLs.
5. **Check output field mapping** with the script above: the fields you read, the `offers` and `brand` shapes, and any `additionalProperties` keys you depend on. Per-site extras in `additionalProperties` differ between the two.
6. **Move error handling** from the `errors` dataset to the status dataset, and decide what counts as a failure (`blocked`, `not-found`, `restricted`, or a zero-row run).
7. **Set a cost cap** with the run's maximum cost (`maxTotalChargeUsd` in the API), and compare the charged events of the sample run with your current costs, especially on residential and browser sites.
8. **Run both in parallel** for a few days before turning the old schedule off.

## Holiday season: switch before the sale, not during it

If you track prices for Black Friday (Friday, November 27, 2026) and Cyber Monday (November 30), do the migration and the side-by-side runs in early November. Changing the scraper mid-season breaks the continuity of your price history, and monitor mode needs at least one run as its baseline. Once switched, `monitorMode` gives you `previousPrice` and `priceChangePct` on every row. See the [Black Friday price tracker](https://datatooly.xyz/guides/black-friday-price-tracker/) for a schedule, and the [holiday sales calendar](https://datatooly.xyz/guides/holiday-sales-calendar-price-tracking/) for the dates.

## Related guides

- [Competitor price monitoring](https://datatooly.xyz/guides/competitor-price-monitoring-scraper/).
- [Price drop alerts to email or Slack](https://datatooly.xyz/guides/price-drop-alerts-email-slack/), built on monitor mode.
- [Scrape product variants](https://datatooly.xyz/guides/scrape-product-variants-sizes-colors/), one of the added options.

## Do it without code

The free [e-commerce price tracker builder](https://datatooly.xyz/ecommerce-price-tracker/) produces a ready-to-run input with the shared field names, and shows a fixed example of the output.

*Disclosure: I built E-commerce Product Scraper Pro and this site. I'm not affiliated with Apify beyond publishing actors on its Store.*

Sources: [E-commerce Scraping Tool on the Apify Store](https://apify.com/apify/e-commerce-scraping-tool?fpr=v77kxu) (marketplaces named, pricing headline), its public actor record and default build on the Apify API (pricing per event, input schema, 30-day users), checked 2026-10-20; the E-commerce Product Scraper Pro README; and an actor run on 2026-10-20.

## Quick answers

### Is there an alternative to Apify's E-commerce Scraping Tool?

Yes. E-commerce Product Scraper Pro (constructive_calm/ecommerce-product-scraper-pro) accepts the same 38 input fields, so an existing input JSON runs unchanged, with two new marketplace values as the exception as of 2026-10-20. It adds monitor mode, per-input caps, variants and a proxy-country option, but supports fewer sites.

### Can I reuse my E-commerce Scraping Tool input JSON in another actor?

With E-commerce Product Scraper Pro, yes: the field names, types and options are the same, and the internal `disableFallbacks` flag is accepted and ignored. On 2026-10-20 the E-commerce Scraping Tool added `www.walmart.com.mx` and `www.bodegaaurrera.com.mx` to its marketplace lists, which the alternative's input schema doesn't list yet.

### How do I switch an Apify actor in my integration?

Replace the actor ID in your API calls, schedules, tasks and integrations (for example apify/e-commerce-scraping-tool becomes constructive_calm/ecommerce-product-scraper-pro), run the same input on both actors once, and compare the rows and the fields your code reads before turning off the old one.

### Is E-commerce Product Scraper Pro cheaper than the E-commerce Scraping Tool?

It depends on the sites. Per product, review and listing page it charges 20% less on every plan up to GOLD, but its run start fee is $0.005 against about $0.0001, and residential and browser pages are billed per MB and per render instead of a flat per-product fee, which usually costs more. PLATINUM and DIAMOND accounts get lower prices on the E-commerce Scraping Tool.

## Related guides

- [Retail Sales Calendar 2026-2027: When to Track Prices](https://datatooly.xyz/guides/holiday-sales-calendar-price-tracking/)
- [Amazon Price History Without Keepa: Build Your Own](https://datatooly.xyz/guides/amazon-price-history-without-keepa/)
- [Amazon Price Scraper: Prices by ASIN on Any Marketplace](https://datatooly.xyz/guides/amazon-price-scraper-asin/)
- [Back in Stock Alert Scraper: Products, Sizes, Colours](https://datatooly.xyz/guides/back-in-stock-alert-scraper/)
- [Back to School Price Tracker: Tax Holidays & Laptops](https://datatooly.xyz/guides/back-to-school-price-tracker/)
- [Compare Black Friday Prices Across Stores (Google Shopping)](https://datatooly.xyz/guides/black-friday-google-shopping-price-comparison/)
- [Black Friday Price Tracker: Watch 2026 Prices Daily](https://datatooly.xyz/guides/black-friday-price-tracker/)
- [Boxing Day Sales Tracker UK 2026: Prices in GBP](https://datatooly.xyz/guides/boxing-day-sales-price-tracker-uk/)
- [Christmas Price Tracker: When to Buy Gifts Cheapest](https://datatooly.xyz/guides/christmas-price-tracker/)
- [Competitor Price Monitoring: Scraper Setup and Cost](https://datatooly.xyz/guides/competitor-price-monitoring-scraper/)
- [Cyber Monday Price Tracker: Hourly Checks for Nov 30](https://datatooly.xyz/guides/cyber-monday-deal-tracker/)
- [Grocery Price Tracker: Build a Basket Index in Python](https://datatooly.xyz/guides/grocery-price-tracker-scraper/)
- [MAP Monitoring: Find Minimum Advertised Price Violations](https://datatooly.xyz/guides/map-price-monitoring/)
- [Price Drop Alerts to Slack or Email with a Scraper](https://datatooly.xyz/guides/price-drop-alerts-email-slack/)
- [Prime Day Price Tracker: ASINs, Big Deal Days, 2027](https://datatooly.xyz/guides/prime-day-price-tracker/)
- [Ramadan Sale Price Tracker 2027: Noon & Amazon UAE](https://datatooly.xyz/guides/ramadan-eid-sales-price-tracking/)
- [Scrape Product Prices with Python from JSON-LD](https://datatooly.xyz/guides/scrape-product-prices-json-ld-python/)
- [Scrape Product Reviews from Walmart, Target and Amazon](https://datatooly.xyz/guides/scrape-product-reviews-walmart-target-amazon/)
- [Scrape Product Variants: Sizes, Colors and Price per SKU](https://datatooly.xyz/guides/scrape-product-variants-sizes-colors/)
- [Fake Black Friday Deals: Check the Real Discount](https://datatooly.xyz/guides/spot-fake-black-friday-discounts/)
- [When Do Black Friday Prices Drop? The 2026 Timeline](https://datatooly.xyz/guides/thanksgiving-black-friday-price-drop-timeline/)
- [Walmart and Target Price Scraper: Search and Product Pages](https://datatooly.xyz/guides/walmart-target-price-scraper/)
- [White Friday & 11.11 Tracker: Noon and Amazon UAE Prices](https://datatooly.xyz/guides/white-friday-11-11-noon-amazon-uae-prices/)
- [Shopify products.json Pagination: 250 Limit and the 25,000 Cap](https://datatooly.xyz/guides/shopify-products-json-pagination/)
- [AI Share of Voice: Measure It in ChatGPT and Perplexity](https://datatooly.xyz/guides/ai-share-of-voice-chatgpt-perplexity/)
