ToolAssay

Compare two to four product pages by verified identity, listed price, availabili

Compare two to four product pages by verified identity, listed price, availability, shipping cost and rating without converting currencies.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
872 msmedian answer time
$0.01listed price per call
$0.01price 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

POST https://fetch.halowerk.com/product/compare

CategoryCommerce and shopping
Provider hostfetch.halowerk.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days5 from 4 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.01 872 ms

Example input (from the provider)

{
  "body": {
    "currency_hint": "GBP",
    "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"
    ],
    "want_variants": false
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "currency_hint": {
              "description": "ISO 4217 code used only to disambiguate symbols and decimal notation. No currency conversion is performed.",
              "pattern": "^[A-Za-z]{3}$",
              "type": "string"
            },
            "respect_robots": {
              "default": true,
              "description": "Honour every origin robots.txt.",
              "type": "boolean"
            },
            "urls": {
              "description": "Two to four distinct product-page URLs. At least two must yield a useful product offer or the call is not charged.",
              "items": {
                "format": "uri",
                "type": "string"
              },
              "maxItems": 4,
              "minItems": 2,
              "type": "array",
              "uniqueItems": true
            },
            "want_variants": {
              "default": false,
              "description": "Also collect each page\u2019s variants. The ranking still compares the primary listed offer.",
              "type": "boolean"
            }
          },
          "required": [
            "urls"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "compared": {
              "maximum": 4,
              "minimum": 2,
              "type": "integer"
            },
            "comparison": {
              "properties": {
                "buyable_product_indices": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array"
                },
                "currencies": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "highest_rating_by_scale": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "identity_matches": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "lowest_listed_price_by_currency": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "lowest_shipping_cost_by_currency": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array"
                },
                "same_product_proven": {
                  "type": "boolean"
                },
                "unavailable_product_indices": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array"
                },
                "warnings": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "failed": {
              "maximum": 2,
              "minimum": 0,
              "type": "integer"
            },
            "failures": {
              "items": {
                "type": "object"
              },
              "type": "array"
            },
            "fetched_at": {
              "format": "date-time",
              "type": "string"
            },
            "methodology": {
              "type": "object"
            },
            "products": {
              "items": {
                "type": "object"
              },
              "minItems": 2,
              "type": "array"
            },
            "requested": {
              "maximum": 4,
              "minimum": 2,
              "type": "integer"
            }
          },
          "required": [
            "requested",
            "compared",
            "products",
            "comparison",
            "methodology",
            "fetched_at"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON