E-commerce Product Scraper - Prices, Stock, GTIN & Variants avatar

E-commerce Product Scraper - Prices, Stock, GTIN & Variants

Pricing

from $0.45 / 1,000 product scrapeds

Go to Apify Store
E-commerce Product Scraper - Prices, Stock, GTIN & Variants

E-commerce Product Scraper - Prices, Stock, GTIN & Variants

Scrape products from any online store for $0.45 per 1,000: price, sale price, currency, stock, brand, SKU, GTIN, images, rating, variants and breadcrumbs. Product, category, collection and search pages; Shopify, WooCommerce, VTEX and any schema.org store. Price monitor.

Pricing

from $0.45 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Top Api

Top Api

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

What does E-commerce Product Scraper do?

E-commerce Product Scraper turns any online-store URL into clean product rows: name, price, sale price, currency, stock, brand, SKU, GTIN, MPN, images, rating, review count, variants, category and where the product came from. Paste a product page, a category or collection page, a search page or a store home page, or search inside any store by keyword. One row per product, from as many stores as you like in one run.

E-commerce product scraper - product data scraper - price scraper - online store product extractor - Shopify / WooCommerce product export

  • ๐Ÿ›’ Any store - reads the product data the store publishes for search engines (schema.org JSON-LD, microdata, RDFa, OpenGraph product tags), so independent shops, brand sites and big retailers all work the same way.
  • โšก Store platforms read natively - Shopify, WooCommerce and VTEX stores are read through their own open product feeds: full variant lists with SKU, barcode, price, compare-at price and stock, 100-250 products per request.
  • ๐Ÿท๏ธ Variants and identifiers - every size and colour with its own SKU, GTIN, price, stock and image; or one row per variant.
  • ๐Ÿ“‰ Price and stock monitor - schedule it and get only new products, or products whose price, sale price or stock changed, with the previous values.
  • ๐Ÿšš Shipping and returns - shipping cost, delivery days and return policy when the store publishes them.
  • ๐Ÿ”“ No login, no cookies, no API key - public store pages only.
  • ๐Ÿ”Œ Export and integrate - JSON, CSV, Excel, API, webhooks, Make, Zapier, n8n, MCP for AI agents.

What data can you get from an online store?

๐Ÿท๏ธ Name name๐Ÿ’ฒ Price price๐Ÿ”– Original price originalPrice
๐Ÿ“‰ Discount % discountPercent๐Ÿ’ฑ Currency currency๐Ÿ“ฆ Stock availability / inStock
๐Ÿข Brand brand๐Ÿ”ข SKU sku๐Ÿ“‡ GTIN / EAN / UPC gtin
๐Ÿ”ฉ MPN mpn๐Ÿ†” Store product id productId๐Ÿ–ผ๏ธ Images image / images
โญ Rating rating๐Ÿ’ฌ Review count reviewCount๐Ÿงญ Category / breadcrumbs
๐ŸŽจ Variants (size, colour...) variants๐Ÿ“ Description description๐Ÿ“‹ Specifications specifications
๐Ÿšš Shipping cost and days shippingCostโ†ฉ๏ธ Return policy returnsPolicy๐Ÿ’ณ Installments paymentPlans
๐Ÿช Seller seller๐Ÿงฑ Store platform platform๐Ÿ”— URL, store, source page

How to scrape product data with E-commerce Product Scraper

  1. Create a free Apify account (it comes with monthly platform credit).
  2. Open E-commerce Product Scraper and paste store URLs under Start URLs: product pages, category or collection pages, search pages or home pages.
  3. Or type a Keyword and the Stores to search in (e.g. backpack in bergfreunde.eu, nalgene.com).
  4. Set Total maximum products and any filters (in stock only, price range, discounted only).
  5. Click Start, then download the products as JSON, CSV or Excel, or read them through the API.

โฌ‡๏ธ Input

ParameterTypeDescription
startUrlsarrayAny store URL: product, category / collection, search or home page. Type detected automatically. Prefilled.
detailsUrlsarrayURLs you know are single product pages.
listingUrlsarrayURLs you know are category, collection or search pages; pagination is followed.
keyword / keywordsstring / listSearch terms, searched inside every store in storeUrls with the store's own search.
storeUrlslistStores for the keyword search (domains or URLs). Empty = the stores of your Start URLs.
maxListingPagesintegerListing pages to follow per URL. Default 20.
onlyInStock, onlyOnSale, minPrice, maxPrice, onlyWithGtinfiltersApplied before a product is saved; removed products are not charged.
updatedSincedateSkip products the store says were last updated earlier (2026-10-01 or 7 days). Shopify stores publish this date.
urlIncludePatterns / urlExcludePatternslistKeep / skip product URLs containing a text or regular expression.
scrapeProductDetailsbooleanOpen each listed product for what only its page has (rating, GTIN, breadcrumbs, shipping). Default on.
includeVariants, additionalProperties, includeReviews, includeDescriptionbooleansWhat each row carries.
monitorMode, monitorChanges, monitorStoreNamemonitoringOnly new products, plus price / stock changes, remembered in a named store.
maxProductResultsintegerProducts per run (0 = no limit). Default 50, prefilled 20.
maxResultsPerUrlintegerCap per start URL or keyword-and-store search, so one big catalogue does not use up the total.
compact, splitVariants, descriptionMaxLengthoutputCore fields only; one row per variant; shorter descriptions.
proxyConfiguration, useResidentialFallback, useUnblockerFallbacknetworkDefault: direct, then datacenter, residential and Unblocker only for a store that refuses.
maxConcurrency, maxConcurrencyPerStore, requestTimeoutSecs, maxRunSecondsspeedParallel pages overall (8) and per store (4).

