Google Shopping Price Tracker — Offers & Price History avatar

Google Shopping Price Tracker — Offers & Price History

Pricing

from $1.50 / 1,000 product search results

Go to Apify Store
Google Shopping Price Tracker — Offers & Price History

Google Shopping Price Tracker — Offers & Price History

Track Google Shopping prices across every retailer. Product search, cross-store offers, full price history, reviews and deals in one actor — clean JSON, pay per result. Built for price monitoring, competitor price tracking and product price intelligence.

Pricing

from $1.50 / 1,000 product search results

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Shopping Price Tracker — Offers & Price History 🚀

SIÁN Agency Store Walmart Scraper eBay Scraper Amazon ASIN Lookup

🎉 The only Google Shopping actor that returns cross-retailer PRICE HISTORY — a per-store price time series no other scraper gives you

Built for price-monitoring teams, competitive-intelligence analysts, repricing tools, and deal/affiliate sites that need real cross-store price data


📋 Overview

Track what every retailer charges for a product — and how that price moved over time. Google Shopping Price Tracker turns Google Shopping into clean, structured datasets: search products, pull every store's offer for one product, get a per-store price-history time series, scrape reviews and deals — all from one actor, with no account or API key to manage.

Why price-intelligence teams choose us:

  • 📈 Cross-retailer price history: a per-store time series of a product's price over months — the one column no other Google Shopping actor on the store returns.
  • 🛒 Every store's offer in one call: see each retailer's price, original price, shipping, returns, condition, and store rating side by side — instant cross-store price comparison.
  • 8 operations in one actor: search, light search, deals, product details, product offers, price history, product reviews, and store reviews — no juggling separate tools.
  • 💰 Pay per result: only charged for successful rows, priced to undercut the category. A free tier lets you test with zero commitment.
  • 💎 Clean JSON, ready to use: curated camelCase fields (productTitle, offerPrice, store, priceHistory, latestPrice, reviewText) plus the full raw payload spread alongside.

✨ Features

  • 🔍 Product Search: find products by keyword with rating, photos, offer count, and the headline offer per product.
  • Light Search: a faster, lighter search mode for high-volume scans at a lower per-result cost.
  • 🏷️ Deals: surface on-sale products and discount percentages across stores for any query.
  • 📦 Product Details: full product record — description, attributes, photos, variants, rating, and reviews insights.
  • 🛒 Product Offers: every store selling a product, with price, shipping, returns, condition, and store reputation — paginated.
  • 📈 Price History: per-store price time series with first/last date, latest price, and observed min/max — one tidy row per store.
  • Product Reviews: paginated reviews with rating, author, source, and the rating distribution.
  • 🏪 Store Reviews: merchant-level reviews by domain for seller-reputation analysis.
  • 🌍 Multi-market: target any Google Shopping country and language.

🎬 Quick Start

Pick an operation, give it a query or a product ID, and run. Results land in the Apify dataset as flat rows you can export to JSON, CSV, or Excel. Start with Product Search to grab productId values, then feed them into Product Offers, Price History, or Reviews.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~google-shopping-price-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation": "search", "query": "airpods pro", "country": "us", "maxPages": 2}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose an operation

Select one of the eight operations (e.g. search, productOffers, priceHistory) — each run does one operation.

Step 2: Provide the input it needs

Search/deals need a query; details/offers/price history/product reviews need a productId; store reviews need a storeDomain.

Step 3: Run and export

Hit Start and watch rows fill the dataset. Export to JSON, CSV, or Excel, or pull them via the API.

That's it! In under a minute, you'll have:

  • Clean, structured Google Shopping rows
  • A ready-to-query dataset (filter by _operation)
  • An HTML run report with counts and timing

📥 Input Configuration

FieldTypeRequiredDescription
operationstringYesOne of search, searchLight, deals, productDetails, productOffers, priceHistory, productReviews, storeReviews
querystringFor search/dealsKeyword to search (e.g. 4k monitor)
productIdstringFor details/offers/price history/reviewsGoogle Shopping product ID (copy from a search row)
storeDomainstringFor store reviewsMerchant root domain (e.g. walmart.com)
countrystringNoTwo-letter market code (default us)
languagestringNoTwo-letter language code (default en)
maxPagesintegerNoMax pages for paginated ops (default 3)
sortBystringNoBEST_MATCH, LOWEST_PRICE, HIGHEST_PRICE, TOP_RATED
minPrice / maxPriceintegerNoPrice range filter for search/deals
productConditionstringNoANY, NEW, USED, REFURBISHED
onSale / freeShipping / freeReturnsbooleanNoOffer filters for search/deals
reviewSortstringNoMOST_RELEVANT or DATE (newest)

Example — cross-store offers:

{
"operation": "productOffers",
"productId": "catalogid:2327420681279440941,productid:15969768374614330185,...",
"country": "us",
"maxPages": 2
}

Example — price history:

{
"operation": "priceHistory",
"productId": "catalogid:2327420681279440941,productid:15969768374614330185,..."
}

📤 Output

Results are saved to the Apify dataset as flat rows. Filter by _operation to split modes. Key fields include:

FieldTypeDescription
productIdstringGoogle Shopping product ID
productTitlestringProduct name
productRatingnumberAverage rating
offerStoreNamestringHeadline offer's store
offerPricestringHeadline offer price
storestringStore name (Price History rows)
priceHistoryarrayPer-store {date, price} time series
latestPricestringMost recent observed price
minPriceObserved / maxPriceObservednumberLowest / highest price in the series
storeName / price / shipping / returnsstringPer-offer fields (Product Offers)
storeRating / storeReviewCountstring / intMerchant reputation
reviewText / reviewRating / reviewAuthorstring / numberReview fields
_operation / _page / statusstringRun metadata

