Google Shopping Scraper - Prices, Stores, Offers & Ratings avatar

Google Shopping Scraper - Prices, Stores, Offers & Ratings

Pricing

from $0.63 / 1,000 products

Go to Apify Store
Google Shopping Scraper - Prices, Stores, Offers & Ratings

Google Shopping Scraper - Prices, Stores, Offers & Ratings

Scrape Google Shopping by search term or product id: title, price, old price, discount, store, delivery, returns, condition, rating, exact review count, brand and image. Google's own sort and price filters, ~250 products per term, optional store offers with store links, price monitor.

Pricing

from $0.63 / 1,000 products

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Google Shopping Scraper do?

Google Shopping Scraper turns a Google Shopping search into a clean product list: one row per product with its title, price, previous price and discount, the store, delivery and returns, condition, rating and review count, brand, image and Google's product ids. Type a search term, a model number or a barcode, paste a Google Shopping URL, or give product ids. Built for price monitoring, MAP enforcement, competitor research, product feeds and e-commerce analytics.

Also known as: Google Shopping API, Google Shopping price scraper, Google product search scraper.

  • πŸ›’ Up to ~250 products per search term - the actor pages through Google's results (248 unique products for "coffee maker" in one measured run), not only the first ~40.
  • ↕️ Google's own sort and filters - price low to high, high to low, rating; price range, on sale, free shipping, 4 stars and up. Sent to Google the way its own filter chips send them, then checked again on every row before it is charged.
  • πŸͺ Store offers with the store's own link - switch on Product details to open each product's Google page: every store offer shown there (store, price, old price, availability, delivery, returns, store rating) with the store's real product URL, plus description, specifications, photos, variants and Google's typical price range.
  • πŸ”’ Exact review counts - reviewCount is the exact number from Google's product data (6,632), not the rounded "6.6K" on the card.
  • 🌍 Any country - prices, stores and currency of the country you pick; pages Google localises to the wrong country are detected and fetched again.
  • πŸ” Price monitor - schedule it and get only products that are new or re-priced since the last run, with the previous price and the change.
  • No login, no cookies, no Google API key. Pay only for delivered products.

What data can you get from Google Shopping?

🏷️ title, brandπŸ’² price, priceText, currencyπŸ“‰ oldPrice, discountPercent, badge
πŸͺ store, moreStores🚚 delivery, freeDelivery↩️ returns, freeReturns
⭐ rating, reviewCountπŸ†• condition (new / used / refurbished)πŸ–ΌοΈ thumbnail
πŸ”— productUrl (Google product page)πŸ†” productId, catalogId, offerId, groupIdπŸ“ nearby ("Nearby, 17 mi")
πŸ’¬ priceNote ("Usually $23")🌐 foreignPrice ("Β£252")πŸ—‚οΈ shelf (Google's product shelf)
πŸ“„ description, specifications *πŸ›οΈ offers with store URLs *πŸ“Š typicalPriceLow, typicalPriceHigh *
🎨 variants, images *πŸ“ˆ previousPrice, priceChange **πŸ” query, position, page, searchUrl

* with Product details on Β· ** with Only new or re-priced products on

How to scrape Google Shopping with Google Shopping Scraper

  1. Create a free Apify account - it comes with monthly free credit.
  2. Open Google Shopping Scraper and type one or more search terms (wireless earbuds, sony wh-1000xm5).
  3. Pick the Country, and optionally a sort order, a price range or other filters.
  4. Set Max products per search and click Start.
  5. Download the results as JSON, CSV, Excel or HTML, or send them to Google Sheets, a database or a webhook.

⬇️ Input

ParameterTypeDescription
queriesarraySearch terms, one Google Shopping search each: words, model numbers, barcodes (EAN/UPC/GTIN) or pasted Google Shopping search URLs (their own filters are kept). Default ["wireless earbuds"].
productIdsarrayGoogle product ids (productId from an earlier run) or Google Shopping product links. Each returns one product with its product page.
countrystringGoogle country, e.g. us, gb, de, fr, ca, au. Default us.
languagestringGoogle interface language, e.g. en, de. Default en.
sortBystringrelevance (default), price_low, price_high, rating - Google's own sort.
minPrice, maxPricenumberPrice range in the country's currency (Google's own filter, re-checked per row).
onSale, freeShippingbooleanGoogle's "On sale" and "Free shipping" filters.
minRatingnumberMinimum stars, 1-5.
exactQuerybooleanStop Google's spelling correction (use it for barcodes and model numbers).
conditionstringany (default), new, used, refurbished.
freeReturnsbooleanOnly products whose card shows free returns.
storesarrayOnly these stores, e.g. ["Walmart", "Best Buy"] (part of the name is enough).
minReviewsintegerOnly products with at least this many reviews.
includeDetailsbooleanOpen each product's Google page: offers with store URLs, description, specifications, photos, variants, typical price. Default off.
maxDetailsPerQueryintegerProducts per search that get their product page. Default 10; 0 = all.
monitorMode, monitorNameboolean, stringDeliver only products that are new or re-priced since earlier runs of the same search.
maxResultsPerQueryintegerProducts per search term. Default 100 (up to 500).
maxResultsintegerProducts for the whole run. Default 1,000; 0 = no cap.
maxConcurrencyintegerGoogle pages fetched at once. Default 4.
saveHtmlbooleanDebugging: keep the raw Google pages in the key-value store.

