Product Page Scraper: Price, Stock, Brand from Any Shop avatar

Product Page Scraper: Price, Stock, Brand from Any Shop

Pricing

$2.00 / 1,000 products

Go to Apify Store
Product Page Scraper: Price, Stock, Brand from Any Shop

Product Page Scraper: Price, Stock, Brand from Any Shop

Extract product name, price, currency, stock status, brand, SKU, GTIN, rating and image from product pages of almost any online shop, using the structured data shops publish for Google (schema.org). Category pages, price-change tracking for monitoring. $2 per 1,000 products.

Pricing

$2.00 / 1,000 products

Rating

0.0

(0)

Developer

SwiftKit

SwiftKit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Give it product pages from almost any online shop and get clean product rows: name, price, currency, stock status, brand, SKU, GTIN/barcode, MPN, rating, review count, image, category, description and seller. Turn on price tracking and schedule it to see what got cheaper, more expensive or went out of stock since the last run.

How it works: most shops publish structured product data in their pages (schema.org JSON-LD, the same data Google uses for shopping results). The tool reads that first, then microdata, then Open Graph product tags. No site-specific scraping, so it works across Shopify, WooCommerce, Magento, BigCommerce, custom shops and big retailers that publish the data.

  • Category pages: turn on "Find product links" and paste a category or search page; product links on it are collected and extracted
  • Price tracking: previous price, change, % change and "availability changed" per product
  • Polite by design: respects robots.txt, a few pages at a time, and stops at bot checks or waiting-room pages instead of trying to get around them

Who it's for

  • Ecommerce teams: watch competitors' prices and stock on the products that matter.
  • Brands and distributors: check how retailers price and list your products (GTIN matching).
  • Affiliates and comparison sites: keep prices and availability up to date.
  • Analysts: price and rating snapshots across shops.

Input

OptionDefaultWhat it does
Product or category pages–URLs from any shop
Find product links on category pagesoffFollow product links on listing pages
Max products200Stop after this many
Track price changesoffCompare with the previous run
Price history namedefaultSeparate histories
Include descriptiononPlain-text description
Respect robots.txtonSkip disallowed pages
Pages at once4Concurrency

Output

A real result:

{
"url": "https://www.zappos.com/p/crocs-classic-clog-black/product/7153812/color/3",
"status": "ok",
"name": "Classic Clogs",
"brand": "Crocs",
"price": 49.99,
"currency": "USD",
"availability": "InStock",
"rating": 5,
"source": "json-ld",
"site": "zappos.com"
}

With price tracking on, rows also have previousPrice, previousCheckAt, priceChange, priceChangePct and availabilityChanged.

statusMeaning
okProduct extracted.
no_product_dataThe page has no structured product data. Not charged.
blocked_by_bot_protectionThe shop showed a bot check or waiting room. Not charged.
blocked_by_robots_txtThe shop asks bots not to visit. Not charged.
unreachableThe page didn't load (e.g. 403/404). Not charged.

Use it from your AI agent (MCP)

Claude, Cursor and other MCP clients can call this tool directly through Apify's MCP server. Add it as an MCP server / connector:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=swiftkit/product-pages",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}

Then just ask, for example: "What do these three product pages charge, and are they in stock? …". Each call is billed like a normal run.

Pricing

You pay per product extracted. Every other status is free. See the Pricing tab.

Limits, honestly

  • Works when the shop publishes structured data in its HTML (most do, because Google rewards it). Shops that build pages only with JavaScript, or that block bots (many large retailers), return no_product_data or blocked. That's the shop's choice, and the tool respects it.
  • When a page lists several variants, the price is the lowest variant price (and priceMax the highest).
  • Shops may show prices in the visitor's local currency. Runs come from Apify's servers (mostly the US), so you usually see USD for international shops.
  • Reviews' text and reviewer names are not collected.
  • You're responsible for how you use the data; respect each shop's terms.

More tools from SwiftKit

Questions?

Open an issue on the Issues tab.