Google Shopping Scraper
Pricing
Pay per usage
Google Shopping Scraper
Scrapes Google Shopping results for product prices, ratings, stores, and availability. Supports price filtering, country targeting, and multiple sort options. Ideal for price monitoring, competitor analysis, and e-commerce market research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Scrapes Google Shopping search results and extracts structured product data including prices, ratings, store names, shipping info, and more. Built for automated price monitoring, competitor analysis, and e-commerce market research at scale.
What it does
This actor searches Google Shopping for any product query and returns structured data for every result, including:
- Product title and description
- Price with currency detection
- Store/merchant name
- Star rating and review count
- Product URL (direct link to the store listing)
- Image URL for product thumbnails
- Shipping information
- Condition (new, refurbished, used)
Results can be filtered by price range, sorted by relevance/price/reviews, and localized to 20+ countries.
Use cases
Price monitoring
Track product prices across multiple retailers over time. Run the actor on a schedule (daily, hourly) to build a pricing history database and get alerts when prices drop below your target.
Competitor analysis
See which stores are selling competing products, at what price points, and with what ratings. Identify underpriced competitors, monitor MAP (Minimum Advertised Price) compliance, and find gaps in the market.
E-commerce research
Discover trending products, analyze price distributions across a category, find which merchants dominate specific niches, and validate product ideas before investing in inventory.
Dropshipping & arbitrage
Find price discrepancies between retailers. Compare Google Shopping prices with Amazon, eBay, or wholesale sources to identify profitable arbitrage opportunities.
Market intelligence
Build datasets for ML/AI models. Analyze pricing patterns, seasonal trends, and competitive landscapes across entire product categories.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | (required) | Product or keyword to search |
maxResults | integer | 25 | Maximum number of results (1-200) |
country | string | "us" | Two-letter country code for localized results |
minPrice | integer | - | Minimum price filter (local currency) |
maxPrice | integer | - | Maximum price filter (local currency) |
sortBy | enum | "relevance" | Sort order: relevance, price_low, price_high, review |
Supported countries
US, GB, DE, FR, CA, AU, IN, JP, BR, IT, ES, NL, SE, PL, MX, KR, SG, AE, ZA, IE
Output format
Each result in the dataset contains:
{"title": "Sony WH-1000XM5 Wireless Noise Canceling Headphones","price": 278.00,"currency": "USD","store": "Amazon.com","rating": 4.6,"reviewCount": 12847,"imageUrl": "https://encrypted-tbn0.gstatic.com/shopping?q=...","productUrl": "https://www.amazon.com/dp/B09XS7JWHH","description": "Industry-leading noise cancellation, 30-hour battery life...","shipping": "Free shipping","condition": "New","position": 1,"searchQuery": "wireless headphones","scrapedAt": "2026-03-01T12:00:00.000Z"}
Example usage
Search with default settings
{"searchQuery": "mechanical keyboard"}
Price-filtered search with sorting
{"searchQuery": "nvidia rtx 4090","maxResults": 50,"country": "us","minPrice": 1500,"maxPrice": 2500,"sortBy": "price_low"}
International search
{"searchQuery": "running shoes","maxResults": 100,"country": "gb","sortBy": "review"}
Tips for best results
- Use specific product names for precise results (e.g., "iPhone 15 Pro Max 256GB" instead of "phone")
- Set
maxResultshigher than you need since some results may be filtered out by price range - Different countries return different products and prices — useful for cross-market comparison
- Run on a schedule for price tracking: Apify supports cron-based scheduling
- Export results as CSV, JSON, or Excel from the Apify dataset view
Limitations
- Google Shopping availability varies by country and product category
- Some product listings may have incomplete data (missing ratings, shipping info, etc.)
- Google may change their HTML structure; the actor uses multiple parsing strategies for resilience
- Very high
maxResultsvalues require pagination and will use more compute units
Changelog
v1.0 (2026-03-01)
- Initial release
- CheerioCrawler-based extraction with multiple parsing strategies
- Support for 20 countries, price filtering, 4 sort modes
- Embedded JSON extraction from script tags for maximum data coverage
- User-Agent rotation pool with 12 browser profiles
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/google-shopping-scraper").call(run_input={"searchTerm": "google shopping","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/google-shopping-scraper').call({searchTerm: 'google shopping',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));