# fetchwerk Web Extraction – Product Page Structured Data

> fetchwerk Web Extraction – Product Page Structured Data is a paid API for AI agents from fetch.netzhandwerker.de, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-11).

Extracts structured product data (price, availability, shipping, variants, ratings, images, seller, identifiers) from a single product page URL with source attribution.

## Facts

- Endpoint: POST https://fetch.netzhandwerker.de/product?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fetchwerk-web-extraction-product-page-structured-data-a98a494d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ATWOO-N2_mgXrZtLSSe6R

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability fetchwerk-web-extraction-product-page-structured-data-a98a494d -d '<json body>'
```

Example prompt: Can you pull all the structured product details from this page — price, availability, shipping, variants by size and color, ratings, seller, and images — treating the currency as EUR? https://www.example-shop.de/product/blue-sneakers-42

## When to prefer this

Choose this endpoint when you need comprehensive, source-attributed product data from a single product page URL — especially when you need variants (size/color with individual GTINs and prices), seller details, and shipping info in one call. Prefer this over generic web scrapers when the target is specifically an e-commerce product page and structured offer data is required. Use the currency_hint parameter when the store uses ambiguous currency symbols like $ or kr.

## Known failure modes

- URL not reachable or returns non-200 status — extraction fails with error
- URL points to a non-product page (category, homepage) — returned fields may be empty or partial
- Anti-bot protection on target site blocks the request — error or empty result
- Currency symbol ambiguous and no currency_hint provided — price parsing may be incorrect
- Product page uses heavy JavaScript rendering that is not fully executed — some fields missing

## How this service works

Return the structured offer of one product page: identifiers, price, availability, shipping, variants, ratings, images and seller, each with its source.

## Output

A structured JSON object containing product identifiers (e.g. GTIN, SKU, MPN), price, availability status, shipping details, product variants (size, color, etc. each with their own price, availability, GTIN, and URL), star ratings and review counts, product images, and seller information — each field annotated with its source location on the page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "Absolute http or https URL of a single product page."
  },
  "currency_hint": {
   "type": "string",
   "pattern": "^[A-Za-z]{3}$",
   "description": "ISO 4217 code such as EUR or USD. Used to disambiguate the $ and kr symbols and the decimal separator. It never triggers a conversion."
  },
  "want_variants": {
   "type": "boolean",
   "default": true,
   "description": "Collect size, colour and other variants with their own price, availability, GTIN and URL."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/p/12345",
  "gtin": "4006381333931",
  "name": "Example widget",
  "brand": "Example",
  "price": {
   "raw": "19,90 EUR",
   "value": 19.9,
   "currency": "EUR"
  },
  "variants": [],
  "is_product": true,
  "availability": {
   "state": "in_stock",
   "quantity": null
  },
  "field_evidence": {
   "price": {
    "raw": "19.90",
    "source": "jsonld",
    "selector": "offers.price"
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fetchwerk-web-extraction-product-page-structured-data-a98a494d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fetch.netzhandwerker.de](https://www.zero.xyz/host/fetch.netzhandwerker.de/llms.txt)
