Ecommerce Product Page Scraper avatar

Ecommerce Product Page Scraper

Pricing

from $0.20 / 1,000 product page processeds

Go to Apify Store
Ecommerce Product Page Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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?

FieldDescription
urlOriginal product URL from your input.
finalUrlFinal URL after redirects.
statusCodeHTTP status code returned by the product page.
titleProduct title/name when visible.
pricePrice text or structured price value.
currencyCurrency from structured product metadata or product meta tags.
availabilityStock/availability text or structured availability value.
skuSKU when published on the page.
upcUPC/GTIN identifier when published on the page.
brandProduct brand when available.
descriptionProduct description or page meta description.
ratingValueAggregate rating value when available.
reviewCountAggregate review/rating count when available.
imagesProduct image URLs found in structured data, social meta tags, or product image markup.
breadcrumbsCategory/breadcrumb trail when visible.
structuredDataTypesStructured data types detected on the page.
sourceMethodMain extraction source: jsonLd, meta, dom, fallback, or error.
errorPer-URL error message for missing, blocked, or failed pages.
fetchedAtISO timestamp when the URL was processed.
rawMetadataOptional parsed metadata snippets when includeRawMetadata is enabled.

Input configuration

SettingJSON keyUse it forDefault
Product page URLsurlsDirect public product detail page URLs to process.Required
Maximum product pagesmaxItemsCap processed URLs and control spend.10
Include raw metadataincludeRawMetadataDebug custom mappings or inspect structured metadata.false
Render JavaScriptrenderJavascriptReserved compatibility option; current version is HTTP-first.false
Request timeout secondsrequestTimeoutSecsAdjust timeout for slow stores.30
Proxy configurationproxyConfigurationOptional 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:

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 url or finalUrl.
  • Error audit: Include known old URLs and check statusCode plus error for missing or redirected product pages.

Pricing

EventPriceCharged when
Run start$0.005 per runOnce when the Actor starts.
Item processedBronze $0.00033834 per saved product row, with tier discounts for higher usageEach 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 sourceMethod to understand whether data came from structured metadata, meta tags, or page content.
  • Keep includeRawMetadata disabled 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 ApifyClient
client = 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."

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.