Google Shopping Scraper avatar

Google Shopping Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Google Shopping Scraper

Google Shopping Scraper

Scrape Google Shopping search results. Extract product titles, prices, merchant names, ratings, reviews, images, and shipping info for any search query.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(1)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

6

Bookmarked

67

Total users

24

Monthly active users

11 hours

Issues response

9 days ago

Last modified

Share

Google Shopping Scraper — Product Prices, Merchants & Reviews

Extract product data from Google Shopping search results. Get prices, merchant names, ratings, reviews, delivery info, and discount details for any search query across 48 countries.

What does this scraper do?

This actor searches Google Shopping for your queries and extracts structured product data from the results. Each result includes the product title, current price, original price (if discounted), merchant name and URL, rating, review count, delivery information, and more. An optional browser mode also captures Google's Typical Price Range insight when available.

Features

  • Search Google Shopping for any product query
  • Extract product prices with automatic currency detection
  • Get merchant name and direct merchant URL for each listing
  • Collect ratings and review counts
  • Detect discounted items with original prices
  • Support for 48 countries with localized pricing
  • Filter by condition (New, Used, Refurbished)
  • Sort results by relevance, review score, price low→high, or price high→low
  • Price range filtering (min/max)
  • Optional browser mode to capture Google's Typical Price Range insight
  • Automatic retry with proxy rotation for reliability

Input

FieldTypeRequiredDefaultDescription
queriesArrayYesProduct search queries (e.g., "iPhone 15 Pro Max")
maxResultsPerQueryIntegerNo20Maximum products per query (1–100)
countryCodeStringNousCountry for localized results (48 countries)
languageCodeStringNoenLanguage code for results (e.g., de, fr)
sortByStringNorelevanceSort order: relevance, review_score, price_low, price_high
conditionStringNoanyProduct condition: new, used, refurbished
minPriceIntegerNoMinimum price filter (in local currency)
maxPriceIntegerNoMaximum price filter (in local currency)
alwaysUseBrowserBooleanNofalseUse browser to capture Typical Price Range (slower, ~30s/query)
proxyConfigurationObjectNoGOOGLE_SERPProxy settings — GOOGLE_SERP is recommended and set by default

Example Input

{
"queries": ["iPhone 15 Pro Max"],
"maxResultsPerQuery": 10,
"countryCode": "us",
"languageCode": "en"
}

Multiple Queries

{
"queries": ["laptop", "wireless headphones", "running shoes"],
"maxResultsPerQuery": 20
}

Price Range + Sort

{
"queries": ["wireless earbuds"],
"maxResultsPerQuery": 20,
"minPrice": 20,
"maxPrice": 100,
"sortBy": "price_low"
}

Output

Each result represents one product from Google Shopping search results:

FieldTypeDescription
queryStringSearch query used
positionIntegerPosition in results (1-based)
titleStringProduct title
priceStringCurrent price with currency symbol (e.g., "$999.00")
originalPriceStringOriginal price before discount (e.g., "$1,200") — omitted if not discounted
currencyStringDetected currency code (e.g., USD, EUR, AUD)
merchantStringStore or merchant name
merchantUrlStringMerchant website URL — omitted if not available
ratingStringAverage star rating (e.g., "4.5") — omitted if no ratings
reviewCountStringNumber of reviews (e.g., "1.4K") — omitted if no reviews
imageUrlStringProduct thumbnail image URL
deliveryStringDelivery info (e.g., "Free delivery") — omitted if not shown
isSponsoredBooleanWhether this is a sponsored/ad listing
productIdStringGoogle Shopping internal product ID — omitted if not available
productUrlStringGoogle product comparison page URL — omitted if not available
typicalPriceRangeStringGoogle's "The price is usually X–Y" insight (e.g., "$800–$950") — only present when alwaysUseBrowser is enabled and Google shows the banner
searchUrlStringThe Google Shopping search URL used
scrapedAtStringISO 8601 timestamp of when the item was scraped

Example Output

