Ecommerce Product Page Scraper
Pricing
from $0.20 / 1,000 product page processeds
Ecommerce Product Page Scraper
Extract product title, price, availability, SKU, UPC, images, ratings, and metadata from public ecommerce product URLs.
Pricing
from $0.20 / 1,000 product page processeds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured product snapshots from public ecommerce product page URLs. Paste product links and get normalized rows with title, price, availability, identifiers, images, ratings, breadcrumbs, metadata provenance, and per-URL errors when a page is blocked or missing.
Use this Actor for price monitoring, competitor analysis, product catalog enrichment, SEO audits, marketplace research, and automated checks where you already have product URLs.
Who is this for?
- Ecommerce analysts comparing public prices and stock status across stores.
- Price-monitoring operators who already maintain lists of product URLs.
- SEO and content teams auditing product metadata, descriptions, images, and breadcrumbs.
- Data teams enriching internal catalogs with public product page snapshots.
- Dropshipping and marketplace researchers checking visible identifiers, availability, and price text.
Use cases
- Monitor public prices and availability for a known set of competitor products.
- Enrich a product database with titles, descriptions, images, and identifiers.
- Audit product pages for missing structured metadata or empty descriptions.
- Check stale product links and capture 404/error rows without failing the whole run.
- Feed normalized product data into spreadsheets, dashboards, alerts, or agents.
Example input
{"urls": ["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","https://books.toscrape.com/catalogue/tipping-the-velvet_999/index.html"],"maxItems": 2,"includeRawMetadata": false}
Example output
{"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","finalUrl": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","statusCode": 200,"title": "A Light in the Attic","price": "£51.77","currency": null,"availability": "In stock (22 available)","sku": null,"upc": "a897fe39b1053632","brand": null,"description": "It's hard to imagine a world without A Light in the Attic...","ratingValue": null,"reviewCount": null,"images": [],"breadcrumbs": ["Home", "Books", "Poetry", "A Light in the Attic"],"structuredDataTypes": [],"sourceMethod": "dom","error": null,"fetchedAt": "2026-07-12T15:44:45.332Z"}
What data can you extract?
| Field | Description |
|---|---|
url | Original product URL from your input. |
finalUrl | Final URL after redirects. |
statusCode | HTTP status code returned by the product page. |
title | Product title/name when visible. |
price | Price text or structured price value. |
currency | Currency from structured product metadata or product meta tags. |
availability | Stock/availability text or structured availability value. |
sku | SKU when published on the page. |
upc | UPC/GTIN identifier when published on the page. |
brand | Product brand when available. |
description | Product description or page meta description. |
ratingValue | Aggregate rating value when available. |
reviewCount | Aggregate review/rating count when available. |
images | Product image URLs found in structured data, social meta tags, or product image markup. |
breadcrumbs | Category/breadcrumb trail when visible. |
structuredDataTypes | Structured data types detected on the page. |
sourceMethod | Main extraction source: jsonLd, meta, dom, fallback, or error. |
error | Per-URL error message for missing, blocked, or failed pages. |
fetchedAt | ISO timestamp when the URL was processed. |
rawMetadata | Optional parsed metadata snippets when includeRawMetadata is enabled. |
Input configuration
| Setting | JSON key | Use it for | Default |
|---|---|---|---|
| Product page URLs | urls | Direct public product detail page URLs to process. | Required |
| Maximum product pages | maxItems | Cap processed URLs and control spend. | 10 |
| Include raw metadata | includeRawMetadata | Debug custom mappings or inspect structured metadata. | false |
| Render JavaScript | renderJavascript | Reserved compatibility option; current version is HTTP-first. | false |
| Request timeout seconds | requestTimeoutSecs | Adjust timeout for slow stores. | 30 |
| Proxy configuration | proxyConfiguration | Optional Apify proxy settings for stores that block your network. | Empty |
Verified public example tasks
These Apify Store tasks use small, QA-verified inputs and can be opened or cloned directly:
- Compare Two Ecommerce Product Pages — verified run
IJSfh1c4gKOy5hi3gproduced 2 dataset items. - Inspect Raw Ecommerce Product Metadata — verified run
lmnNYqpXdMQo2xf4Oproduced 1 dataset item. - Scrape Public Ecommerce Product Page — verified run
m91hC4XTogFMV4fPNproduced 1 dataset item.
Input recipes
- Smoke test: Run the default Books to Scrape URL with
maxItems: 1. - Price monitoring sample: Paste 10-50 direct product URLs from public store pages and schedule the Actor daily or weekly.
- Catalog enrichment: Export product URLs from your catalog, run the Actor, then join results by
urlorfinalUrl. - Error audit: Include known old URLs and check
statusCodepluserrorfor missing or redirected product pages.
Pricing
| Event | Price | Charged when |
|---|---|---|
| Run start | $0.005 per run | Once when the Actor starts. |
| Item processed | Bronze $0.00033834 per saved product row, with tier discounts for higher usage | Each URL result saved to the dataset, including graceful error rows. |
Per-item Store tiers: Free $0.00038909, Bronze $0.00033834, Silver $0.00026391, Gold $0.00020301, Platinum $0.00013534, Diamond $0.000094736.
Start with a small run to confirm output completeness for your target stores before processing large URL lists.
Tips for best results
- Use direct product detail URLs, not category, search, cart, or checkout URLs.
- Product fields vary by store. Empty fields mean the page did not expose that data clearly.
- For blocked stores, try Apify Proxy settings and keep batches small while testing.
- Use
sourceMethodto understand whether data came from structured metadata, meta tags, or page content. - Keep
includeRawMetadatadisabled unless you need debugging details; it can make rows larger.
Limits and caveats
- This Actor extracts public page data only. It does not log in, solve CAPTCHAs, add items to cart, or access account-specific prices.
- Some ecommerce sites block automated traffic or require client-side rendering. Such URLs may return partial data or an error row.
- Universal product extraction is best-effort. Store-specific scrapers may be better for high-volume extraction from a single marketplace.
API usage
Node.js:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("fetch_cat/ecommerce-product-page-scraper").call({urls: ["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"],maxItems: 1});console.log(run.defaultDatasetId);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetch_cat/ecommerce-product-page-scraper").call(run_input={"urls": ["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"],"maxItems": 1,})print(run["defaultDatasetId"])
cURL:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~ecommerce-product-page-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"urls":["https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"],"maxItems":1}'
MCP and AI agents
Use this Actor from MCP-compatible tools through the official Apify MCP Server.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/ecommerce-product-page-scraper"
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/ecommerce-product-page-scraper"}}}
Example prompt: "Run Ecommerce Product Page Scraper for these three product URLs and summarize price, stock status, and missing fields."
Related actors
FAQ
Can I export results?
Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.
Why are some fields empty?
Stores expose different metadata. The Actor leaves unavailable fields empty instead of guessing.
Does it work for login-only or cart prices?
No. It only processes public product pages visible without private credentials.
What happens if a URL is invalid or blocked?
The Actor saves an error row with statusCode and/or error so one bad URL does not fail the whole run.
Support
Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID or run URL, input JSON, expected output, actual output, and one reproducible public URL.
Changelog
-
2026-07-16 - Feature: Added ready-to-run example tasks on the Apify Store
-
2026-07-16 - Feature: Launched ecommerce product page scraper for public Apify Store users.