Google Shopping Scraper & API ($2/1k)
Fast & Affordable ($2/1k): Scrape Google Shopping products, live prices, discounts, seller offers, ratings, reviews & direct store checkout links across 80+ countries. Export to JSON, CSV, or Excel.
{
"productId": "7530392338343106684",
"catalogId": "7530392338343106684",
"offerId": "1194028475102938471",
"gpcId": "492817364519283746",
"title": "Keychron K8 Tenkeyless Wireless Mechanical Keyboard",
"brand": "Keychron",
"price": 79.99,
"currency": "USD",
"priceFormatted": "$79.99",
"oldPrice": 99.99,
"oldPriceFormatted": "$99.99",
"discountBadge": "20% off",
"isOnSale": true,
"merchantName": "Keychron",
"merchantDomain": "keychron.com",
"merchantUrl": "https://www.keychron.com/products/keychron-k8-tenkeyless-wireless-mechanical-keyboard",
"hasMultipleOffers": true,
"offersCount": 4,
"offers": [
{
"merchantName": "Keychron",
"merchantDomain": "keychron.com",
"price": 79.99,
"currency": "USD",
"priceFormatted": "$79.99",
"delivery": "Free delivery",
"merchantUrl": "https://www.keychron.com/products/keychron-k8-tenkeyless-wireless-mechanical-keyboard"
},
{
"merchantName": "Amazon.com",
"merchantDomain": "amazon.com",
"price": 84.99,
"currency": "USD",
"priceFormatted": "$84.99",
"delivery": "Free delivery by Fri",
"merchantUrl": "https://www.amazon.com/dp/B08B5W1234"
}
],
"rating": 4.7,
"reviewsCount": 1326,
"delivery": "Free delivery",
"freeShipping": true,
"returnPolicy": "Free 30-day returns",
"condition": null,
"specifications": {
"Brand": "Keychron",
"Connectivity": "Bluetooth, USB-C",
"Backlit": "RGB"
},
"imageUrl": "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcR_example_product_thumb&usqp=CAc",
"googleShoppingUrl": "https://www.google.com/search?udm=28&q=wireless+mechanical+keyboard&gl=us#oshopproduct=cid:7530392338343106684",
"searchQuery": "wireless mechanical keyboard",
"position": 1,
"country": "us",
"scrapedAt": "2026-11-12T12:00:00Z"
}
Features
What the Google Shopping Scraper & API ($2/1k) Extracts
100% Upstream Google Shopping Sorting & Filtering
Sort natively by price_asc (Lowest Price), price_desc (Highest Price), rating_desc (Top Rated), or relevance, and filter upstream by minPrice, maxPrice, onSaleOnly, freeShippingOnly, condition (new / used), and minRating.
Permanent High-Clarity Product Thumbnails
Extracts clean https://encrypted-tbn*.gstatic.com/shopping?... product image URLs ready for UI catalogs, Airtable galleries, or reverse-image factory sourcing.
High-Speed Multi-Page Extraction
Collects ~40–50 products on Page 1 in seconds and seamlessly paginates deeper result sets up to 5,000 products per run.
Multilingual Price & Discount Normalization
Parses live prices (price), original strike-through prices (oldPrice), promotional badges (discountBadge — e.g., "22% off", "Price drop"), and isOnSale flags across USD, EUR, GBP, INR, BRL, CAD, AUD, JPY, CHF, PLN, SEK, MXN, and 30+ currencies.
Integration
Run It From Python or n8n
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"queries": ["wireless mechanical keyboard"],
"country": "us",
"sortBy": "relevance",
"onSaleOnly": False,
"freeShippingOnly": False,
"condition": "any"
}
run = client.actor("unitbytes/google-shopping-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("merchantName"), item.get("searchQuery"))
n8n Workflow Template
Schedule this scraper and send results to Google Sheets, Airtable, or Slack.
FAQ
Frequently Asked Questions
Q: Do I need a Google account, cookies, or external proxies?
No. Everything works out of the box on Apify with zero login credentials or external setup required.
Q: Does resolveMerchantLinks: true cost extra per product?
No. Your per-product PPE rate remains unchanged (from $0.002 per unique product / $2.00 per 1,000 products on Gold+; $0.004 on Free tier) with zero extra surcharge for enrichment. Enabling resolveMerchantLinks: true performs an additional detail lookup per product so runs take slightly longer (~1–2s per batch of 6 products), making it ideal when you need direct merchantUrl checkout links, multi-seller offers, or specifications.
Q: What happens if a SKU or barcode has 0 results on Google Shopping?
The scraper detects empty result sets immediately on the first page, exits cleanly with code 0, and charges $0.00 in product-scraped events.
Q: Why should I leave language empty when scraping non-English countries?
Leaving language empty ("") allows Google Shopping to query local-language merchant feeds in countries like Germany (de), France (fr), Brazil (br), or Spain (es), ensuring full local retailer coverage and accurate regional currency formatting.
Related Scrapers
Google Flights Scraper & API ($2.50/1k)
Fast & Cheap ($2.50/1k): Scrape Google Flights fares, airlines, stops, layovers, CO2 emissions & booking URLs.
Google Hotels Scraper & API ($2.50/1k)
Fast & Cheap ($2.50/1k): Scrape Google Hotels & vacation rentals, OTA prices (Booking.com, Expedia, Hotels.com), ratings, GPS, amenities & HD photos across.
Google News Scraper & API ($1/1k)
Fast & Affordable ($1/1k): Scrape Google News articles, direct publisher URLs, headlines, snippets, thumbnails, timestamps, topic feeds & optional clean.
Prefer Not to Run It Yourself?
Tell us what you need from Google Shopping Scraper & API ($2/1k) and we'll deliver a clean Excel/CSV file. One-time datasets from $99, custom scrapers from $299. We reply within 48 hours.