Install

Search Amazon products with price, rating and Prime.

Searches Amazon.com like the site's own search: product title, price and struck-through price (in the currency Amazon shows this user), star rating, number of ratings, Prime eligibility, image and a clean product link. Sponsored results are dropped by default.

No reports yetRead-only, no login
Site
Amazon, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
7ce557bf0712…

Requests

sent from your browser, in order
  1. 1GET/s?k&page&s

Parameters

from your agent
include_sponsoredboolean = false
pageinteger = 1
querystringrequiredWhat to search for, e.g. 'usb c charger'
sortenumrelevanceblender = featured; price-asc-rank = cheapest first; review-rank = best rated; date-desc-rank = newest "relevanceblender" | "price-asc-rank" | "price-desc-rank" | "review-rank" | "date-desc-rank" = "relevanceblender"

Returns

to your agent
pageinteger
productsobject[]asin, currency, image_url, price, prime, rating, ratings_count, sponsored, title, url, was_price
querystring

Where it can send

  • www.amazon.com

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.products) > `10`
  • length(output.products[?sponsored]) == `0`
  • output.products[0].price > `0`
  • output.products[0].rating > `0`
  • starts_with(output.products[0].url, 'https://www.amazon.com/dp/')

Raw recipe

Served as canonical JSON from /api/v1/recipes/amazon.com/search-products, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/amazon.com/search-products | shasum -a 256
# 7ce557bf0712a1ecaef797d7d86649e1017b8d445d58f12ce4289fa87a49710a
amazon.com/search-products.json, v1
{
  "description": "Searches Amazon.com like the site's own search: product title, price and struck-through price (in the currency Amazon shows this user), star rating, number of ratings, Prime eligibility, image and a clean product link. Sponsored results are dropped by default.",
  "effect": "read",
  "id": "amazon.com/search-products",
  "keywords": [
    "amazon",
    "shopping",
    "buy",
    "product search",
    "price",
    "prime",
    "deals",
    "amazon search",
    "einkaufen",
    "produkt suchen"
  ],
  "output": {
    "schema": {
      "properties": {
        "page": {
          "type": "integer"
        },
        "products": {
          "items": {
            "properties": {
              "asin": {
                "type": "string"
              },
              "currency": {
                "description": "Currency Amazon displayed (USD in the US; visitors elsewhere may see EUR etc.)",
                "type": [
                  "string",
                  "null"
                ]
              },
              "image_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "price": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "prime": {
                "type": "boolean"
              },
              "rating": {
                "description": "0-5 stars",
                "type": [
                  "number",
                  "null"
                ]
              },
              "ratings_count": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "sponsored": {
                "type": "boolean"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "format": "uri",
                "type": "string"
              },
              "was_price": {
                "description": "Struck-through price, when shown",
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "products"
      ],
      "type": "object"
    },
    "value": "let $sp = params.include_sponsored in {query: params.query, page: params.page, products: steps.search.items[?asin != `null` && asin != '' && title != `null` && ($sp || sponsored == `null`)].{asin: asin, title: title, price: price && to_number(trim(replace(replace(replace(replace(replace(replace(replace(replace(price, ' ', ''), ' ', ''), 'EUR', ''), 'US$', ''), '$', ''), '€', ''), '£', ''), ',', ''))) || `null`, was_price: was_price && to_number(trim(replace(replace(replace(replace(replace(replace(replace(replace(was_price, ' ', ''), ' ', ''), 'EUR', ''), 'US$', ''), '$', ''), '€', ''), '£', ''), ',', ''))) || `null`, currency: (starts_with(price || '', 'EUR') || starts_with(price || '', '€')) && 'EUR' || ((starts_with(price || '', '$') || starts_with(price || '', 'US$')) && 'USD' || (starts_with(price || '', '£') && 'GBP' || `null`)), rating: rating && to_number(split(rating, ' ')[0]) || `null`, ratings_count: reviews && (let $r = replace(replace(reviews || '', '(', ''), ')', '') in (ends_with($r, 'K') && floor(to_number(replace($r, 'K', '')) * `1000`)) || (ends_with($r, 'M') && floor(to_number(replace($r, 'M', '')) * `1000000`)) || to_number(replace($r, ',', ''))) || `null`, prime: prime != `null`, sponsored: sponsored != `null`, image_url: image, url: join('', ['https://www.amazon.com/dp/', asin])}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "include_sponsored": {
        "default": false,
        "type": "boolean"
      },
      "page": {
        "default": 1,
        "maximum": 20,
        "minimum": 1,
        "type": "integer"
      },
      "query": {
        "description": "What to search for, e.g. 'usb c charger'",
        "maxLength": 120,
        "minLength": 2,
        "type": "string"
      },
      "sort": {
        "default": "relevanceblender",
        "description": "relevanceblender = featured; price-asc-rank = cheapest first; review-rank = best rated; date-desc-rank = newest",
        "enum": [
          "relevanceblender",
          "price-asc-rank",
          "price-desc-rank",
          "review-rank",
          "date-desc-rank"
        ],
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "browser-inspect",
    "notes": "spikes/amazon.md. Server-rendered search page; result cards are [data-component-type=s-search-result] with data-asin. Sponsored cards carry .puis-sponsored-label-text and often duplicate organic results. Prices are shown in the visitor's currency (EUR from a German IP, USD in the US). Amazon serves a CAPTCHA to non-browser traffic at volume; run only from the user's own browser, one search at a time.",
    "recorded_at": "2026-11-07T12:56:00+01:00",
    "recorded_by": "C4"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "amazon.com",
    "language": "en",
    "login_url": "https://www.amazon.com/ap/signin",
    "name": "Amazon",
    "origin": "https://www.amazon.com",
    "origins": [
      "https://www.amazon.com"
    ]
  },
  "steps": [
    {
      "expect": {
        "assert": "contains(body, 's-search-result')",
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "items": {
            "fields": {
              "asin": {
                "attr": "data-asin",
                "selector": ":scope"
              },
              "image": {
                "attr": "src",
                "selector": "img.s-image"
              },
              "price": {
                "selector": ".a-price:not(.a-text-price) .a-offscreen"
              },
              "prime": {
                "selector": "i.a-icon-prime"
              },
              "rating": {
                "attr": "aria-label",
                "selector": "[aria-label*=\"out of 5 stars\"]"
              },
              "reviews": {
                "selector": "a[href*=\"#customerReviews\"] span"
              },
              "sponsored": {
                "selector": ".puis-sponsored-label-text"
              },
              "title": {
                "selector": "h2"
              },
              "was_price": {
                "selector": ".a-price[data-a-strike=\"true\"] .a-offscreen"
              }
            },
            "max": 60,
            "selector": "[data-component-type=\"s-search-result\"]"
          }
        }
      },
      "id": "search",
      "parse": "html",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "k": "{{params.query}}",
          "page": "{{params.page}}",
          "s": "{{params.sort}}"
        },
        "url": "/s"
      }
    }
  ],
  "task": "Search Amazon products with price, rating and Prime",
  "tos": {
    "notes": "Amazon's conditions of use prohibit robots and data extraction. One user-initiated search at a time from the user's own browser (1 request). Buying stays on amazon.com.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.products) > `10`",
      "length(output.products[?sponsored]) == `0`",
      "output.products[0].price > `0`",
      "output.products[0].rating > `0`",
      "starts_with(output.products[0].url, 'https://www.amazon.com/dp/')"
    ],
    "example_params": {
      "query": "usb c charger"
    },
    "max_ms": 6000
  },
  "version": 1
}