{
"query": "laptop",
"position": 1,
"title": "HP Victus 15.6 inch FHD 144Hz Gaming Laptop Intel Core i5-13420H",
"price": "$736.00",
"originalPrice": "$1,020",
"currency": "USD",
"merchant": "Best Buy",
"merchantUrl": "https://www.bestbuy.com",
"rating": "4.6",
"reviewCount": "1.4K",
"imageUrl": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcSwhzmT1uDz...",
"delivery": "Free delivery",
"isSponsored": false,
"productId": "CBkQAQ",
"productUrl": "https://www.google.com/search?tbm=shop&q=HP+Victus+15.6+inch+...",
"searchUrl": "https://www.google.com/search?q=laptop&udm=28&hl=en&gl=us",
"scrapedAt": "2026-04-08T12:09:58.291853+00:00"
}

Use Cases

  • Price Monitoring: Track product prices across merchants over time
  • Competitive Analysis: Compare pricing strategies of different sellers
  • Market Research: Discover product trends, pricing patterns, and merchant landscapes
  • Deal Detection: Find discounted products by tracking original vs current prices
  • Product Catalog Building: Build databases of products with pricing and reviews
  • Merchant Intelligence: Analyze which merchants sell which products at what prices

Tips for Best Results

  1. Use specific queries for more relevant results (e.g., "iPhone 15 Pro Max 256GB" instead of just "iPhone")
  2. Set country code to get localized prices and merchant listings for your target market
  3. Use price range filters to narrow results to your budget bracket
  4. Keep maxResultsPerQuery reasonable (20–50) for faster runs
  5. Enable alwaysUseBrowser if you need the Typical Price Range field (adds ~30s per query)

Supported Countries

United States, United Kingdom, Canada, Australia, Germany, France, Spain, Italy, Brazil, Mexico, India, Japan, South Korea, Netherlands, Belgium, Austria, Switzerland, Sweden, Norway, Denmark, Finland, Poland, Czech Republic, Portugal, Ireland, New Zealand, South Africa, Singapore, Hong Kong, Taiwan, Philippines, Thailand, Indonesia, Malaysia, Vietnam, Argentina, Chile, Colombia, Peru, Turkey, Russia, Ukraine, Israel, UAE, Saudi Arabia, Egypt, Nigeria, Kenya.

FAQ

Does this actor need cookies or login?

No. The scraper works with publicly available Google Shopping search results and does not require any authentication.

Why is proxy required?

Google blocks automated access from datacenter IPs. The default GOOGLE_SERP proxy is optimized specifically for Google search and provides fast, reliable access to Shopping results. A residential proxy is used automatically as a fallback when browser-based extraction is triggered.

How many results can I get per query?

Google Shopping typically surfaces 40+ products per search page. The scraper supports pagination and can extract up to 100 results per query.

What happens if Google blocks a request?

The scraper automatically retries with a fresh proxy session (different IP address). It makes up to 5 attempts on the fast HTTP path and up to 3 attempts on the browser path, with exponential delays between retries.

What is Typical Price Range?

Google Shopping sometimes shows an insight panel reading "The price is usually $X–$Y" for popular products. This is only rendered client-side in the browser — it never appears in the raw HTTP response. Enable alwaysUseBrowser to attempt capturing it. Note: Google controls when this panel appears algorithmically, so it is not guaranteed for every query.

How does sorting work?

Sort is applied client-side after Google returns results. Google's current Shopping interface (udm=28) does not reliably honor server-side sort parameters, so the actor fetches results and sorts them locally. Prices are parsed from the price string (first numeric value) for ordering.

Can I scrape product detail pages?

This actor focuses on search result listings, which contain the key commercial data (title, price, merchant, rating, reviews). The productUrl field links to Google's product comparison page where multiple merchants are listed for the same item.

Does this support international pricing?

Yes. Set countryCode to get results in local currency from the corresponding Google domain. The currency field indicates the detected currency code (e.g., USD, EUR, GBP, AUD, BRL).