Input JSON

{
"startUrls": [
{ "url": "https://www.allbirds.com/collections/mens" },
{ "url": "https://www.ikea.com/us/en/cat/bookcases-shelving-units-st002/" },
{ "url": "https://www.bergfreunde.eu/stoic-nijakst-ii-backpack-18-walking-backpack/" }
],
"keyword": "bottle",
"storeUrls": ["nalgene.com"],
"onlyInStock": true,
"maxResultsPerUrl": 25,
"maxProductResults": 100
}

Paste the page that lists the products you want

A collection, category or search page gives you every product it lists, page after page. A store's home page reads its whole catalogue on Shopify and WooCommerce stores; on other stores it reads the products the home page links to. A product page gives that one product.

Use maxResultsPerUrl when you mix stores

Products are collected from all your URLs at once and the run stops at Total maximum products. A fast store can fill that total before a slow one starts; set maxResultsPerUrl to give each URL its own share.

โฌ†๏ธ Output

E-commerce Product Scraper output - product rows from seven stores with price, stock, SKU, GTIN and rating

A real row (bergfreunde.eu, run 08Re5Qwm1rV0nMnRc, trimmed):

{
"url": "https://www.bergfreunde.eu/stoic-nijakst-ii-backpack-18-walking-backpack/",
"name": "Stoic - NijakSt. II Backpack 18 - Walking backpack",
"brand": "Stoic",
"price": 71.97,
"currency": "EUR",
"availability": "InStock",
"inStock": true,
"sku": "504-1788",
"rating": 5,
"reviewCount": 1,
"category": "Outdoor equipment > Backpacks > Walking backpacks",
"variantCount": 3,
"shippingCost": { "amount": 4.45, "currency": "EUR", "destination": "AT" },
"deliveryTime": { "handlingDaysMin": 1, "handlingDaysMax": 1, "transitDaysMin": 1, "transitDaysMax": 2 },
"returnsPolicy": { "category": "MerchantReturnFiniteReturnWindow", "days": 100, "fees": "FreeReturn", "method": "ReturnByMail" },
"marketplace": "bergfreunde.eu",
"detailStatus": "detail-page",
"extractionMethod": "json-ld",
"fetchedVia": "direct"
}

Fields

Fill rates from a 93-product run across seven stores (IKEA, Bergfreunde, ColourPop, WebstaurantStore, Naldo, Nalgene, MUJI; run iPdzncxl6t3mOgjLm). A field is filled when the store publishes it.

FieldMeaningFilled
url, name, price, currency, availability, inStock, image, images, brand, categoryThe product and its offer100%
offersThe same offer in the schema.org shape (price, priceCurrency, availability...)100%
skuStore SKU84%
breadcrumbsThe page's breadcrumb trail68%
productIdShopify / WooCommerce / VTEX / schema.org product id68%
rating, reviewCountAverage rating and number of reviews67%
mpnManufacturer part number54%
gtinGTIN / EAN / UPC (8-14 digits) on the product; variants carry their own45%
variants, variantCountSizes, colours, options with SKU, GTIN, price, stock, image45%
seller, conditionSeller and condition named in the offer48-49%
returnsPolicyReturn window, fees, method32%
specifications, categoriesSpecification table; platform categories32%
productType, tags, createdAt, publishedAt, updatedAt, handleShopify / WooCommerce catalogue data16-35%
originalPrice, discountPercentPrice before the discount, when discounted19%
shipping, shippingCost, deliveryTimeShipping offers from the page16%
paymentPlans, paymentMethods, warrantyInstallments and warranty (VTEX stores)16%
platform, marketplace, inputUrl, sourceUrl, keywordWhere the product came from-
detailStatus, extractionMethod, fetchedViaHow it was read: platform feed or page, which sources, which route100%
monitorStatus, previousPrice, previousAvailability, priceChange, changedFields, firstSeenAtMonitor mode only-

The run summary (key-value store record RUN_SUMMARY) lists, per input, how many products were found and delivered, the platform and method used, and every page not read with the reason (not found, refused, no product data).

How can I use online store product data?

  • ๐Ÿ’ฒ Pricing teams - track competitors' prices, discounts and stock across many stores in one scheduled run, with only the changes delivered.
  • ๐Ÿ›๏ธ Marketplaces and comparison sites - fill a catalogue with GTINs, brands, images and variants from brand stores.
  • ๐Ÿ“ฆ Brands and distributors - check how resellers list, price and stock your products (MAP monitoring).
  • ๐Ÿ”Ž Market researchers - pull whole categories with ratings and review counts to size a niche.
  • ๐Ÿค– AI and agent builders - feed clean product rows (compact mode) to an LLM or a shopping assistant.
  • ๐Ÿ“ˆ Dropshippers and buyers - watch a supplier's catalogue for new products and stock changes.

