Google Shopping Scraper — Product Prices, Ratings & Sellers avatar

Google Shopping Scraper — Product Prices, Ratings & Sellers

Pricing

$2.60 / 1,000 product scrapeds

Go to Apify Store
Google Shopping Scraper — Product Prices, Ratings & Sellers

Google Shopping Scraper — Product Prices, Ratings & Sellers

Scrape Google Shopping search results. Extract product titles, prices, ratings, seller info, delivery details, and product URLs. Support for multiple countries, pagination, and direct product URLs.

Pricing

$2.60 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

Google Shopping Scraper

Extract product pricing, ratings, merchant info, and delivery data from Google Shopping at scale. Monitor competitor prices, build comparison tables, and track market trends with structured data exports. Works across 30+ countries with automatic currency detection and multi-language support.

Google Shopping Scraper is built for e-commerce professionals who need reliable, structured product data without the overhead of building and maintaining their own scraping infrastructure. Whether you're tracking competitor pricing daily, building a price comparison tool, or researching market trends, this actor gives you clean, analysis-ready data in seconds.

What Data Can You Extract?

FieldDescription
titleProduct title
price.currentCurrent price as a numeric value (not a string)
price.originalPre-discount price when on sale
price.currencyISO 4217 currency code (USD, EUR, GBP, etc.)
price.discountPercentCalculated discount percentage
price.priceRangeMin/max price for variant products
merchant.nameSeller/merchant name
merchant.ratingMerchant rating (0-5)
merchant.reviewCountNumber of merchant reviews
merchant.isVerifiedGoogle-verified merchant status
productRating.valueProduct star rating (0-5)
productRating.countNumber of product reviews
delivery.freeWhether shipping is free
delivery.costShipping cost as numeric value
delivery.estimatedDateExpected delivery date
brandBrand name
gtinGlobal Trade Item Number (barcode)
mpnManufacturer Part Number
isSponsoredWhether the listing is a paid ad
thumbnailUrlProduct image URL
badgesSpecial labels like "Best Seller", "Top Quality Store"

All price fields are returned as numeric values ready for calculations, sorting, and database storage — not raw strings that require additional parsing.

How to Use

Zero-config start — just provide a product query:

{
"queries": ["wireless headphones"]
}

That's it. The actor will search Google Shopping and return up to 20 structured product listings with pricing, ratings, merchant info, and delivery details.

