Google Shopping Price Tracker & Seller Monitor
Pricing
from $9.00 / 1,000 product query checkeds
Google Shopping Price Tracker & Seller Monitor
Track Google Shopping prices and sellers automatically. Schedule product queries and receive verified new-offer and price-change events—no API key required.
Pricing
from $9.00 / 1,000 product query checkeds
Rating
0.0
(0)
Developer
Monkey D. Scraping
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Stop checking Google Shopping prices manually. Add the products you want to monitor, choose a country and language, and schedule automatic checks. The Actor keeps a private baseline and returns clean events only when it verifies a new seller offer or a comparable price change.
No Google account, cookies, seller login, or external API key is required. The Actor observes public Google Shopping results and produces structured data for alerts, spreadsheets, dashboards, and price-intelligence workflows.
What does this Google Shopping price tracker do?
- Monitors one or more exact product or product-family queries.
- Tracks public prices and displayed seller names by country and language preference.
- Establishes a private baseline for each Saved Task.
- Emits
new_offerwhen a previously unknown seller offer is observed. - Emits
price_changedonly when the same canonical offer has two comparable prices. - Suppresses duplicate events caused by normal ranking churn or an unchanged offer reappearing.
- Preserves the last healthy baseline when source quality drops instead of replacing it with incomplete data.
- Supports seller allowlists and blocklists.
- Reports per-query health, coverage, billing, and reconciliation metrics in
SUMMARY.
Why use it?
- Change-focused output — later runs stay empty when nothing verifiable changed.
- Reliable comparisons — product model filtering helps prevent a result for one model from changing the price of another.
- Seller visibility — identify newly observed public resellers without treating every ranking movement as a new seller.
- Monitoring-ready state — Saved Tasks retain known offers between scheduled runs.
- Predictable pricing — pay per successfully checked product query, not per offer or change event.
- Automation-friendly data — connect the dataset and run status to webhooks, Make, n8n, Zapier, Google Sheets, or your own API client.
Quick start
1. Create a Saved Task
Open the Actor's Input tab, add the products you want to monitor, choose market preferences, and save the configuration as a Saved Task. A Saved Task is required for comparisons across runs because it gives the monitor a persistent private baseline.
2. Run the first check
Choose one of these first-run behaviours:
- Return current offers now (
emitCurrent) — returns the offers observed now and establishes the baseline. Recommended for the first test. - Create a quiet baseline (
baseline) — establishes the baseline without writing current offers to the dataset.
3. Schedule the Saved Task
Attach an hourly, daily, or weekly Apify Schedule to the Saved Task. Later healthy runs emit only verified new_offer and price_changed events.
For most catalogues, start with a daily schedule. Increase frequency only when faster detection justifies the additional query checks.
Example input
{"queries": ["Sony WH-1000XM5","Apple AirPods Pro 2"],"countryCode": "it","languageCode": "it","maxOffersPerQuery": 30,"initialRun": "emitCurrent","includeSellers": [],"excludeSellers": []}
What data does it return?
| Field | Description |
|---|---|
eventType | current_offer, new_offer, or price_changed. |
query | Product query that produced the observed offer. |
countryCode / languageCode | Market preferences used for the public Shopping check. |
productTitle | Public product title displayed in the result. |
sellerName | Public seller name displayed in the result. |
priceText | Current price exactly as observed. |
priceAmount / currency | Parsed comparable price and currency when reliably available. |
previousPriceText | Prior observed price for a verified price_changed event. |
previousPriceAmount / previousCurrency | Prior comparable numeric price and currency. |
productUrl | Public offer or comparison URL when exposed; otherwise null. |
observedAt | ISO timestamp of the current observation. |
Example price-change event
{"eventType": "price_changed","query": "Sony WH-1000XM5","countryCode": "IT","languageCode": "it","productTitle": "Sony WH-1000XM5 Cuffie Wireless","sellerName": "Example Shop","productUrl": null,"priceText": "299,00 €","priceAmount": 299,"currency": "€","previousPriceText": "329,00 €","previousPriceAmount": 329,"previousCurrency": "€","previousObservedAt": "2026-08-02T07:30:00.000Z","observedAt": "2026-08-03T07:30:00.000Z"}
How monitoring state works
| Run | Expected dataset | Reason |
|---|---|---|
First Saved Task run with emitCurrent | Current public offers | Returns a starting snapshot and establishes state. |
First Saved Task run with baseline | Empty | Quietly establishes state. |
| Later run with no verified difference | Empty | No duplicate or speculative event is created. |
| Comparable price differs | price_changed | Includes the previous and current price. |
| Previously unknown seller offer appears | new_offer | Captures the newly observed public offer. |
| Known offer reappears unchanged | Empty | Ranking churn is suppressed. |
| Source quality drops severely | Run is degraded or fails | The last healthy checkpoint is preserved. |
An empty dataset can therefore be a correct, successful outcome. Open the SUMMARY record in the run's key-value store to inspect health status, observed counts, price and seller coverage, baseline status, and billing reconciliation.
Pricing
This Actor uses transparent pay-per-event pricing:
- $0.009 per successfully checked product query (
product-query-checked). - $0.00005 Actor start fee per run.
- Platform usage is included.
- Failed or degraded queries are not charged.
- Offers, new-seller events, and detected price changes have no additional charge.
- A query that successfully retrieves and evaluates Shopping results is charged even when optional seller filters leave no accepted offers.
Approximate examples, assuming 30 days:
| Monitoring frequency | Approximate customer cost |
|---|---|
| 1 product checked daily | $0.27/month |
| 10 products checked daily | $2.70/month |
| 100 products checked daily | $27.00/month |
| 10 products checked hourly | $64.80/month |
Customers can set a maximum total charge for every run. Before starting another paid query, the Actor checks the remaining run budget and stops cleanly when the next query cannot be covered. The SUMMARY record exposes billableQueries, chargedQueries, unbilledQueries, queriesSkippedForBudget, and budgetLimitReached for direct reconciliation.
Automate alerts and downstream workflows
- Apify Schedules — run the same Saved Task hourly, daily, or weekly.
- Webhooks — react when a run succeeds or fails and fetch only its change events.
- Make, n8n, and Zapier — route changes to email, Slack, Google Sheets, Airtable, or a database.
- Apify API — start runs and retrieve datasets from any application.
- MCP and AI agents — expose the Actor as a structured monitoring tool through the Apify MCP server.
For change-only notifications, trigger downstream processing on successful runs and continue only when the default dataset contains at least one item.
Use cases
- Competitor and reseller price monitoring.
- Marketplace seller discovery.
- MAP and channel review queues based on publicly observed prices.
- E-commerce catalogue monitoring across countries and languages.
- Price-change alerts for commercial teams.
- Compact change streams for BI tools, spreadsheets, and data warehouses.
Data quality and responsible use
Google Shopping result composition can change because of ranking, localization, availability, consent, rate limits, or source-layout changes. Country and language are result preferences, not guarantees of seller location, shipping coverage, or listing language.
The Actor reports only fields it can observe and verify. Missing values remain null. It does not infer stock, seller removal, delivery promises, product identity, or price changes from incomplete data. A result that stops appearing is not reported as removed because public rankings can change independently of seller availability.
The Actor accesses public results only. It does not use private Google accounts, checkout flows, merchant back offices, or user data. You remain responsible for complying with applicable law and platform terms and for independently validating commercial decisions.
FAQ
Why is a successful run's dataset empty?
After the baseline, an empty dataset normally means no verified new offer or comparable price change was observed. Check SUMMARY to confirm that the queries were healthy.
Do I need a Saved Task?
Yes for monitoring across runs. One-off Actor runs are useful for current snapshots, but Saved Tasks provide the persistent identity used to retain and compare the private baseline.
Are failed searches charged?
No. Queries classified as degraded because results were unavailable or unsafe to compare are not charged. Successfully fetched queries intentionally reduced to zero results by seller filters are charged.
Does it report that a seller removed an offer?
No. Absence from a later public result set is not reliable evidence of removal. This avoids false alerts caused by ranking changes.
Does it always return a direct merchant URL?
No. productUrl is returned only when a public result exposes a usable URL. Otherwise it is null; the Actor never invents a destination.
Can I monitor several countries in one Saved Task?
Each task has one country and language configuration. Create separate Saved Tasks for separate markets so baselines and schedules remain clear.
Do I need a Google account or API key?
No. Proxy access and public Shopping retrieval are handled inside the Apify run.
Support
If a query starts returning degraded runs, attach the shared run URL to a new item in the Actor's Issues tab. Include the query, country, language, and expected product family, but do not post credentials or private data.
Feature requests for additional countries, seller matching, notification workflows, and richer public destination links are welcome. If the Actor saves you time, a review helps guide future improvements.