Skip to main content

E-commerce Price Scraper: What It Costs and What It Reaches

Apify's E-commerce Scraping Tool is a pay-per-event price scraper. It charges $0.0015/product subject to change · verified 2026-09-09 on the $19 Starter plan and $0.006 per product on the free plan, so 1,000 products cost $1.50 or $6.00 depending on which plan you are on. You feed it product URLs, category URLs, or a keyword plus a marketplace, and it returns name, price, currency, brand, images and description as structured rows. No code, and no per-site parser to maintain.

Per 1,000 products$1.50 Starter / $6.00 free
Keyword-search domains249
30-day run success rate94.4%
ExportCSV, JSON, XLSX, XML

Everything below was read from api.apify.com and apify.com/pricing on 2026-09-09. Where a number is derived, the arithmetic is shown.

What does an e-commerce price scraper cost per 1,000 products?​

The Actor bills per event, not per minute. Every event has its own price and every price drops as your Apify plan goes up. These are the rates from the Actor's live pricing record, which took effect on 2026-08-25:

Charged eventFree planStarter ($19/mo)
Product detail (the main one)$0.006$0.0015
Listing page, per pagination page$0.0005$0.00042
Residential proxy, per product$0.003$0.001
Browser rendering, per product$0.0006$0.00057
Review$0.002$0.001
Seller page$0.003$0.002
AI summary$0.0075$0.004
Run start, once per run$0.0001$0.00009

Source: https://api.apify.com/v2/acts/apify~e-commerce-scraping-tool, fetched 2026-09-09. The Actor's own worked examples confirm the second column is the Starter tier: it states that 5,000 listing pages cost $2.10 on Starter, and 5,000 × $0.00042 = $2.10.

Two rows in that table decide most bills.

The listing-page fee is charged per pagination page, not per product on it. A category page showing 48 products costs $0.00042 on Starter, not 48 × $0.00042. If you only need name and price from a grid, listing URLs are roughly two orders of magnitude cheaper than detail URLs.

And the free-plan detail rate is four times the Starter rate. The free plan's $5 monthly credit buys about 833 product records ($5 ÷ $0.006 = 833). That is enough to prove the tool works on your catalogue. It is not enough to monitor one.

Three worked monthly costs​

What you runArithmeticMonthly cost
1,000 product URLs, once, HTTP + datacenter, Starter1,000 × $0.0015$1.50
500 SKUs daily, HTTP + datacenter, Starter500 × 30 × $0.0015$22.50
500 SKUs daily, browser rendering on500 × 30 × ($0.0015 + $0.00057)$31.05
500 SKUs daily, residential proxy on500 × 30 × ($0.0015 + $0.001)$37.50

That third and fourth line are the reason to leave Scrape mode on Auto. Turning browser rendering on for the whole run because two domains needed it raises a $22.50 month to $31.05. The add-ons are per product, not per domain.

Starter includes $19 of platform usage per month, so a daily 500-SKU basket runs past it. See Apify pricing for how included usage and overage work across the four plans.

You can cap a run before you start it. The Actor accepts a maximum total charge, and the lowest value it will take is $1.

Which stores can it actually reach?​

There are two different answers, and conflating them is the most common way to waste a run.

Keyword search reaches a fixed list. The marketplace picker holds 249 domain entries covering 81 distinct retailers (counted from the Actor's input schema on 2026-09-09). The count is inflated by country variants: 78 of the 249 entries are IKEA locale sites, 24 are Craigslist cities, 23 are Amazon domains, 18 are Mercado Libre, and 8 are eBay. Amazon, Walmart, eBay, Alibaba, Target, Best Buy, Costco, Home Depot, Lowe's, Tesco, Argos, Chewy, Sephora and Wayfair are all in it.

Etsy, Shopify storefronts, AliExpress, Temu and Shein are not in the picker. Neither are Zalando, Otto, Flipkart or Rakuten.

URL input is open. Apify's Actor README states it "works with any online store with publicly accessible product pages" and names Etsy, AliExpress, Shopify, WooCommerce, Magento and BigCommerce stores explicitly. The stores missing from the picker are therefore still scrapeable. You just supply the product or category URLs yourself instead of searching by keyword.

A separate picker covers delivery platforms, and it is short: DoorDash, Glovo, Instacart and Wolt.

If your target is a Shopify or WooCommerce store, skip the keyword field entirely and paste category listing URLs. If your target is one of the 81 named retailers and you do not have URLs yet, keyword search saves you the crawl.

How do you run your first price scrape?​

  1. Open the E-commerce Scraping Tool and click Try for free. Sign-up needs no card; the free plan starts with $5 of monthly usage.
  2. Pick one input mode. Product detail URLs for a known basket of SKUs. Category listing URLs for a whole grid at the cheap listing rate. Keyword + marketplaces to discover products on one of the 249 domains.
  3. Leave Scrape mode on Auto. It picks HTTP or browser per request. Force Browser only after a test run comes back with empty prices.
  4. Set Total maximum products. Without it a category crawl decides your bill for you.
  5. Set a maximum total charge in the run options, and raise the timeout. The default is 900 seconds — 15 minutes — which a large category crawl will not finish inside.
  6. Start the run, then open Storage. There are two datasets, and the second one matters.

What comes back in the dataset?​

The Actor publishes three dataset views: Product Details, Product Reviews, and Seller Info. These are the fields in the Product Details view, taken from the Actor's dataset schema on 2026-09-09:

Output Data Fields
FieldDescriptionExample
urlCanonical product page URLhttps://www.example-store.com/p/12345
inputUrlThe URL you supplied, before redirectshttps://www.example-store.com/p/12345
nameProduct nameWireless Keyboard K380
offersObject holding price and priceCurrency{ price, priceCurrency }
brandBrand object{ name }
descriptionProduct description textMulti-device Bluetooth keyboard...
imageMain product image URLhttps://.../k380.jpg
additionalPropertiesSite-specific extras, on when Include additional properties is enabled[ ... ]
aiSummaryOnly present if you enable the AI summary eventnull
keywordThe search keyword that found this product, if anynull
Product Details record shape

Field shape from the Actor's published dataset view, verified 2026-09-09. Values are illustrative; run the Actor against your own URLs for real ones.

{
"url": "https://www.example-store.com/p/12345",
"inputUrl": "https://www.example-store.com/p/12345",
"name": "Wireless Keyboard K380",
"offers": { "price": 39.99, "priceCurrency": "USD" },
"brand": { "name": "ExampleBrand" },
"description": "Multi-device Bluetooth keyboard.",
"image": "https://www.example-store.com/img/k380.jpg",
"additionalProperties": [],
"aiSummary": null,
"keyword": null
}

The second dataset is called errors. It holds one row per URL that could not be scraped, with an error code and a description. When a run returns 380 rows for 500 URLs, that dataset is the answer, and most people never open it.

Exports are JSON, JSONL, CSV, HTML, XLSX, XML and RSS, per Apify's dataset docs. Same rows through the API by dataset ID. Our Apify storage guide covers the API side.

Where does this Actor fail?​

Apify publishes 30-day run statistics for every public Actor. These are this Actor's, read on 2026-09-09 from api.apify.com, across 131,951 runs:

OutcomeRunsShare
Succeeded124,58594.4%
Timed out5,7974.4%
Failed1,3921.1%
Aborted by user1770.1%

Timeouts outnumber hard failures four to one. That is a configuration problem, not a scraper problem: the Actor ships with a 900-second (15-minute) default run timeout, and a large category crawl does not finish in 15 minutes. Raise it before the run, not after.

The remaining 1.1% is the genuine blocking-and-parsing tail. Two paid events exist to fix it: residential proxy and browser rendering. Both bill per product, so switching them on globally is expensive insurance against a problem that hits roughly one run in ninety.

The Actor holds a 4.67 rating from 50 reviews and had 610 distinct users in the last 30 days.

When is a different scraper the better pick?​

This one returns a generic, schema.org-shaped field set: name, offers, brand, description, image. That is the trade for covering hundreds of stores from one input form, and it is a real trade.

  • You only ever scrape one retailer. A retailer-specific Actor returns retailer-specific fields — ASINs, seller ranks, variant matrices — that a generic tool does not promise. Start at Best e-commerce scrapers on Apify, or go straight to the Amazon guide.
  • You need under 833 products a month. Stay on the free plan and never pay. At $0.006 per product, $5 of credit is 833 records.
  • You already run your own crawler. You are paying for parsing you already have. What you actually need is unblocking, which is a proxy purchase, not a scraper purchase.
  • You need diffs and alerts, not a dataset. Scraping is the easy half. The scheduling, storage and change-detection half is covered in E-commerce price monitoring.

Scrape public listing data only, at a rate the site can absorb. Is web scraping legal? covers where that line sits.

Run 833 products for free before you decide

The free plan's $5 credit covers about 833 product records at the free-tier rate, with no card. That is enough to test whether your specific stores parse cleanly, which is the only question that matters before you commit to a paid plan.

Open the E-commerce Scraping Tool on Apify →

Not the right shape for your catalogue? Browse the e-commerce category in the Apify Store for retailer-specific alternatives.

Frequently Asked Questions

$1.50 on Apify's $19 Starter plan and $6.00 on the free plan, at the per-product rates verified on 2026-09-09. Residential proxy adds $0.001 per product on Starter and browser rendering adds $0.00057. Category listing pages are billed separately at $0.00042 per pagination page, regardless of how many products are on the page.

Keyword search is limited to 249 domains covering 81 retailers, including Amazon, Walmart, eBay, Alibaba, Target, Best Buy, Costco, Tesco and Argos. Etsy, Shopify storefronts, AliExpress, Temu and Shein are not in that picker. Apify's Actor README states URL input works with any store that has publicly accessible product pages, so those sites are still scrapeable if you supply the URLs.

Most likely the 900-second (15-minute) default run timeout. Across the 131,951 runs in the 30 days to 2026-09-09, 4.4% timed out and only 1.1% failed outright, so a truncated run is far more often a clock problem than a blocking problem. Raise the timeout in the run options before a large crawl.

Yes. Set a maximum total charge in the run options. The lowest value the Actor accepts is $1. Pair it with Total maximum products so a category crawl cannot expand past your budget.

JSON, JSONL, CSV, HTML, XLSX, XML and RSS, per Apify's dataset documentation, plus the same rows over the Apify API by dataset ID. See Apify storage.

It depends on jurisdiction, the site's terms, and whether the data is publicly visible without bypassing an access control. Public price listings scraped at a respectful rate are the safest case. See Is web scraping legal? for the boundaries.

Yassine El Haddad

Software Developer & Automation Specialist

Common mistakes and fixes

The run stops before it finishes and the log ends mid-crawl.

The Actor's default run timeout is 900 seconds (15 minutes). Timeouts are the largest failure class on this Actor (4.4% of runs in the 30 days to 2026-09-09). Raise the timeout in the run options before a large category crawl.

Prices come back empty or the run returns fewer rows than URLs supplied.

Open the run's second dataset, named errors: it lists every URL that could not be scraped, with an error code and description. Then set Scrape mode to Browser for JavaScript-rendered prices, and enable residential proxy only for the domains that need it — both are billed per product on top of the base rate.

Keyword search returns nothing for my store.

Keyword search only reaches the 249 domains in the marketplace picker. Etsy, Shopify storefronts, AliExpress, Temu and Shein are not among them. Pass those product or category URLs directly instead.