How much does it cost to scrape products?

E-commerce Product Scraper is pay-per-result: $0.45 per 1,000 products, no start fee and no fee per listing page. Pages without product data, products your filters remove, duplicates and unchanged monitor products are not charged.

ProductsCost
100$0.045
1,000$0.45
10,000$4.50
100,000$45.00

Two surcharges apply only to products from stores that refuse normal requests, because those pages go through paid proxies: +$7.60 per 1,000 for products read through the residential proxy and +$6.20 per 1,000 for products read through the Unblocker. Every row's fetchedVia field says which route read it. Measured speed on the default 512 MB: 93 products from seven stores in 23 s; 1,000 products from one Shopify store in 8 minutes.

Integrations, API, scheduling & MCP

  • Schedules: run E-commerce Product Scraper daily or hourly from the Schedules tab; turn on Monitor mode to get only new products and price or stock changes.
  • Webhooks: call a URL when a run finishes to push products to your database, Slack or a sheet.
  • No-code: Make, Zapier, n8n, Google Sheets, Airtable via Apify integrations.
  • API: start runs and read products with apify-client - code on the API tab and the Apify API reference.
  • MCP / AI agents: connect Claude, Cursor or any MCP client through the MCP tab and ask for products from a store in plain language.

More e-commerce scrapers

๐Ÿ‘— SHEIN Product Scraper๐Ÿ›๏ธ TikTok Shop Scraper๐ŸŒŽ MercadoLibre Scraper
๐Ÿฎ Taobao & Tmall Product Scraper๐Ÿ‡ฐ๐Ÿ‡ท Naver Shopping Scraper๐Ÿงฑ Website Technology Scraper (which platform a store runs on)

All our actors: apify.com/TopApi.

Limits & empty runs

  • Stores that render products with JavaScript only: product pages almost always carry structured data, but some search and category pages build their product list in the browser (Target, Best Buy and Zumiez search pages in our tests). Paste category or product URLs of those stores instead.
  • Marketplaces with bot walls: each store is tried directly, then through the datacenter proxy, the residential proxy and the Unblocker. A store that refuses every route (eBay and Etsy search pages in our tests) is named in the run summary and nothing is charged for it. Walmart opened only through the Unblocker, and its pages carry no schema.org product data, so they yield no rows.
  • Platform caps: Shopify catalogue feeds go to 25,000 products per store; VTEX search to 2,500 per query; WooCommerce has no cap.
  • Prices follow the store's market: many stores price by visitor country. Pick a proxy country to see that market's prices; every row carries its currency.
  • Empty dataset: the run summary says why: page not found, refused on every route, no product data on the page, or filters removed everything. Nothing is charged.

FAQ

How many products can E-commerce Product Scraper collect in one run?

As many as you set in Total maximum products (0 = no limit). On Shopify and WooCommerce stores whole catalogues are read through the store's feed; on other stores every listing page is followed up to Max listing pages per URL.

Can E-commerce Product Scraper track price changes on a schedule?

Yes. Turn on Monitor mode, save the input as a task and schedule it. Each run delivers only products that are new or whose price, original price or stock changed, with previousPrice, previousAvailability and changedFields. Unchanged products are not charged.

Which stores does E-commerce Product Scraper work with?

Any store whose pages publish product data for search engines (schema.org JSON-LD, microdata, RDFa or OpenGraph product tags), which most stores do. Shopify, WooCommerce and VTEX stores are also read through their own product feeds for full variant data.

Can E-commerce Product Scraper search for a keyword inside a store?

Yes. Put the keyword under Keyword search and the stores under Stores to search in. It uses the store's own search (Shopify, WooCommerce, VTEX, Magento, BigCommerce, or the search address the store declares).

Can I get one row per variant with E-commerce Product Scraper?

Yes, turn on One row per variant: each size or colour becomes a row with its own SKU, GTIN, price and stock, linked to its product by parentId. Each row is charged as a product.

Can I use E-commerce Product Scraper with the Apify API?

Yes. Use apify-client for Node.js or Python to start runs and read products; the API tab has code ready to paste.

Can I use E-commerce Product Scraper through an MCP server?

Yes. Open the MCP tab, connect Claude Desktop, Cursor or another MCP client and ask for products from a store URL. Turn on Compact output for short rows.

Do I need an account, cookies or an API key for E-commerce Product Scraper?

No. It reads public store pages only; you paste URLs or a keyword and a store.

Why did E-commerce Product Scraper return no products?

Open the RUN_SUMMARY record: it lists each page not read and why. The usual causes are a page that is not a product or listing page (a blog or help page), a search page that lists products only through JavaScript (paste a category URL instead), filters that removed everything, or a store that refused every route.

E-commerce Product Scraper extracts only publicly available product information - names, prices, stock and store details. It does not log in or collect private data.

Your feedback

Missing a store, a field or a platform? Open an issue on the Issues tab and we will look at it.