Google Shopping Scraper - Prices, Stores & Offers
Pricing
from $2.00 / 1,000 google shopping product delivereds
Google Shopping Scraper - Prices, Stores & Offers
Scrape Google Shopping in any country: product title, price, old price, discount, currency, store, shipping, condition, rating, reviews, image, product ID and link. Optional store-by-store offers with direct links. Price, condition and store filters. Pay per product.
Pricing
from $2.00 / 1,000 google shopping product delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
2 days ago
Last modified
Categories
Share
Google Shopping scraper that returns the products Google ranks for any keyword, in any country: title, current price, old price, discount, currency, store, shipping, condition, rating, review count, image, Google product ID and link, plus optional store-by-store offers with direct store links.
Built for e-commerce teams and price-monitoring tools, brands enforcing MAP, and agencies and analysts that need clean product price data at $2.50 per 1,000 products. AI agents can call it through the Apify MCP server.
At a glance
| This Actor | burbn/google-shopping-scraper (most used in the last 30 days) | |
|---|---|---|
| Price per 1,000 products, Free plan | $2.50 | $20.00 |
| Price per 1,000 products, Gold plan and above | $2.00 | $5.00 |
| Fee per run start | None | $8.00 per 1,000 run starts |
| Searches with no results, filtered-out products, duplicates, blocked requests | Free rows with an errorCode | Not stated on its page |
| Users in the last 30 days | 1 (published 2026-09-15) | 134 |
| Store rating | No reviews yet | 5.0 (2 reviews) |
| Public run success, last 30 days | No public runs yet; 32 of our 34 test runs succeeded | 99.9% (6,009 of 6,018) |
Competitor figures were read from the public Apify API (api.apify.com/v2/store?search=google shopping) on 2026-09-15 and change every day; the Store page always shows the live number. Across the ten most relevant Actors for the term that day, search-result prices ran from $2 to $70 per 1,000 products, several of them with an extra fee of up to $0.035 charged on every run start.
One real row
Minimal input:
{ "queries": ["wireless earbuds"], "country": "us", "maxItems": 30 }
A real row from a run of 2026-09-15, shortened in the long Google identifiers (the full row is under "Output example" below):
{"position": 4,"title": "Anker Soundcore P31i","price": 34.99,"priceText": "$34.99","oldPrice": 50,"discountPercent": 30,"currency": "USD","store": "soundcore US","moreStores": true,"shipping": "Free delivery","freeShipping": true,"condition": "new","rating": 4.8,"reviewCount": 1500,"productId": "8351549705576353052","searchQuery": "wireless earbuds","country": "us","scrapedAt": "2026-09-15T18:21:44.329053+00:00","errorCode": null}
What you can do with it
- Price monitoring: schedule the same search terms every day and track how price, old price and discount change for each Google product ID.
- MAP (minimum advertised price) enforcement: search your brand or model names, filter by store, and see which retailers show a price below your policy, with the store's own product link.
- Competitor pricing: compare what Walmart, Best Buy, Target, Amazon marketplace sellers and small shops charge for the same product in the US, UK, Germany, Japan, Brazil or any other Google Shopping country.
- Assortment and market research: list the top products Google ranks for a category, with ratings, review counts and prices, to size a market or spot gaps.
- Deal hunting and affiliate content: keep only products on sale or with free shipping, sorted by price or rating.
Why this one
- $2.50 per 1,000 products, no start fee, no monthly rent. Most Google Shopping scrapers in the Store charge $3.50 to $20 per 1,000 results or add a per-run fee.
- Pay per unique product. The same product often appears in several Google shelves ("Top rated", "Deals", "All products"). It is saved and charged once.
- Any country Google Shopping supports. Prices come in the local currency with local stores: USD, GBP, EUR, JPY, BRL, INR, CAD, AUD and more.
- No browser. Plain HTTP through Apify's Google SERP proxy: a 30-product run finishes in about 10 seconds.
- Searches without products do not fail your run and are not charged. They come back as a row with an
errorCode, so your workflow keeps going. - Drop-in input. Accepts the field names used by other Google Shopping scrapers (
searchQuery,searchQueries,countryCode,languageCode,limit,maxResults,sortBy,productCondition,stores,merchants,min_price,max_price...). - Optional store offers. Turn on
includeOffersto open each product and get the stores Google lists first (store, price, shipping, availability, returns, store rating and the direct store URL) plus how many offers exist in total.
Input example
{"queries": ["wireless earbuds", "espresso machine"],"country": "us","language": "en","maxItems": 100,"sort": "price_low","minPrice": 20,"maxPrice": 150,"itemCondition": "new","onSaleOnly": false,"freeShippingOnly": false,"storeFilter": ["walmart", "best buy"],"includeOffers": false}
Only queries matters to start. Everything else is optional.
Input fields
| Field | Type | What it does |
|---|---|---|
queries | list of text | Products or keywords to search, one per line. Each term is searched separately. |
country | text | Two-letter country code (Google's gl): us, gb, de, fr, br, in, jp... Sets stores and currency. Default us. |
language | text | Interface language (Google's hl): en, de, fr, pt-BR, ja... Default en. |
maxItems | number | Maximum unique products in the run, across all terms. Default 30. |
maxItemsPerQuery | number | Optional cap per search term. |
maxPagesPerQuery | number | Google pages per term (about 30 to 40 new products each). Default 10, max 30. |
sort | select | relevance (Google's order), price_low, price_high, rating, reviews. |
minPrice, maxPrice | number | Price range in the country's currency. |
itemCondition | select | any, new, used, refurbished. |
minRating | number | Minimum Google rating, 0 to 5. |
onSaleOnly | yes/no | Only products with an old price or a deal badge. |
freeShippingOnly | yes/no | Only products whose card says free delivery. |
storeFilter | list of text | Only these stores (part of the name is enough). |
includeOffers | yes/no | Adds store-by-store offers for each product (separate event, see pricing). |
productUrls | list of text | Google Shopping product links (with prds=) or product IDs from a previous run, to get their store offers directly. |
Output example (real run, "wireless earbuds", United States, 15 Sep 2026)
| Rank | Product | Price | Was | Store | Shipping | Rating | Reviews |
|---|---|---|---|---|---|---|---|
| 1 | JLab Go Air Pop True Wireless Earbuds | $19.99 | $25 | Target | Free delivery on $35+ | 4.3 | 31,000 |
| 2 | Jbl Vibe Flex 2 Earbuds | $39.88 | Walmart | Free delivery | 3.8 | 456 | |
| 3 | Sony WF-C510 Truly Wireless Earbuds | $69.99 | Best Buy | Free delivery by Thu | 4.7 | 5,100 | |
| 4 | Anker Soundcore P31i | $34.99 | $50 | soundcore US | Free delivery | 4.8 | 1,500 |
| 5 | Sennheiser ACCENTUM True Wireless Earbuds | $219.95 | Sennheiser Consumer Audio US | Free delivery by Sat | 4.2 | 111 |
The same run in other countries (real rows from the same day):
| Country | Product | Price | Currency | Store |
|---|---|---|---|---|
| United Kingdom | Samsung Galaxy Buds3 FE | £89.00 | GBP | Very |
| Germany | Apple AirPods 4 | 44,91 € | EUR | eBay DE |
| Japan | Xiaomi REDMI Buds 8 Active | ¥2,780 | JPY | Amazon公式サイト |
| Brazil | Fone de Ouvido Philips Bluetooth | R$ 178,51 | BRL | Magalu |
One full row:
{"position": 4,"title": "Anker Soundcore P31i","price": 34.99,"priceText": "$34.99","oldPrice": 50,"oldPriceText": "$50","discountPercent": 30,"badge": "30% OFF","currency": "USD","store": "soundcore US","moreStores": true,"shipping": "Free delivery","freeShipping": true,"condition": "new","rating": 4.8,"reviewCount": 1500,"imageUrl": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQHiNmnc_...","productId": "8351549705576353052","catalogId": "8351549705576353052","gpcid": "4423948571700959631","offerDocId": "10564607306790038108","productDocId": "11127797448468676590","productUrl": "https://www.google.com/search?ibp=oshop&q=Anker+Soundcore+P31i&prds=catalogid%3A8351549705576353052%2C...&udm=28&hl=en&gl=us","offers": null,"searchQuery": "wireless earbuds","country": "us","language": "en","page": 1,"searchUrl": "https://www.google.com/search?q=wireless+earbuds&udm=28&hl=en&gl=us","scrapedAt": "2026-09-15T18:21:44.329053+00:00","errorCode": null}
With includeOffers on (real run, "espresso machine", shortened):
{"title": "De'Longhi Classic Espresso Machine","price": 224.99,"currency": "USD","store": "Best Buy","offersCount": 5,"offersAvailable": 58,"typicalPriceText": "$225–$230","offers": [{ "store": "Best Buy", "price": 224.99, "availability": "In stock online", "shipping": "Free delivery by Thu", "returns": "15-day returns", "storeRating": 4.6, "url": "https://www.bestbuy.com/product/delonghi-classic-espresso-machine-stainless-steel/J7G8Z85C38/sku/6615146" },{ "store": "Walmart - PRIME LIFE", "price": 225, "availability": "In stock online", "shipping": "Free delivery by Fri", "url": "https://www.walmart.com/ip/De-Longhi-Linea-Classic-Espresso-Machine/17106869078" },{ "store": "De'Longhi", "price": 229.95, "shipping": "Free delivery", "returns": "14-day returns", "storeRating": 3.7, "url": "https://www.delonghi.com/en-us/p/de-longhi-classic-de-longhi-classic-espresso-machine/EM450M.html" },{ "store": "Target", "price": 229.95, "shipping": "Free delivery between Sep 18 – 22", "returns": "90-day returns", "storeRating": 4.5, "url": "https://www.target.com/p/delonghi-linea-classic-espresso-machine/-/A-94266951" }]}
Output fields
| Field | Description |
|---|---|
position | Rank of the product in Google's results for the search term (1 = first). |
sortedPosition | Rank after your sort option, when it is not relevance. |
title | Product title as shown by Google Shopping. |
price, priceText | Current price as a number and as shown. |
oldPrice, oldPriceText | Crossed-out price when the store shows one. |
discountPercent, badge | Discount computed from the two prices, and Google's badge ("20% OFF", "LOW PRICE"). |
currency | ISO currency code (USD, GBP, EUR, JPY, BRL...). |
store, moreStores | Store shown on the card, and whether Google says "& more" stores sell it. |
shipping, freeShipping | Delivery text and a true/false flag for free delivery. |
returns | Return policy text when shown on the card. |
condition, conditionText | new, used or refurbished, and Google's label ("Pre-owned", "Gebraucht"...). |
rating, reviewCount | Google product rating (0 to 5) and number of reviews. |
imageUrl | Product image. |
productId, catalogId, gpcid, offerDocId, productDocId | Google Shopping identifiers. Use productId to track a product over time. |
productUrl | Link to the product on Google Shopping (also accepted in productUrls). |
offers | Store offers (with includeOffers or productUrls): store, merchantId, price, oldPrice, currency, offerTitle, availability, shipping, returns, storeRating, url, offerId. |
offersCount, offersAvailable, lowestOfferPrice | Offers returned, offers Google says exist, and the lowest offer price. |
description, typicalPriceText | Product description and Google's "Typically" price range (with offers). |
searchQuery, country, language, page, searchUrl | What was searched and where the product was found. |
scrapedAt | When the row was collected (UTC). |
errorCode, error | Filled only on free rows: NO_RESULTS, NO_MATCHING_PRODUCTS, BLOCKED, PRODUCT_NOT_FOUND, INVALID_PRODUCT. |
Pricing
$2.50 per 1,000 products, no monthly fee, no start fee.
| Event | Price | When it is charged |
|---|---|---|
| Google Shopping product delivered | $0.0025 | Once per unique product saved to the dataset. |
| Store offers loaded for a product | $0.02 | Only with includeOffers on or with productUrls, once per product that came back with at least one store offer. It needs one extra Google page per product. |
Store discounts by plan, on the product event:
| Apify plan | Price per product | Per 1,000 products |
|---|---|---|
| Free | $0.0025 | $2.50 |
| Bronze | $0.0023 | $2.30 |
| Silver | $0.0021 | $2.10 |
| Gold and above | $0.0020 | $2.00 |
Not charged: searches with no products, products outside your filters, duplicates, and blocked requests.
Examples at the Free plan price: 1,000 products from searches = $2.50. 100 products with store offers = $0.25 + $2.00 = $2.25.
How this compares with other Google Shopping Actors in the Apify Store (measured on 2026-09-15): search-result scrapers charge from $3.50 to $20 per 1,000 results on the Free plan, often with an extra fee per run, and offer-by-product scrapers charge $15 to $20 per 1,000 products.
You can set a maximum cost per run in Apify: the Actor stops when the limit is reached and keeps everything it already saved.
How to use it
In Apify Console
- Type your search terms, pick the country and how many products you need.
- Click Start. Results appear in the Products and prices view and can be exported as JSON, CSV, Excel or HTML.
- Use the Store offers view to see one row per store when offers are on.
Via API
curl -X POST "https://api.apify.com/v2/acts/scrapewise~google-shopping/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["wireless earbuds"], "country": "us", "maxItems": 50}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("scrapewise/google-shopping").call(run_input={"queries": ["running shoes"],"country": "gb","maxItems": 200,"sort": "price_low",})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["title"], product["price"], product["currency"], product["store"])
Scheduling
Create a Task with your search terms and add a Schedule (for example every morning). Each run gives you a fresh dataset; join the rows by productId to build price history.
Integrations
Send results to Google Sheets, Slack, Airtable, a webhook, n8n, Make or Zapier with Apify's integrations. In n8n and Make, use the Apify node with the Actor ID scrapewise/google-shopping.
AI agents and MCP
The Actor works with the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can call it as a tool: "find the 20 cheapest espresso machines on Google Shopping in Germany". Add scrapewise/google-shopping to your Apify MCP server configuration (https://mcp.apify.com/?actors=scrapewise/google-shopping). Each call is billed per product like any other run.
Limitations
- Store offers: Google loads "More stores" with JavaScript. The Actor returns the offers Google lists first on the product page (usually 3 to 5) and tells you the total in
offersAvailable. - Sorting: Google's own sort buttons are not available over HTTP. The
sortoption orders the products collected for each search term; use a highermaxItemsif you want the cheapest products among more results. - Filters: price and condition filters are also added to the search text in English (for example "under $30", "used"), which makes Google return more matching products. Every product is checked against your filters before it is saved, in any language.
- Depth: Google shows a limited number of pages per search, usually 150 to 250 unique products per term. For more, use several related terms (brand, model, category).
- Shipping and rating appear only when Google shows them on the card; in some countries shipping is not shown in results.
- Prices are what Google Shopping displays at the moment of the run. Stores can change them at any time.
If something breaks or a field is missing, open an issue on the Actor page. Issues are answered within a day.
FAQ
Is it legal to scrape Google Shopping? The Actor collects only public search result pages, without logging in. You are responsible for how you use the data and for complying with the laws and terms that apply to you. This Actor collects only public data and respects the site's terms.
Which countries are supported? Any country where Google Shopping is available. Tested on 15 Sep 2026 in the United States, United Kingdom, Germany, France, India, Japan and Brazil, each with local stores and currency.
Can I choose the currency?
Google shows prices in the currency of the country you pick, so set country (for example de for EUR, jp for JPY). The currency field tells you the code for every row.
How many products can I get per search term? Usually 150 to 250 unique products per term (about 30 to 40 new products per Google page). The run stops by itself when Google stops showing new products.
Why did my run return fewer products than maxItems?
Either Google ran out of products for that term, or your filters removed many of them. With narrow filters the Actor stops paging after a few pages that keep almost nothing, so you do not wait for pages full of products you would not use. Filtered-out products are never charged.
Do I pay for duplicates or empty searches?
No. A product is charged once per run even if it appears in several Google shelves, and a search with no products returns a free row with errorCode: NO_RESULTS.
How do I get the price from every store?
Turn on includeOffers, or paste product links or catalogId values in productUrls. Each product row gets an offers list with store, price, shipping, availability and the direct store link.
How do I track prices over time?
Schedule the same Task daily and match rows by productId. price, oldPrice and discountPercent show how the price moved.
Does it work with n8n, Make, Zapier or Google Sheets? Yes, through Apify's integrations and the Apify nodes for n8n and Make. Results can also be read from the dataset API in JSON, CSV or Excel.
Can an AI agent use it? Yes. Add it to the Apify MCP server and call it from Claude, ChatGPT, Cursor or any MCP client, or call the REST API from your own agent.
I use another Google Shopping scraper. Do I need to change my input?
Usually not. The Actor accepts common field names from other scrapers (searchQuery, searchQueries, countryCode, languageCode, limit, sortBy, productCondition, stores, merchants, min_price, max_price).
Changelog
- 2026-09-15 (page): page corrected to the live price of $2.50 per 1,000 products on the Free plan, with the Store discount ladder down to $2.00 on Gold and above; added the "At a glance" comparison with the most used Actor for this term, measured on the public Apify API that day, and a real output row in the first screen.
- 0.1 (15 Sep 2026): first version. Search by keyword in any country, price, old price, discount, store, shipping, condition, rating, reviews, image and Google product IDs; price, condition, rating, sale, free-shipping and store filters; sorting; optional store offers with direct links; product links and IDs mode.
Em português
Coleta resultados do Google Shopping de qualquer país: título, preço, preço antigo, desconto, moeda, loja, frete, condição, nota, avaliações, imagem, ID do produto e link, com ofertas por loja opcionais. Para monitoramento de preço, MAP e preço da concorrência.
- Monitorar preço todo dia pelo mesmo termo e acompanhar cada produto pelo
productId. - Conferir quais lojas anunciam abaixo do preço mínimo da marca (MAP).
- Comparar o preço da concorrência em qualquer país, na moeda local (
country: "br"traz reais e lojas brasileiras).
Preço: US$ 2,50 por 1.000 produtos no plano Free (US$ 2,00 no Gold), sem mensalidade e sem taxa por execução. Ofertas por loja: US$ 0,02 por produto, só quando pedidas.
Keywords: google shopping scraper, google shopping api, google shopping prices, product prices google, price monitoring, competitor pricing, MAP monitoring, minimum advertised price, price tracker, ecommerce scraper, google shopping offers, product price comparison, merchant prices, retailer prices, shopping results scraper, google product search