Example — a Price History row:

{
"_operation": "priceHistory",
"store": "Walmart",
"productId": "catalogid:2327420681279440941,...",
"latestPrice": "$249.00",
"minPriceObserved": 199,
"maxPriceObserved": 249,
"pointCount": 273,
"firstDate": "2025-09-09",
"lastDate": "2026-06-08",
"priceHistory": [
{ "date": "2025-09-09", "price": "$249.00" },
{ "date": "2025-11-28", "price": "$199.00" }
],
"status": "success"
}

💼 Use Cases & Examples

1. Cross-Retailer Price Comparison

E-commerce analysts who need the cheapest seller for any product across every store.

Input: A productId with the Product Offers operation. Output: One row per store — price, original price, shipping, returns, condition, store rating. Use: Find the lowest price, benchmark your buy-box position, build a price-comparison page.

2. Price History & Trend Monitoring

Repricing and MAP-compliance tools that need real historical price data.

Input: A productId with the Price History operation. Output: A per-store time series with min/max/latest and date range. Use: Detect price drops, validate MAP compliance, power "price dropped" alerts, spot seasonal patterns.

3. Competitor Price Tracking

Brand and category managers tracking how rivals price your segment.

Input: A category keyword with Product Search, scheduled daily. Output: Ranked products with prices, ratings, and headline offers. Use: Diff the dataset over time to quantify where you sit and when competitors move.

4. Deal & Promotion Discovery

Affiliate and deal-site builders feeding fresh discounts to their audience.

Input: A query with the Deals operation. Output: On-sale products with discount percentages across stores. Use: Populate deal aggregators, promo calendars, and affiliate feeds with structured rows.

5. Voice-of-Customer Sentiment Analysis

Product teams mining what buyers actually say about a product.

Input: A productId with the Product Reviews operation. Output: Paginated reviews with rating, text, author, source, and the rating distribution. Use: Feed sentiment models, surface complaints and feature requests, and quantify what drives a product's score.

6. Merchant Reputation & Seller-Risk Screening

Trust, procurement, and marketplace teams vetting which stores to buy from or list against.

Input: A storeDomain (e.g. walmart.com) with the Store Reviews operation. Output: Merchant-level reviews by domain with rating, text, and distribution. Use: Benchmark seller reputation, flag high-risk merchants, and weight cross-store offers by store trust.

7. High-Volume Catalog Scans

Data teams crawling thousands of queries on a tight per-result budget.

Input: A query with the Light Search operation, scheduled in bulk. Output: A faster, leaner product feed at a lower per-result cost than full search. Use: Cover a wide catalog cheaply, then deepen only the products worth a full Details or Offers pull.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/google-shopping-price-scraper').call({
operation: 'search',
query: 'airpods pro',
country: 'us',
maxPages: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/google-shopping-price-scraper').call(
run_input={'operation': 'priceHistory', 'productId': 'PRODUCT_ID'}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~google-shopping-price-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "productOffers", "productId": "PRODUCT_ID"}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule (e.g. daily price check) or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle the JSON rows (diff prices, detect drops)
  4. Action: Alert, save to a sheet, or update your repricing engine

📊 Performance & Pricing

FREE Tier (Try It Now)

  • Test every operation with full feature access — same data quality
  • No credit card required
  • Perfect for evaluating fit and small projects
  • Scale across thousands of products on a schedule
  • Pay-per-result: only charged for successful rows
  • Premium operations (cross-store offers, price history) priced for their value

💰 Priced to undercut the category — pay only for the rows you keep.

🔗 View current pricing


❓ Frequently Asked Questions

Q: What is a productId and where do I get it? A: It's the Google Shopping product identifier. Run Product Search first and copy the productId field from any row, then use it with Product Details, Product Offers, Price History, or Product Reviews.

Q: Which operation gives cross-store price comparison? A: Product Offers — it returns one row per store selling the product, with price, shipping, returns, condition, and store rating.

Q: How far back does price history go? A: Price History returns the full per-store series Google Shopping exposes (often several months). Each store is one row with a nested {date, price} array plus computed min/max/latest.

Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset, or pull rows via the API.

Q: Can I scrape other countries? A: Yes — set country and language to target any Google Shopping market.

Q: Do I pay per page or per result? A: Per result — you're only charged for the successful rows you keep, not for pages or failed calls. The free tier lets you test every operation before scaling.

Q: How do I run cross-retailer price comparison at scale? A: Run Product Search on a schedule to collect productId values, then fan them into Product Offers (cross-store prices) and Price History (per-store trends). Diff the dataset over time to track movement automatically.

Q: Is this legal? A: Yes — only publicly available product data is extracted. See the legal section below.


🐛 Troubleshooting

No rows returned for a search

  • Broaden the query, remove price/condition filters, and confirm the country has Shopping results.

"Invalid parameters" error

  • Check that the operation has its required field (search/deals → query; details/offers/price history/reviews → productId; store reviews → storeDomain).

Price History returned no stores

  • Not every product has multi-store history on Google Shopping. Try a popular product productId from a fresh search.

Pagination stops early

  • The actor stops when the data source signals no more results. Increase maxPages if you need a deeper crawl.

⚠️ Trademark Disclaimer

This actor is an independent tool built by SIÁN Agency. It is not affiliated with, endorsed by, or sponsored by Google LLC. "Google" and "Google Shopping" are trademarks of Google LLC. Retailer and store names that appear in results (Walmart, Amazon, etc.) are trademarks of their respective owners. This actor accesses only publicly available product information and is intended for lawful, ethical use.


Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what has been chosen to be shared publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools