Google Shopping Scraper avatar

Google Shopping Scraper

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Google Shopping Scraper

Google Shopping Scraper

Collect Google Shopping offers for any search, country and language: product title, price and currency, previous price, store, rating and review count, delivery and returns notes, product link and image. Paging and item caps included; you only pay for offers delivered.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Compare prices across stores in one table. Type the products you care about, pick a country and language, and every Google Shopping offer becomes one clean row: product title, current price as a number and as shown, currency, the "Was" or "Usually" price, the deal badge, the store, whether other stores sell it too, star rating and review count, delivery and returns notes, a link to the product's Google Shopping page and the product image.

Collect a quick snapshot of the first results or page deeper, with a cap per search and a cap for the whole run, so a long list of searches never runs away. You only pay for offers delivered; pages that cannot be read are listed in the run summary and are not charged.

Use cases

  • Price monitoring: track what stores charge for your products, or your competitors', on a schedule.
  • Competitor research: see which stores list a product, at what price, with what delivery and returns terms.
  • Deal discovery: find offers below their usual price, with the discount badge Google shows.
  • Assortment and market research: what sells under a search term in a given country, with ratings and review counts.
  • Catalog enrichment: product titles, images and review counts for a list of products.

Quick Start

{
"queries": ["wireless earbuds", "espresso machine"],
"countryCode": "us",
"languageCode": "en",
"maxItemsPerQuery": 50,
"maxItems": 1000
}

Each search is one Google Shopping search. Google lists about 40 to 60 offers per results page; set maxItemsPerQuery higher to read further pages. Paging stops by itself when a search runs out of new offers.

Input

InputTypeDefaultMeaning
queriesarrayrequiredWhat to search for, one search per line, exactly as you would type it (espresso machine, nike air max 90). A Google search link (google.com/search?q=...) also works. Repeated searches are read once.
countryCodestringusTwo-letter code of the shopping market (us, gb, de, fr, ca, au, in, ...). Prices, stores and currency follow that country.
languageCodestringenLanguage of the result text, such as delivery and returns notes (en, de, fr, es, ...).
maxItemsPerQueryinteger100Offers to collect per search, 1 to 1,000.
maxItemsinteger1000Total cap on offers (dataset rows) across every search, up to 20,000.
maxConcurrencyinteger3Searches that run side by side, 1 to 5.

Example queries

  • {"queries": ["4k monitor", "mechanical keyboard"], "maxItemsPerQuery": 100}
  • {"queries": ["kaffeevollautomat"], "countryCode": "de", "languageCode": "de"}
  • {"queries": ["electric kettle", "air fryer"], "countryCode": "gb"}
  • {"queries": ["https://www.google.com/search?q=running+shoes"]}

What it returns

The dataset contains one row per offer:

FieldMeaning
position1-based rank of the offer within its search, across pages.
titleProduct title as listed.
priceCurrent price as a number. For a "from" price shown as $640+, the lowest price.
priceTextThe price exactly as shown, for example $249.99, 419,00 € or $640+.
currencyISO currency code, such as USD, EUR or GBP.
originalPriceThe previous or typical price as a number, when the offer shows one.
originalPriceTextThat price as shown, for example Was $599 or Usually $299.
hasMorePricesGoogle notes that more prices are available for the product.
conditionCondition label when shown, for example Used or Refurbished.
badgeDeal badge, for example 8% OFF or Low price.
merchantThe store selling the offer. Empty for a "from" price across several stores.
moreStoresOther stores also sell this product.
ratingAverage product rating out of 5.
reviewsCountNumber of reviews (3.6K becomes 3600).
deliveryDelivery note, for example Free delivery by Wed.
returnsReturns note, for example 30-day returns.
productLinkThe product's Google Shopping page, with prices from every store.
imageUrlProduct image.
productId, offerIdGoogle's ids for the product and for this offer.
searchQueryThe search the offer came from: term, page, countryCode, languageCode.
scrapedAtCollection time (UTC, ISO 8601).

Fields that an offer does not show are null. The run summary (OUTPUT) reports offers (rows delivered), pages read, searches with no results in emptyQueries, and any page that could not be read in pageErrors, each with a short code and message (for example BLOCKED, LAYOUT_CHANGED or NETWORK_ERROR).

Output example

{
"position": 4,
"title": "Gaggia Classic E24 Iconic espresso machine for your home",
"price": 549.0,
"priceText": "$549.00",
"currency": "USD",
"originalPrice": 599.0,
"originalPriceText": "Was $599",
"hasMorePrices": false,
"condition": null,
"badge": "8% OFF",
"merchant": "Whole Latte Love",
"moreStores": true,
"rating": 2.9,
"reviewsCount": 831,
"delivery": "Free delivery by Sat",
"returns": "30-day returns",
"productLink": "https://www.google.com/search?ibp=oshop&q=Gaggia+Classic+E24+Iconic+espresso+machine+for+your+home&prds=catalogid%3A10095501518220150894%2Cgpcid%3A14862320879344990550%2CheadlineOfferDocid%3A3644310309703997006%2CimageDocid%3A7557753840327796041%2CproductDocid%3A17420663260271296052%2Cpvt%3Ahg&hl=en&gl=us&udm=28",
"imageUrl": "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcSPNnYW3QhnZICjzkZeAi5mV3wH-G_V28yf2MWTNAUfQr2Q7oVyDUpMSFCKLFAWUKzqyT9INcOmFQ",
"productId": "10095501518220150894",
"offerId": "3644310309703997006",
"searchQuery": {
"term": "espresso machine",
"page": 1,
"countryCode": "us",
"languageCode": "en"
},
"scrapedAt": "2026-10-20T00:31:12Z"
}

Price

$0.0022 per offer delivered (one dataset row), plus $0.005 per run start. The run-start event is charged per GB of memory; the default 512 MB run is one start event ($0.005). The start is charged even if the run saves no offers. Pages that could not be read are not charged. Platform usage is included in these prices. 1,000 offers cost $2.20 plus the start.

Good to know

  • Google shows each shopper a slightly different selection, so offers and their order can differ from what you see when signed in to your own Google account. Results here are what a signed-out shopper in the chosen country sees.
  • Prices come from the chosen country's shop, in its currency. A few offers from stores abroad can appear (for example US$120.00 in Canada), and currency always says which currency a price is in.
  • The same product can be listed in several places on a results page; each offer is delivered once per search.
  • The store's own product page is one click away from productLink, which lists every store's price for the product.
  • Most searches run out of new offers after a few pages (roughly 100 to 250 offers), so very high maxItemsPerQuery values may return fewer offers.
  • Searches that return no offers are listed in OUTPUT.emptyQueries. If a run's searches keep returning almost nothing, the run stops early and says so, rather than reading empty pages.
  • If Google temporarily limits requests, the run retries with growing pauses and reports any page it could not finish in OUTPUT.pageErrors; offers already collected are kept. If no page at all can be read, the run fails with a clear message.