Google Shopping Scraper - Prices, Stores, Offers & Ratings
Pricing
from $0.63 / 1,000 products
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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 -
reviewCountis 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
- Create a free Apify account - it comes with monthly free credit.
- Open Google Shopping Scraper and type one or more search terms (
wireless earbuds,sony wh-1000xm5). - Pick the Country, and optionally a sort order, a price range or other filters.
- Set Max products per search and click Start.
- Download the results as JSON, CSV, Excel or HTML, or send them to Google Sheets, a database or a webhook.
β¬οΈ Input
| Parameter | Type | Description |
|---|---|---|
queries | array | Search 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"]. |
productIds | array | Google product ids (productId from an earlier run) or Google Shopping product links. Each returns one product with its product page. |
country | string | Google country, e.g. us, gb, de, fr, ca, au. Default us. |
language | string | Google interface language, e.g. en, de. Default en. |
sortBy | string | relevance (default), price_low, price_high, rating - Google's own sort. |
minPrice, maxPrice | number | Price range in the country's currency (Google's own filter, re-checked per row). |
onSale, freeShipping | boolean | Google's "On sale" and "Free shipping" filters. |
minRating | number | Minimum stars, 1-5. |
exactQuery | boolean | Stop Google's spelling correction (use it for barcodes and model numbers). |
condition | string | any (default), new, used, refurbished. |
freeReturns | boolean | Only products whose card shows free returns. |
stores | array | Only these stores, e.g. ["Walmart", "Best Buy"] (part of the name is enough). |
minReviews | integer | Only products with at least this many reviews. |
includeDetails | boolean | Open each product's Google page: offers with store URLs, description, specifications, photos, variants, typical price. Default off. |
maxDetailsPerQuery | integer | Products per search that get their product page. Default 10; 0 = all. |
monitorMode, monitorName | boolean, string | Deliver only products that are new or re-priced since earlier runs of the same search. |
maxResultsPerQuery | integer | Products per search term. Default 100 (up to 500). |
maxResults | integer | Products for the whole run. Default 1,000; 0 = no cap. |
maxConcurrency | integer | Google pages fetched at once. Default 4. |
saveHtml | boolean | Debugging: 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:
| Field | Filled | Note |
|---|---|---|
title, price, priceText, currency, productUrl, productId | 100% | |
store | 97% | some cards show only "& more" - the store list is on the product page |
offerId, imageId | 97% | |
catalogId, groupId | 95-96% | single-store listings have no catalog id |
thumbnail | 94% | |
rating, reviewCount, brand | 91% | products without reviews have none |
moreStores true | 80% | |
returns | 79% | |
delivery | 60% | |
badge / oldPrice + discountPercent | 26% / 16-18% | only discounted products |
shelf | 37% | first results page only |
priceNote, foreignPrice, nearby, conditionText | 0-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:
| Event | Price | When |
|---|---|---|
| Product | $0.00063 per product ($0.63 per 1,000) | every product row |
| Product details | $0.012 per product | each product whose Google product page was read (Product details on) |
| Run | Cost |
|---|---|
| 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
- Google SERP Scraper - organic web results by query.
- Google News Scraper - news articles with decoded URLs.
- Google Trends Scraper - interest over time and by region.
- Google Flights Scraper - fares, flight numbers and layovers.
- Google Ads Transparency Scraper - advertisers' ad creatives.
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.