Input JSON

{
"queries": ["wireless earbuds", "espresso machine"],
"country": "us",
"sortBy": "price_low",
"minPrice": 30,
"maxPrice": 80,
"maxResultsPerQuery": 100,
"includeDetails": true,
"maxDetailsPerQuery": 5
}

Put one product idea per search term

Each line is its own Google Shopping search. wireless earbuds and sony wf-1000xm5 return different product sets; a sentence with several products in it returns a muddled one. Google returns about 40-60 products on the first page and up to ~250 per term in total, so for more products use more (narrower) terms.

Barcodes and model numbers: switch on Exact search term

Google corrects the spelling of terms it does not recognise ("These are results for ..."). The row then carries the term Google used in correctedQuery. For a barcode, part number or a new brand name, switch on Exact search term so Google searches exactly what you typed.

Filters are Google's, and they are checked again

Sort, price range, on sale, free shipping and minimum rating are sent to Google, so Google returns matching products. Google's price filter is not exact (in one measured run 12 of 80 products came back outside the range), so every filter is also checked on each product before it is delivered - products outside your filters are dropped and not charged.

⬆️ Output

A real row from a measured run ("espresso machine", United States, Product details on, 2026-10-16), trimmed:

{
"query": "espresso machine",
"position": 3,
"title": "Rancilio Silvia Pro X Espresso Machine",
"brand": "Rancilio",
"price": 2195,
"priceText": "$2,195.00",
"currency": "USD",
"store": "Majesty Coffee",
"moreStores": true,
"rating": 5,
"reviewCount": 272,
"productId": "162299799362446413",
"productUrl": "https://www.google.com/search?ibp=oshop&q=Rancilio+Silvia+Pro+X+Espresso+Machine&prds=catalogid%3A162299799362446413...",
"offersShown": 5,
"lowestOfferPrice": 1791,
"lowestOfferStore": "homecoffeemachines.ie",
"offers": [
{ "store": "Majesty Coffee", "price": 2195, "label": "Most popular", "availability": "In stock online",
"delivery": "Free delivery", "returns": "30-day returns",
"url": "https://majestycoffee.com/products/rancilio-silvia-pro-x?currency=USD&country=US&variant=41606107201687&stkn=5a7eca5ec341" }
],
"specifications": { "Capacity": "Multiple Cups", "Water Tank Size": "2 L", "Milk System": "Steam Wand" }
}

Fields and how often they are filled

Measured on 388 products from three US searches (wireless earbuds, running shoes, coffee maker), 2026-10-16:

FieldFilledNote
title, price, priceText, currency, productUrl, productId100%
store97%some cards show only "& more" - the store list is on the product page
offerId, imageId97%
catalogId, groupId95-96%single-store listings have no catalog id
thumbnail94%
rating, reviewCount, brand91%products without reviews have none
moreStores true80%
returns79%
delivery60%
badge / oldPrice + discountPercent26% / 16-18%only discounted products
shelf37%first results page only
priceNote, foreignPrice, nearby, conditionText0-6%only when Google shows them

