Fetches 2-5 product URLs (urls=comma-separated, or repeated url=) with the same
Fetches 2-5 product URLs (urls=comma-separated, or repeated url=) with the same live chain as /product/info and returns per-item title/price/original_price/in_stock/rating/reviews_count, the cheapest and most expensive item, price_diff (abs RUB and percent of the cheapest), in_stock_count and all_in_stock. Items that fail carry error/detail; returns 502 (payment not settled) only if fewer than 2 items returned a price.
Answeringour last check, 2026-10-25
1 of 1checks answered this week
185 msmedian answer time
$0.006listed price per call
$0.006price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://x402-markettwits-news.onrender.com/product/compare
| Category | Commerce and shopping |
|---|---|
| Provider host | x402-markettwits-news.onrender.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-25 | valid payment request | 402 | $0.006 | 185 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"urls": "https://www.wildberries.ru/catalog/1256886607/detail.aspx,https://www.wildberries.ru/catalog/197349073/detail.aspx"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"urls": {
"description": "2-5 comma-separated product URLs (Wildberries; Ozon is accepted but currently blocked by its anti-bot). Alternatively repeat url= instead.",
"maxLength": 10000,
"minLength": 20,
"type": "string"
}
},
"required": [
"urls"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"all_in_stock": {
"description": "true only if every requested item is in stock",
"type": "boolean"
},
"cheapest": {
"properties": {
"price": {
"type": "number"
},
"product_id": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"count": {
"type": "integer"
},
"currency": {
"enum": [
"RUB"
],
"type": "string"
},
"fetched_at": {
"type": "string"
},
"in_stock_count": {
"type": "integer"
},
"items": {
"description": "In request order; failed items carry error/detail",
"items": {
"properties": {
"data_source": {
"type": [
"string",
"null"
]
},
"detail": {
"type": "string"
},
"error": {
"description": "Present only on failed items",
"enum": [
"upstream_unavailable",
"out_of_stock_no_price"
],
"type": "string"
},
"in_stock": {
"type": [
"boolean",
"null"
]
},
"original_price": {
"description": "List price before discount, when known",
"type": [
"number",
"null"
]
},
"price": {
"description": "Current price, RUB (null when this item failed)",
"type": [
"number",
"null"
]
},
"price_as_of": {
"description": "Only when the price came from the weekly CDN fallback",
"type": "string"
},
"product_id": {
"type": "string"
},
"rating": {
"type": [
"number",
"null"
]
},
"reviews_count": {
"type": [
"integer",
"null"
]
},
"source": {
"enum": [
"wildberries",
"ozon"
],
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"required": [
"product_id",
"url",
"title",
"price",
"in_stock"
],
"type": "object"
},
"type": "array"
},
"most_expensive": {
"properties": {
"price": {
"type": "number"
},
"product_id": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"price_diff": {
"properties": {
"abs": {
"description": "most_expensive - cheapest, RUB",
"type": "number"
},
"percent": {
"description": "abs / cheapest * 100",
"type": [
"number",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"succeeded": {
"description":