Using the Apify API:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('junipr/google-shopping').call({
queries: ['iPhone 15 Pro', 'Samsung Galaxy S24'],
country: 'us',
resultsPerQuery: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} products`);

Input Configuration

ParameterTypeDefaultDescription
queriesstring[]Product search queries (max 100)
urlsstring[]Direct Google Shopping URLs (max 100)
countrystring"us"Country code (us, gb, de, fr, au, ca, etc.)
languagestring"en"Language code (en, de, fr, es, etc.)
resultsPerQueryinteger20Products per query (1-100)
paginatebooleanfalseEnable multi-page scraping
maxResultsPerQueryinteger60Max products when paginating (1-500)
sortBystring"relevance"Sort: relevance, price_low, price_high, rating
minPricenumberMinimum price filter
maxPricenumberMaximum price filter
conditionstring"all"Product condition: all, new, used, refurbished
includeSponsoredbooleantrueInclude sponsored/ad listings

Common configurations:

Price range filter:

{ "queries": ["coffee machine"], "minPrice": 50, "maxPrice": 200 }

Multi-country comparison:

{ "queries": ["laptop"], "country": "de", "language": "de" }

Output Format

Each product is a structured JSON object:

{
"query": "wireless headphones",
"position": 1,
"isSponsored": false,
"title": "Sony WH-1000XM5 Wireless Noise Canceling Headphones",
"brand": "Sony",
"price": {
"current": 279.99,
"original": 399.99,
"currency": "USD",
"currencySymbol": "$",
"priceString": "$279.99",
"discountPercent": 30,
"priceRange": { "min": null, "max": null }
},
"merchant": {
"name": "Best Buy",
"rating": 4.7,
"reviewCount": 12453,
"isVerified": true
},
"productRating": {
"value": 4.5,
"count": 8234,
"countLabel": "8,234 reviews"
},
"delivery": {
"free": true,
"cost": 0,
"estimatedDate": "Fri, Apr 4"
},
"country": "us",
"scrapedAt": "2025-04-01T12:00:00.000Z"
}

Use Cases

  • E-commerce price monitoring — Track competitor prices daily with scheduled runs. Get alerts when prices drop below thresholds.
  • Brand protection — Find unauthorized resellers listing your products on Google Shopping. Cross-reference GTINs to identify gray market sellers.
  • Market research — Analyze pricing trends across categories, countries, and time periods. Compare merchant distribution and market share.
  • Procurement benchmarking — Research supplier pricing before negotiations. Compare the same product across dozens of merchants instantly.
  • Price comparison tools — Feed structured product data into your comparison engine. Numeric prices and currency codes are ready for direct use.
  • Dropshipping research — Find pricing benchmarks and profit margins by comparing wholesale vs retail prices across merchants.

Pricing

Pay-Per-Event: $2.60 per 1,000 products scraped.

Pricing includes all platform compute costs — no hidden fees.

You only pay for successfully extracted products. Failed pages, blocked requests, and queries with zero results are not billed.

ScenarioProductsCost
Single query (20 products)20$0.05
Daily price check (50 products)500$1.30
Weekly market research (6,000 products)6,000$15.60
Comprehensive catalog (30,000 products)30,000$78.00

Compared to SerpAPI Google Shopping ($50+ per 1,000 results), this actor is 19x more affordable while providing richer data fields including delivery info, merchant ratings, and product identifiers.

FAQ

Why does Google Shopping require residential proxies?

Google Shopping aggressively blocks datacenter IP addresses. Residential proxies mimic real user traffic from home internet connections, which Google does not block. This actor defaults to Apify's residential proxy network, which requires a paid Apify plan ($49+/month). Free-plan users can provide their own residential proxy URL in the input configuration.

How accurate are the prices?

All prices are parsed into numeric values with 100% accuracy on the numeric conversion. The actor handles multiple price formats including US ($1,234.56), European (1.234,56), and various currency symbols. If a price cannot be parsed, price.current is set to null and the raw priceString is preserved for manual review.

Can I monitor prices over time with scheduled runs?

Yes. Set up a scheduled run on Apify (daily, hourly, weekly) with your product queries. Each run produces a new dataset. Use Apify's webhook integrations to pipe results to Google Sheets, a database, or your own API for trend analysis.

Does it work for all countries?

Google Shopping is available in 30+ countries. The actor supports all of them via the country parameter. Popular markets include US, UK, Germany, France, Australia, Canada, Japan, India, and Brazil. Currency and language are automatically configured based on the country code.

What happens when Google changes its layout?

The actor uses multiple fallback selectors and robust parsing logic to handle layout variations. If Google makes a major structural change, the actor will log a PARSE_ERROR and continue attempting extraction with alternative selectors. We monitor for breaking changes and push updates quickly.

Can I filter by condition (new/used/refurbished)?

Yes. Set the condition parameter to "new", "used", or "refurbished" to filter results. The default is "all" which shows products in any condition.

How do I get all seller offers for a product?

Use the paginate option with maxResultsPerQuery set to a higher value (e.g., 100-500). This retrieves more results which often include multiple merchants selling the same product. You can then group results by productId or gtin to see all available offers.

Google Shopping results are publicly accessible to any anonymous user. The hiQ v. LinkedIn Supreme Court precedent established that scraping publicly accessible data may be protected. However, this actor should be used responsibly and in compliance with applicable laws and Google's Terms of Service. Users are responsible for ensuring their use case complies with local regulations.