Google Shopping Scraper avatar

Google Shopping Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Google Shopping Scraper

Google Shopping Scraper

Google Shopping and Google Lens scraper for price comparison, competitor research and product discovery across 49 countries.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

devcake

devcake

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Google Shopping Product & Price Scraper

Extract Google Shopping product data, prices, sellers, ratings, delivery details, and images. Search by keyword or product photo and turn shopping results into an easy-to-use list.


What this Google Shopping scraper does

The Google Shopping Scraper helps you collect product listings without copying results by hand.

Use it to:

  • 🔎 Search for one or many products by keyword
  • 📷 Upload a product photo or use public image links
  • 🖼️ Find product listings related to an image
  • 🌍 Choose a country and language for your search
  • 💱 Optionally convert prices to another currency
  • 📦 Collect up to 1,000 unique products for each search
  • 🔀 Keep keyword and image searches together in one job

There is no Google sign-in required. Add your searches, start the tool, and receive a clean product list ready to review or download.


Who it's for

  • 🛒 Online sellers — research products, prices, and competing stores
  • 🏬 Retail teams — compare product listings and watch market prices
  • 🏷️ Brands — check how products appear across Google Shopping
  • 📊 Market researchers — gather product, seller, rating, and delivery information
  • 🤝 Buying teams — discover sellers and compare available offers
  • 💼 Agencies — prepare shopping research for clients in different countries

What data you get

InformationWhat it tells you
Product nameThe title shown in Google Shopping
Current priceThe displayed selling price
Converted priceOptional target-currency price and exchange rate
Original priceThe earlier price when a reduction is shown
Foreign priceA separately labelled comparison price in another currency
DiscountThe displayed saving or discount
SellerThe store offering the product
DeliveryAvailable delivery information
ReturnsAvailable return information
RatingThe product's displayed star rating
Review countThe displayed number of reviews
Product imageA public HTTP(S) thumbnail URL
Result positionWhere the product appeared in the results
Search usedThe keyword or image that produced the result
Identified productThe words found from a product photo when available
Source linkThe Google Shopping results page
Locale diagnosticsRequested country/language, expected and observed currency, market verification, and network route

Some details only appear when Google includes them in the listing. For example, original_price, discount, delivery, returns, rating, and review_count can legitimately be empty. A missing optional field does not mean the parser failed.


Scrape Google Shopping results

Run a single keyword, get a clean dataset. Title, price, seller, rating, image URL, and a stable Google product ID per row. Repeat for any number of queries in one run.

Track prices on Google Shopping

Run the same keyword on a schedule. The Actor deduplicates products within each search and returns stable Google product IDs where available. Use those IDs to join separate run datasets into your own price history.

Google Shopping price scraper

Build a daily competitor snapshot. Capture price, original price, and discount per row so you can spot price moves and promotions without opening every listing.

Google Shopping product data export

Pull structured product data into a CSV or JSON feed. Each row carries the seller name, rating, review count, image URL, and the Google product ID needed for downstream joins.

Search products by image

Upload a product photo or pass a public image URL. The Actor extracts a useful query from the picture and runs it through Google Shopping, so a single image turns into a structured product list.

Google product search by image

Useful for reverse lookup, brand research, and competitor matching. The Actor preserves the original image source in query and the recognized product query in identifiedQuery.

Competitor price monitoring software

Track rival SKUs across stores and countries. Repeated runs against the same keywords produce the data you need for price-matching and competitive alerts.

Automated competitor price monitoring

Schedule runs from the Actor's UI or your own scheduler. Capture Google Shopping prices on a cadence and export a clean competitor table.

Retail competitor price monitoring

Switch the country code and language to capture localised Shopping results. Compare identical keywords across markets to see how each retailer positions the same product.

Google Shopping seller research

See which stores appear for important product searches and how branded items are presented in Google Shopping. Capture merchant names, ratings, and review counts by keyword.

Google Shopping product research

Explore products before adding them to your catalog. Review prices, ratings, sellers, discounts, delivery details, and product images in one place.

Google Shopping country comparison

Run the same query under different country codes. Compare listings, prices, and currencies across markets without manually switching locales.

Google Shopping multiple countries

Run the same input separately for each country code to gather regional catalogues and currencies, then combine the datasets for comparison.

Google Shopping API alternative

Read public result pages through Apify's Google SERP route, with a country-targeted residential fallback when needed. No Google sign-in or CAPTCHA bypass is used.

Google Shopping scraper API

Use the dataset's stable Google product IDs as your internal keys. Output JSON rows that drop straight into a PIM or catalog.

Best competitor price tracking tool

Bounded reads, transparent failures, and a clean competitor table. Repeated runs surface price moves and discount campaigns across stores.


Search options

