Compare an Amazon search across stores (PLN)
amazon_compareRun one query on several Amazon stores in parallel (default pl, de, fr, it, es, nl; at most 10) and merge the results in PLN — the cheapest first by default. Costs one SerpAPI credit PER STORE (6 by default). By default foreign stores are asked to deliver to Poland (shipping_location 'PL'): they list only items they ship here, with the delivery cost in delivery, and usually print prices already in PLN (Amazon's conversion, Polish VAT) — shipping is never included in price_pln. shipping_location 'local' compares each store as its own customers see it (NBP-converted, no delivery guarantee). Identical ASINs across stores are grouped in asin_matches with each store's price and the cheapest one — the reliable way to compare the exact same product. Use a precise query (brand + model) and min_price_pln to keep accessories out of a price-sorted list. Result shape: { source, fetchedAt, query, marketplaces: [{ marketplace, country, currency, status ('ok' | 'no_results' | 'error'), total_results, count, search_url, error? }], count, products: [...], asin_matches?: [{ asin, title, offers: [{ marketplace, price, currency, price_pln, url }], cheapest: { marketplace, price_pln }, spread_pln }], fx: [...], note } — the list key is products; each product is { marketplace, position, asin, title, brand?, url, image?, price, price_text, currency, price_pln, old_price?, discount_percent?, rating, reviews, bought_last_month?, prime?, sponsored, delivery?, stock? }. A store that fails or finds nothing is reported in marketplaces, not as an error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort sent to every store. Amazon's sort: relevance (default, Amazon's 'Featured'), price_asc, price_desc, rating (avg. customer review), newest, bestsellers. The price sorts are re-applied to the returned page by displayed price (Amazon sorts by its offer prices), with products that show no price listed last. | |
| brand | No | One brand name, e.g. 'Sony' (Amazon's brand filter on every store). | |
| limit | No | Max products in the merged list. Default 40. | |
| query | Yes | Search query, ideally brand + model, e.g. 'sony wh-1000xm5'. | |
| no_cache | No | Force a fresh SerpAPI fetch, bypassing this server's 5-minute result cache. Default false. | |
| order_by | No | Order of the merged list: price_pln (default, cheapest first, unpriced last), relevance (the stores' own rankings interleaved) or rating. | |
| match_asin | No | Group the same ASIN found on 2+ stores into asin_matches. Default true. | |
| min_rating | No | Keep products rated at least this (0–5). | |
| min_reviews | No | Keep products with at least this many ratings. | |
| delivery_zip | No | Delivery postal code within shipping_location's country (or the store's), e.g. '00-001'. | |
| marketplaces | No | Stores to compare, codes or domains (pl, de, fr, it, es, nl, be, se, uk, tr, us, ca, mx, br, au, jp, in, cn, sg, ae, sa, eg). Default pl, de, fr, it, es, nl; at most 10 — one SerpAPI credit each. | |
| max_price_pln | No | Highest price in PLN, applied like min_price_pln. | |
| min_price_pln | No | Lowest price in PLN: sent to each store in its currency (NBP rate, 10% slack) and enforced exactly on price_pln. | |
| include_sponsored | No | Keep sponsored slots. Default false. | |
| shipping_location | No | Deliver-to country for the foreign stores. Default 'PL'; 'local' = each store's own country (prices in its currency and VAT, delivery to Poland unchecked). | |
| exclude_autocorrected | No | Drop results from an auto-corrected spelling of the query. Default false. | |
| limit_per_marketplace | No | Max products kept per store. Default 10. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fx | Yes | ||
| note | No | ||
| count | Yes | ||
| query | Yes | ||
| source | Yes | ||
| products | Yes | ||
| fetchedAt | Yes | ||
| asin_matches | No | ||
| marketplaces | Yes |