Google Shopping Price Comparison & Deal Finder avatar

Google Shopping Price Comparison & Deal Finder

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Google Shopping Price Comparison & Deal Finder

Google Shopping Price Comparison & Deal Finder

Search Google Shopping by keyword and collect product prices, discounts, merchant names, ratings, and delivery info across 48 countries for price monitoring and deal tracking.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

vexaloom-labs

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Collect real Google Shopping data for price comparison and deal monitoring. Search by keyword, open a known product by its Google Shopping ID or viewer URL, browse a department, or pull current deals across 48 countries.

Search records use the actual product ID (data-pid) and a viewer link built from the catalog or product ID Google returns. Product-mode records carry the numeric ID used in the lookup and a working viewer link. Product records add seller offers with shipping and totals, a price range, specifications, images, variants, and the 12-month per-seller price history when Google exposes it.

Modes

ModeWhat it doesMain input
searchKeyword search across Google Shopping resultsqueries
productOpens the product viewer for one or more productsproductIds
dealsSearches Google's deals viewqueries (optional; defaults to deals)
categoryBrowses one of 15 Google Shopping departmentscategory

What you get

Every record

  • query, position, recordType, scrapedAt
  • title, price (display) and priceValue (number)
  • originalPrice, originalPriceValue, discountPercent when discounted
  • currency — the currency Google actually served, never relabelled from the requested country
  • merchant, merchantUrl, sellerDomain
  • rating, reviewCount, ratingValue, reviewCountValue
  • delivery, shipping, availability, condition, returns
  • imageUrl, imageUrls
  • isSponsored (true only when a sponsored label is visible)
  • productId — real data-pid on search/deals/category rows; in product mode it is the ID used in the viewer lookup (a catalog ID when the input is a viewer URL). catalogId is the real data-cid when Google exposes it.
  • productUrl — a real Google Shopping viewer URL
  • searchUrl, hasMoreOffers, badge

Product records and enriched search results

  • brand, description, images, specifications, variants
  • offerCount and offers — seller, seller ID, direct seller URL, domain, price, currency, original price, discount, shipping, delivery, total, availability, returns, store rating and review count, badge, best-price flag
  • lowestPrice, highestPrice, priceRange, typicalPriceRange
  • priceHistory — per-seller daily points with ISO dates
  • discussions — forum links about the product (not review text)
  • dealFlags

Empty fields are omitted at every depth.

Inputs

FieldDefaultDescription
------
modesearchsearch (default), product, deals or category
queries–Keywords for search/deals. Optional in category mode
productIds–Catalog IDs, product IDs, viewer URLs or legacy product URLs for product mode
category–One of 15 departments (Electronics, Computers, Cell Phones, ...)
countryCodeus48 countries; sets the Google domain and location hint
languageCodeenResult language
sortBy–Relevance, rating, price low-to-high or high-to-low; applied to the collected rows
condition–Any, new, used or refurbished
minPrice / maxPrice–Price range in the requested market's currency; rows outside the numeric bounds are dropped. If Google serves another currency, a filtered run can return no rows.
onSalefalseKeep products with an observed original price or discount
freeShippingfalseKeep products whose delivery text says free
minRating00–5; keeps products at or above the rating
store–Optional store name to bias and verify
maxResultsPerQuery201–200 records per query (or products in product mode)
includePriceHistorytrueInclude the 12-month history when Google exposes it
includeProductDetailsfalseOpen the product viewer for each search result (one extra request per result)

Examples

Search for one product and include details and history:

{
"mode": "search",
"queries": ["iPhone 15 Pro Max"],
"maxResultsPerQuery": 5,
"countryCode": "us",
"includeProductDetails": true,
"includePriceHistory": true
}

Look up products by ID or viewer URL:

{
"mode": "product",
"productIds": ["10694224367759637585", "https://www.google.com/search?q=x&ibp=oshop&prds=productid:2457150560515047758,pvt:a"],
"countryCode": "ca",
"includePriceHistory": true
}

Price-filtered, free-shipping deals:

{
"mode": "deals",
"queries": ["wireless earbuds"],
"minPrice": 20,
"maxPrice": 100,
"freeShipping": true,
"sortBy": "price_low",
"countryCode": "uk"
}

Browse a department:

{
"mode": "category",
"category": "electronics",
"maxResultsPerQuery": 40,
"countryCode": "de"
}

Coverage and honest limits

  • Up to five offers per product. Google's product viewer renders at most five offers over the public HTTP path (some products show fewer); offerCount often reports many more (209 in sampling). The remaining offers are not available without a browser identity.
  • About 127 products per query. Search pages start at 0, 10, 50 and 90; later starts return no products. Split a broad query into narrower queries to collect more.
  • No product review text. Google does not expose product review bodies on this path. Ratings and review counts from search cards and store ratings on offers are included; discussions contains forum links only.
  • Localization is best effort. A country plus location hint usually returns the right market, but Google can serve another exit's currency. The actor retries once, then reports the actual currency and logs the mismatch. It never relabels one currency as another.
  • Filtered runs can be empty on a currency mismatch. Price bounds use the requested market's currency (for example USD for countryCode: us). If Google serves another currency, a max-price or on-sale filter can exclude every row; the run then reports the served currency and fails with "No records scraped" instead of relabelling.
  • Sorting is client-side. Google's server-side sort chip is not honored on this page. The actor sorts the rows it actually collected.
  • Filters are verified after collection. Price bounds, rating, store, sale and free-shipping checks are re-applied to every row. A condition is checked when the card shows one; many cards omit it.
  • Display price can differ from the numeric offer price. A seller card can show a list price in price while priceValue carries the best price Google reports (one sampled EarFun offer displayed $89.99 with priceValue 51.29). Use priceValue, shippingValue and totalPrice for comparisons.
  • Sponsored detection is not a classifier. isSponsored is true only when Google visibly labels a card as sponsored. Organic ads can appear without that label.
  • Some fields are source-dependent. Brand, description, price history and typical price are present only when Google exposes them for that product. They are omitted rather than guessed.

Practical use

  • Price monitoring: run product mode on a fixed list of IDs and compare priceValue, totalPrice and priceHistory over time.
  • Deal scanning: use deals mode with onSale, a price range and sortBy: price_low.
  • Market research: search a category with sortBy: review_score and compare merchants, availability and shipping.
  • Catalog enrichment: search with includeProductDetails to attach brand, images, specs and offers to keyword results.

FAQ

Do I need cookies, a login or a proxy setup? No. The actor reads public Google Shopping pages and handles its own access. There are no user credentials, cookies or proxy fields.

Can I get every seller offer? No. Up to five offers per product is a hard limit of the public product viewer; the total count is returned so you know how many exist.

Why is a field missing on some records? Google does not show every field on every card or product. Missing values are omitted; the actor does not fill them with guesses or sentinels.

Why does the currency differ from the country I chose? Google's market routing is not guaranteed. The actor detects the served currency, retries once with the location hint, and reports the actual result rather than assuming.

Can I sort by price? Yes — the actor sorts the collected rows by price or rating. The order is deterministic but reflects the rows collected, not Google's full index.

Does this return product review text? No. Review text is not available on this path.

Is this affiliated with Google? No. It is an independent third-party tool that reads publicly available Google Shopping pages.