← Blog

How-to seriesSeptember 28, 2026

How to compare a product across online stores

Compare identical product variants across stores, preserve incomplete costs, and recheck the final offer before a buying decision.

Compare store offers by matching the exact product and then calculating the same cost basis for each seller. The lowest number in a shopping result may describe a different capacity, a used unit, a multipack or an offer with delivery charges still missing.

Start with a specification that another person could use to reject a near match. Keep a separate list of acceptable substitutions so the agent cannot quietly change the item to produce a lower price.

Set the comparison boundary

Specify the market, delivery region, currency, condition and quantity. Include a required arrival date only if it affects the choice. A store's general shipping policy cannot establish when a particular order will arrive.

Connect with Vaaya, then use:

Compare [exact brand, model, variant and quantity] for delivery to [region].
Accept only [condition and required accessories]. Currency: [currency].
Find candidate offers, verify each merchant page and retain its source URL.
Separate item price, shipping, tax, mandatory fees and conditional discounts.
Mark unknown charges explicitly. Do not call an incomplete total the cheapest.
Use at most [research budget], with a maximum on every paid call.
Return the shortlist and verification gaps. Do not purchase.

For products with manufacturer part numbers, include the part number. A text title often loses the detail that separates two visually identical models.

Follow the product through to its offers

  1. Search with the full specification. openwebninja/product-search accepts q, country, language, condition and other filters. Use the current route returned by consult. Save the candidate product_id, but check the title and variant before spending on follow-up calls.

  2. Confirm the product record. openwebninja/product-details uses that product_id to return product information. Compare the specifications with the request. If the record mixes variants, retain it as a discovery result and verify each offer individually.

  3. Retrieve store offers. openwebninja/product-offers takes product_id, with country, language and pagination options. The provider's product-search documentation describes merchant offers and product details. Treat these as candidates to inspect, since a store can change its page after an index captures it.

  4. Read the shortlisted merchant pages. Ask for an appropriate extractor, then check model, condition, seller, quantity and availability. Save the observation time. If a page requires a delivery address or account to reveal a charge, leave that field unknown unless the user supplies an authorized quote.

  5. Calculate comparable totals. Add item price, shipping, applicable tax and mandatory fees when all are known. Deduct only discounts the user qualifies for. Keep currency conversions dated and separate from the merchant's own currency; do not hide exchange or payment fees in a guessed total.

Show why an offer qualifies

Use this output shape:

store | merchant_url | product_id | model | variant | condition | quantity
currency | item_price | shipping | tax | mandatory_fees
eligible_discount | comparable_total_or_unknown | availability
observed_at | delivery_estimate | match_status | unresolved_fields

Store unknown separately from zero. Free shipping shown for a qualifying membership does not mean the same shipping applies to every buyer. A coupon requiring another purchase should retain that condition in the comparison.

Do not blend offers that fail the specification into the main ranking. Put them in a rejected-candidates section with the reason, such as different capacity or refurbished condition. That gives the user a useful alternative if they later choose to relax a requirement.

Handle changes without rerunning everything

Cache the product details while refreshing only the shortlisted offers that are old or incomplete. Track the total allowance across discovery, offer retrieval and page reads. Stop when the remaining uncertainty requires a checkout quote the current tools cannot obtain.

If one source says available and the merchant page says sold out, show the conflict and the more recent observation. If the merchant cannot be reached, avoid treating its stale low price as an available bargain.

Return a small shortlist with a stated comparison basis: for example, equivalent new units with shipping included and tax still unknown. Open the preferred merchant's current page before deciding. Confirm the selected variant, delivery terms, return conditions and final amount in the separately approved purchase flow.

Questions

Can I sort the results by the lowest displayed price?

You can sort that field, but it may exclude shipping, tax or required conditions. Compare only equivalent variants and label totals incomplete when a required charge is unknown.

Does a product ID guarantee that every offer is the same item?

No. Use it to retrieve candidates, then check model, variant, condition, quantity and included accessories against the merchant offer.

Will this buy the selected product?

No. This tutorial returns a comparison. A purchase requires a separately authorized supported checkout flow and current merchant terms.

Try Vaaya with your agent.

Connect your agent, choose a service, and try your first call with Vaaya.

npx @vaaya/mcp install