OptionRequired?What to enter
Search queries (queries)No*One or more product searches, such as wireless headphones
Country (country)NoThe Google Shopping market you want; United States is selected by default. The scraper uses the matching Google country domain and proxy location, then checks the result currency.
Language (language)NoThe Google interface and search language; English is selected by default. Merchant titles are not translated.
Max results (maxResults)NoProducts to collect for each search, from 1 to 1,000; default is 40
Convert prices to (targetCurrency)NoTarget ISO currency for converted prices. Select Do not convert to keep conversion disabled. The original price is always retained.
Upload image (image)No*One PNG, JPG, GIF, or WebP product photo, or a public image link
Image URLs (imageUrls)No*Up to 50 public JPEG, PNG, GIF, or WebP links; each download is limited to 10 MB and searched automatically with Google Lens

*Add at least one keyword or image.

Image searches always use Google Lens Products. No mode selection is required. If Lens cannot identify a usable product query, that image is reported as a failure instead of running an unrelated generic search.


Quick start

  1. Add your search — enter product keywords, upload a photo, add image links, or combine them.
  2. Choose your market — select the country, language, number of products, and optional conversion currency.
  3. Start the tool — wait while it collects the available Google Shopping listings.
  4. Use your results — review the product table or download it for further work.

Easy first search: Try wireless headphones with a limit of 40 results.


Simple example

Search settings

{
"queries": ["wireless headphones"],
"country": "US",
"language": "en",
"maxResults": 40,
"targetCurrency": "EUR"
}

Example result

{
"position": 1,
"title": "Wireless Bluetooth Headphones",
"price": "$39.99",
"converted_price": "EUR 35.10",
"exchange_rate": 0.87778,
"original_price": null,
"foreign_price": null,
"seller": "Example Store",
"image_url": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:example",
"rating": "4.6",
"review_count": "1,248",
"delivery": "Free delivery",
"query": "wireless headphones",
"searchMode": "text",
"country": "US",
"language": "en",
"google_domain": "google.com",
"expected_currency": "USD",
"observed_currency": "DOLLAR",
"market_match": true,
"route": "serp"
}

Why use this Google Shopping data extractor

  • ⏱️ Save time — collect many shopping listings in one go
  • ⚖️ Compare more easily — place prices, sellers, ratings, and delivery details side by side
  • 🔍 Search your way — use keywords, product photos, or both
  • 🌍 Research different markets — choose the country and language that matter to you
  • 🎯 Stay focused — set a clear result limit for every search
  • 🧹 Work with clean results — receive one organized row for each product found

Google Shopping pages can change, and some searches may occasionally show a verification page instead of products. When that happens, the tool stops safely rather than returning misleading results.

When Google embeds a card thumbnail directly in the HTML instead of exposing a remote URL, the Actor validates the image, stores one deduplicated copy in the run key-value store, and returns its public HTTP URL in image_url.

The same fail-safe applies to localization. If the dominant returned currency conflicts with the requested country, the scraper retries through the country-targeted residential route. If the mismatch remains, the run fails instead of publishing products from the wrong market.

Runs use bounded automatic concurrency: up to four searches globally, with a two-search limit for the heavier Lens path. Dataset writes are queued separately so storage latency does not occupy a scrape slot. The SUMMARY record includes request, retry, byte, queue-wait, scrape, dataset-write, and total-duration diagnostics.

When targetCurrency is selected, the Actor fetches one exchange rate for the entire run and uses decimal arithmetic with target-currency rounding. It prefers the open-source Frankfurter API, whose reference rates are sourced from central banks, and falls back to the open-source Fawaz currency API. The original price is never overwritten. Converted rows expose only converted_price and exchange_rate; provider and rate-date details stay internal. The SUMMARY record reports the exchange rate and converted-row count.


Frequently asked questions

How do I track prices on Google Shopping?

Run the same keyword repeatedly. Each run has its own dataset; use the stable Google product IDs to join rows and deduplicate them in your time-series store.

How to search a product by image on Google?

Upload the photo as image or pass a public URL in imageUrls. The Actor automatically searches it with Google Lens and returns the related product cards.

Can Google find a product from an image?

Often. Google Lens can identify brands and product names from a clear photo. This Actor returns structured product rows alongside the recognized query; it reports an image-level failure when Lens cannot produce a usable query.

Is there a Google Shopping API?

The official Content API for Shopping requires a Merchant Center account and a quota. This Actor is an alternative that reads public result pages anonymously, so you can start small and scale without Merchant Center access.

Why can some product titles still be in another language?

The language option controls Google's interface and search context. Product titles are supplied by merchants, so Google may include a foreign-language title when it considers the offer relevant. Check market_match, expected_currency, and observed_currency to confirm that the requested market was actually served. DOLLAR means Google displayed an ambiguous $ symbol that is compatible with the selected dollar-denominated market.

How does currency conversion work?

Choose a value in Convert prices to. The Actor parses the localized current price, resolves ambiguous symbols such as $ from the selected country, and multiplies it by one dated reference rate shared by the run. It does not convert the separately labelled foreign_price, and it does not replace Google's original price. If no trustworthy rate can be obtained, the run stops instead of publishing guessed converted values.

Why are some output fields empty?

Google does not show every attribute on every Shopping card. Original price and discount only exist for promotions; delivery, returns, ratings, and reviews also depend on the merchant and listing. The scraper leaves unavailable values empty instead of guessing them.