With Product details on (4 products, 16 store offers measured): offers, offer store, price, availability, delivery and store URL 100%; images 100%; description and specifications 3 of 4; variants and typical price range 2 of 4 (only when Google shows them); offer store rating 10 of 16; old price on offers only when discounted.

Use cases

  • πŸ’° Price monitoring - schedule a daily run with Only new or re-priced products and get every price change with the old price.
  • 🏷️ MAP enforcement - search your products, filter by store and catch sellers below the advertised price.
  • πŸ”Ž Competitor research - see which brands, stores and price points own a product category.
  • 🧾 Product feeds and catalogues - titles, images, specifications and Google product ids for a list of products.
  • πŸ›οΈ Where to buy - the store offers of a product, with each store's own URL.
  • πŸ“ˆ Market sizing - counts, price ranges and ratings across up to ~250 products per term.

How much does it cost to scrape Google Shopping?

Pay per result, no start fee:

EventPriceWhen
Product$0.00063 per product ($0.63 per 1,000)every product row
Product details$0.012 per producteach product whose Google product page was read (Product details on)
RunCost
100 products$0.063
1,000 products$0.63
100 products, 10 with product details$0.183

Not charged: duplicates (a product in several Google shelves is one row), products removed by your filters, unchanged products in monitor mode, pages that could not be read.

Integrations, API, scheduling & MCP

Run it on a schedule (daily price checks), get a webhook when a run finishes, or connect it to Make, Zapier, n8n, Google Sheets or Slack. Call it from code with the Apify API (Python, JavaScript), or let an AI agent run it through the Apify MCP server.

More Google scrapers

Limits & empty runs

  • Google shows about 40-60 products on the first page and up to ~250 per term (measured: 248 for "coffee maker" over 8 pages). Paging stops when a page adds no new product.
  • Sponsored (paid) Shopping ads are not returned: Google does not show them to automated requests.
  • GTIN/MPN are not on the results cards; a barcode works as a search term.
  • About 1 in 12 Google pages comes back localised to the wrong country; the actor detects it (page language and currency) and fetches the page again at no charge to you.
  • A product page takes about 60 s, so runs with Product details are slower.
  • A run that delivers nothing charges nothing. Google answers almost every term with products - for a term it does not know it corrects the spelling (see correctedQuery).

FAQ

How much does Google Shopping Scraper cost?

$0.00063 per product, plus $0.012 per product when Product details is on. 1,000 products cost $0.63. No start fee.

How many products can Google Shopping Scraper get?

Up to about 250 per search term (Google's own limit), any number of terms per run.

Can Google Shopping Scraper get the prices of every store selling a product?

Yes - switch on Product details. Each product then carries the store offers on its Google product page, with price, old price, availability, delivery, returns, store rating and the store's own product URL.

Can I sort Google Shopping results by price with Google Shopping Scraper?

Yes. sortBy: "price_low" sends Google's own "Price: low to high" sort; measured, the first page came back in ascending price order.

Can I look up products by barcode or id?

Search a barcode as a term (with Exact search term on), or put Google product ids or product links in Product ids for one detailed row per product.

Can I schedule Google Shopping Scraper as a price tracker?

Yes. Save your input as a task, add a daily schedule and switch on Only new or re-priced products: each run delivers only products that are new or whose price changed, with previousPrice, priceChange and priceChangePct.

Which countries does Google Shopping Scraper support?

Any country with Google Shopping. Pick it in Country; prices come in that country's currency. Measured in the United States and Germany.

Can I use Google Shopping Scraper with the Apify API or Python?

Yes - start runs and read the dataset with the Apify API or the Python and JavaScript clients.

Can AI agents use Google Shopping Scraper through MCP?

Yes, through the Apify MCP server.

Do I need a Google account or API key for Google Shopping Scraper?

No. No login, no cookies, no Google API key.

Why did my Google Shopping Scraper run return fewer products than I asked for?

Google ran out of products for the term, or your filters removed them (the run summary lists how many each filter dropped), or monitor mode skipped unchanged products. None of those are charged.

Your feedback

Something missing or wrong? Open an issue on the Issues tab - we read every one.