# Extract Normalized Product Data via d402 Gateway

> Extract Normalized Product Data via d402 Gateway is a paid API for AI agents from gateway.d402.xyz, paid per call via x402, $0.01/call, status down (last checked 2026-09-15).

Extracts structured product data (title, price, availability, images, seller, rating) from any public product page URL, returning normalized fields with evidence and confidence scores.

## Facts

- Endpoint: POST https://gateway.d402.xyz/v1/commerce/extract-product
- Price: $0.01/call
- Payment: x402
- Status: down
- Last checked: 2026-09-15
- Activations on Zero: 0
- Provider: gateway.d402.xyz
- Website: https://gateway.d402.xyz
- Canonical page: https://www.zero.xyz/c/gateway-d402-xyz-extract-normalized-product-data-via-d402-gateway-27e916e3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YWn5j8EEvNMzOXEhjRHFA

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 gateway-d402-xyz-extract-normalized-product-data-via-d402-gateway-27e916e3 -d '<json body>'
```

Example prompt: Can you extract the product title, price, availability, and images from this product page: https://www.amazon.com/dp/B08N5WRWNW — I need normalized structured data including the seller name and rating if available.

## When to prefer this

Use this endpoint when you need to extract product data from any ecommerce site without knowing the specific retailer in advance. If you know the product is on Amazon, Shopify, Walmart, or Target specifically, prefer those provider-scoped endpoints for higher accuracy. Choose this general endpoint for unknown or mixed retailers, or when building a universal product data pipeline.

## Known failure modes

- URL is not a public product page — returns error status with message
- Page requires login or is geo-blocked — extraction fails with error
- Timeout exceeded (max 45000ms) — task returns error status
- Unsupported page structure — low confidence scores or null fields
- Invalid URL format — schema validation rejects the request
- Worker unavailable — task accepted but result delayed or errored

## How this service works

Paid d402 capability alias for commerce.extract_product@1. Workers extract product title, price, availability, images, seller, rating, and evidence.

## Output

Returns a task ID and status, plus a result object containing normalized product fields: title, price, currency, availability, images array, seller, brand, SKU, rating, review count, description, variants, field-level confidence scores, a content hash, and a snapshot CID for evidence. Also includes links to the task, result, and payment receipt.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "Public product page URL to extract."
  },
  "sync": {
   "type": "boolean",
   "description": "Optional d402 sync flag. Defaults to gateway policy."
  },
  "locale": {
   "type": "string",
   "description": "Optional locale hint used by provider adapters, for example en-US."
  },
  "timeoutMs": {
   "type": "number",
   "maximum": 45000,
   "minimum": 1,
   "description": "Optional per-request timeout, capped by gateway policy."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "taskId",
  "status"
 ],
 "properties": {
  "error": {
   "type": [
    "string",
    "null"
   ]
  },
  "links": {
   "type": "object",
   "properties": {
    "task": {
     "type": "string"
    },
    "result": {
     "type": "string"
    },
    "receipt": {
     "type": "string"
    }
   }
  },
  "result": {
   "type": "object",
   "required": [
    "url",
    "title",
    "contentHash",
    "snapshotCid",
    "extractorVersion"
   ],
   "properties": {
    "sku": {
     "type": [
      "string",
      "null"
     ]
    },
    "url": {
     "type": "string"
    },
    "brand": {
     "type": [
      "string",
      "null"
     ]
    },
    "price": {
     "type": [
      "string",
      "number",
      "null"
     ]
    },
    "title": {
     "type": "string"
    },
    "images": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "rating": {
     "type": [
      "number",
      "null"
     ]
    },
    "seller": {
     "type": [
      "string",
      "null"
     ]
    },
    "currency": {
     "type": [
      "string",
      "null"
     ]
    },
    "evidence": {
     "type": "array",
     "items": {
      "type": "object"
     }
    },
    "provider": {
     "type": [
      "string",
      "null"
     ]
    },
    "variants": {
     "type": "array",
     "items": {
      "type": "object"
     }
    },
    "fetchedAt": {
     "type": "string"
    },
    "sourceCid": {
     "type": [
      "string",
      "null"
     ]
    },
    "confidence": {
     "type": [
      "number",
      "null"
     ]
    },
    "sourceHash": {
     "type": [
      "string",
      "null"
     ]
    },
    "sourceType": {
     "type": [
      "string",
      "null"
     ]
    },
    "contentHash": {
     "type": "string"
    },
    "description": {
     "type": [
      "string",
      "null"
     ]
    },
    "reviewCount": {
     "type": [
      "number",
      "null"
     ]
    },
    "serviceName": {
     "type": "string"
    },
    "snapshotCid": {
     "type": "string"
    },
    "availability": {
     "type": [
      "string",
      "null"
     ]
    },
    "canonicalUrl": {
     "type": [
      "string",
      "null"
     ]
    },
    "providerHost": {
     "type": [
      "string",
      "null"
     ]
    },
    "serviceVersion": {
     "type": "string"
    },
    "apiEndpointHost": {
     "type": [
      "string",
      "null"
     ]
    },
    "fieldConfidence": {
     "type": "object"
    },
    "ext
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/gateway-d402-xyz-extract-normalized-product-data-via-d402-gateway-27e916e3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from gateway.d402.xyz](https://www.zero.xyz/host/gateway.d402.xyz/llms.txt)
