What is Price Monitoring?
Price monitoring is the repeated collection of competitor prices, stock and promotions from retail sites and marketplaces. Retailers vary what they display by country, currency, delivery postcode, device and account, so the IP and session of the collecting client decide which price it records. That is why the checks run through geo-targeted proxies.
Retail prices are not one number per product. A retailer can vary the displayed figure by storefront country and currency, by whether tax is included, by the delivery postcode entered, by stock at the nearest fulfilment location, by device, by membership tier, and by whichever experiment the visitor was bucketed into. Grocery and DIY chains take this furthest, quoting different prices and availability store by store. A collection run that ignores those inputs produces a number that is real for somebody other than the customer you are pricing against.
Pinning the request is the first job. Set a country exit IP, then push the site into the state you want to measure: accept the regional storefront instead of a redirect banner, set the currency cookie, enter a postcode, sign in where the figure you need is member pricing. Record what you pinned beside what you read. A row holding price, currency, availability, seller, timestamp and the exit geography is one you can audit later, while a row holding price alone reconciles with nothing.
Collection favours the cheapest path that stays accurate. Many retailers expose the product JSON endpoint their own page calls, which returns price and stock without any rendering. Schema.org Product markup in the HTML is convenient, though it sometimes lags the rendered price or omits a promotional discount, so compare it against the visible figure before trusting it across a catalogue. Marketplaces add a subtlety. The price you scrape belongs to whichever seller currently holds the buy box, so store the seller identity or your series will jump for reasons unrelated to pricing.
Frequency creates the friction. Checking a hundred thousand SKUs every hour reads as an attack, and retailers answer with rate limits, CAPTCHA walls and quietly stale cached pages. Spread the schedule and tier products by how often their prices move. Reserve full browser rendering for pages that require it. You need a sticky session wherever the price appears only after a basket or postcode step, since dropping the session loses that state. Collecting public prices is ordinary competitive research, while terms of service and login-gated pricing raise separate questions.
Where you meet it
You get here when finance asks why the competitor price on your dashboard does not match what someone saw in the store's app, or when a repricing rule fires on a number that turned out to be a test variant. Both are geography and session problems before they are scraping problems. Decide which customer's view you are pricing against, in country, postcode, device and signed-in state, then hold that configuration steady so the time series compares like with like.
Common questions
Why do I see a different price than my competitor's customers?
Because the site chose a price for your request. Country from the IP, currency and storefront cookies, delivery postcode, device type, membership status and any running experiment all feed that decision. Reproduce the customer's context with an exit IP in their market, the same device class and the same store or postcode, then record those inputs alongside every price you store.
How often should prices be checked?
Match the cadence to volatility instead of checking everything at one rate. Fast-moving marketplace listings and promotional lines can justify hourly checks, while long-tail catalogue items are fine daily or weekly. Tiering the catalogue keeps request volume low enough to avoid rate limits and cuts bandwidth, which is usually the larger part of the running cost.
Can I monitor prices without running a browser?
Often yes. Where the product page loads its price from a JSON endpoint, request that endpoint directly and parse the response, which uses much less bandwidth and no rendering time. Reserve a real browser for prices that appear only after client-side scripting, a basket step or a postcode selection, and block images and fonts there to keep transfer down.
Related terms
Real 4G/5G mobile and residential IPs
PROXIES.SX runs carrier IPs in 100+ countries with HTTP and SOCKS5 on every endpoint. $4/GB down to $2.40/GB at volume, free endpoints and rotation, and your GB never expire.