Google Shopping Scraper: Prices, Stores, Price History & GTIN

Tauqeer Abbas · @nextgensda

Search Google Shopping in any country: products with prices, merchants and ratings; details and specs, every store's offer, per-store price history and reviews; look products up by GTIN/UPC/EAN. Filters for price, rating, brand, store and sale. Pay per result.

About

Google Shopping Scraper: Prices, Stores, Price History & GTIN

Search Google Shopping in any country and get every product with its price, store, rating and reviews count. Add what you need on top: the product's details and specs, every store's offer, 12 months of price history per store, review texts. Look products up by GTIN / UPC / EAN. Filter by price, rating, brand, store, sale and any filter Google shows. No Google account, no API key. One monthly rental, no per-row fees.

What it does

  • Search by keywords, or paste Google Shopping links (their filters are kept). Up to ~240 products per query, in Google's order or sorted by price or rating.
  • Filters: min/max price, min rating, on sale, brand, store, and any filter chip Google offers for the search ("Wireless", "Used", "Small business", a category...).
  • Product details: description, specs, variants (colour, size), images, videos, review summary and topics, Google's AI insights.
  • Every store's offer: price, shipping, condition, availability, delivery and returns, seller rating, payment options and the store's link, for up to 1,000 stores a product.
  • Price history: each store's daily price over up to 12 months, the typical price range, and the sale events (Black Friday, holidays) Google marks.
  • Reviews: title, text, rating, date and source.
  • GTIN / UPC / EAN lookup: barcodes matched to their Google Shopping product, with details, offers and price history.
  • Any market: country and language (us, gb, de, fr, ca, au...): local stores, prices and currency.

Why this one

This actorTypical Google Shopping scrapers
Every store's offeryes, up to 1,000 storesthe first 3-5
Price history per storeyes, 12 monthsrarely
GTIN / UPC / EAN lookupyessome
Filters (price, rating, brand, store, chips)all of thema few
Specs, variants, review topics, AI insightsyespartly
Extrasread only when you ask for themoften always on

Input examples

Search with filters:

{
  "queries": ["air fryer"],
  "country": "gb",
  "maxPrice": 100,
  "minRating": 4,
  "sort": "price_low",
  "maxItems": 50
}

Price comparison across every store:

{
  "queries": ["sony wh-1000xm5"],
  "maxStores": 100,
  "includePriceHistory": true,
  "maxItems": 5
}

Barcodes:

{
  "gtins": ["009800895007", "045496883386"],
  "maxStores": 20,
  "includePriceHistory": true
}

A Google Shopping link (filters included):

{
  "startUrls": [{"url": "https://www.google.com/search?q=running+shoes&udm=28&gl=us"}],
  "maxItems": 100
}

Output

One row per product (dataType: "product"):

{
  "dataType": "product",
  "title": "Sony WH-1000XM6 Wireless Noise Canceling Headphones",
  "brand": "Sony",
  "price": "$379.99",
  "price_value": 379.99,
  "currency": "USD",
  "price_was": null,
  "merchant": "BrandsMart USA",
  "rating": 4.66,
  "reviews": 6139,
  "position": 2,
  "image": "https://encrypted-tbn1.gstatic.com/shopping?q=...",
  "shelves": ["Noise-Cancelling Headphones"],
  "source": {"type": "query", "query": "headphones", "country": "us", "language": "en"},
  "details": {
    "description": "...", "specs": [{"name": "Brand", "value": "Sony"}],
    "variants": [{"facet": "Color", "options": ["..."]}], "store_count": 238,
    "price_min": 305.88, "price_max": 459.99, "review_topics": ["..."]
  },
  "offers": [
    {"merchant": "Best Buy", "price": "$378.00", "price_value": 378.0, "currency": "USD",
     "shipping": "Free delivery", "condition": null, "seller_rating": 4.5,
     "url": "https://www.bestbuy.com/...", "badges": ["Most popular"]}
  ],
  "price_history": {
    "typical": "$299 to $459", "typical_low": 299.0, "typical_high": 459.0,
    "stores": [{"store": "Sony", "points": [{"date": "2025-11-09", "price": 449.0}]}],
    "events": [{"date": "2025-11-28", "name": "Black Friday"}]
  },
  "reviews": [{"title": "...", "text": "...", "rating": 5, "date": "2 months ago", "source": "bestbuy.com"}]
}

details, offers, price_history and reviews are filled when asked for. A GTIN that Google can't match gets a free row with dataType: "gtin".

Pricing

One monthly rental, no per-row fees: details, every store, price history and reviews included. Runs use Bytewells compute and proxy traffic from your credit. The actor needs 2 GB of memory (the default): it opens a Google session in Chrome on a US residential IP and reads everything else over plain HTTP on that session.

Measured on Bytewells:

RunProductsTimeUsage
10 products with details and up to 30 stores each104 min$0.12
60 products with details6021 min$0.32

Most of the time and usage goes into opening Google sessions: one serves ~45 requests, and some IPs are refused before one opens. A product found by several searches is delivered once.

Good to know

  • Google offers ~200-240 products per query; use several queries or filters for more.
  • GTIN lookup matches the barcode to the product Google names for it: a size or colour variant can come back as its sibling. The match score is in source.match_score.
  • A query Google can't match returns popular products rather than nothing; the log notes searches whose results don't contain the query's words.
  • Prices are what Google shows at the moment of the run, in the market's currency.
  • Long store lists and price history take more time: plan ~1 minute per 100 stores read.

Use it from your tools

Call it from the Bytewells API (Apify-compatible: apify-client works with its base URL), a schedule, or an AI agent via the Bytewells MCP server; results export to JSON, CSV or Excel.

More Actors from the same publisher.

View all from @nextgensda