Better Fetch

E-commerce Product Scraper

Extract clean product metadata from a public product page, including title, price, currency, availability, image, brand, SKU, rating, review count, and description when visible.

Ecommercev0.1.1~1 credit/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Public product page URL

Maximum number of characters to keep from the product description

Sign in and run
~1 base credit/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

skuurlbrandimagepricetitleratingstatus

Overview

E-commerce Product Scraper turns a public product detail page into normalized product metadata for monitoring, catalog enrichment, competitive research, and agent workflows. It renders the target through Better Fetch, prefers standards-based JSON-LD Product markup, and falls back to Open Graph, product meta tags, itemprop attributes, and common storefront HTML patterns.

Last validated: Jul 3, 2026

Input

urlstring (uri)required

Public product page URL

max_description_charsintegerdefault: 1200

Maximum number of characters to keep from the product description

Output

skustring

SKU, product ID, or MPN

urlstringrequired

Requested product URL

brandstring

Brand or manufacturer name

imagestring

Primary product image URL

pricenumber

Visible product price

titlestringrequired

Product title

ratingnumber

Aggregate rating value

statusinteger

HTTP status code

currencystring

ISO currency code or visible currency marker

final_urlstringrequired

Final URL after redirects

descriptionstring

Product description text

availabilitystring

Visible availability status

review_countinteger

Aggregate review count

Examples

books-to-scrape

{
  "url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
  "max_description_chars": 800
}

Use cases

Price monitoring

Track public product pages over time and return normalized price, currency, availability, and final URL fields for comparison or alerting.

Catalog enrichment

Pull product titles, images, brand names, SKUs, descriptions, ratings, and review counts into an internal product database or agent context.

Competitive research

Let an agent inspect comparable product pages without hand-copying page text, price blocks, and visible product metadata.

FAQ

Does E-commerce Product Scraper work on every store?

It works best on public product detail pages that expose JSON-LD Product data, Open Graph product tags, itemprop attributes, or common visible price and availability markup.

Does the tool need store API keys?

No. The tool reads public page content through Better Fetch and does not use private store APIs, carts, checkout sessions, or account-specific credentials.

What happens when a field is not visible?

Missing values are omitted from the output rather than guessed, so downstream systems can distinguish visible data from unavailable metadata.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "E-commerce Product Scraper"
2. Call run_tool with:
   name: "ecommerce_product_scraper"
   input: {"url":"https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","max_description_chars":800}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/ecommerce_product_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"url":"https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","max_description_chars":800}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/ecommerce-product-scraper && cd ecommerce-product-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"url":"https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html","max_description_chars":800}'