Price monitoring means tracking what competitors, resellers and marketplaces charge for the products you care about, and how those prices change over time. Done well, it shows you when to cut a price, when you can raise one, which sellers break your pricing policy and where you are losing the buy box. The hard part is not the spreadsheet; it is collecting accurate prices from hundreds of sites, every day, as real shoppers in each city see them. This guide covers what to monitor, why the price you see is often not the price your customers see, which proxies to use, how to build a reliable price monitoring workflow and what it costs to run.
The short version
Collect prices through rotating residential proxies targeted to the countries, cities and ZIP codes your customers are in, read prices from structured data where possible, and store every check so you see trends, not snapshots. ProxyEmpire gives you more than 30 million residential IPs in 170+ locations, city and ZIP targeting at no extra cost, mobile IPs for app-only prices, and unused bandwidth that rolls over for seasonal peaks.
What Is Price Monitoring?
From single checks to price intelligencePrice monitoring is the regular, automated collection of prices for a defined set of products from a defined set of sellers. A small shop might check twenty rival listings once a day; a large retailer might track millions of offers across marketplaces, brand stores and comparison sites several times a day. Each check records the price, but useful programmes also record everything that changes what a customer actually pays: shipping, discounts, stock status, the seller’s name and the location the price was seen from.
Price intelligence is what you do with that history. Competitor price tracking tells you where you stand today; trends show how quickly rivals react to your changes, which products they use as loss leaders and when seasonal discounts start. Pricing teams use it to set rules (“stay within 2% of the lowest authorised seller”), brands use it to enforce minimum advertised price (MAP) policies, and category managers use it to spot gaps in the range. None of it works if the collected data is wrong, which is where most of the effort, and the proxies, go.
What to Monitor: Prices, Sellers, Stock and More
The data points that change decisions| What | Why it matters | Where |
|---|---|---|
| Competitor prices | Stay competitive without giving away margin | Rival stores, comparison sites |
| Reseller and MAP compliance | Catch sellers advertising below agreed prices | Marketplaces, retailer sites |
| Marketplace offers and the buy box | See who wins the sale and at what price | Large online marketplaces |
| Stock and delivery times | A cheap price is irrelevant if it is out of stock | Product and checkout pages |
| Promotions and coupons | Time your own campaigns | Banners, basket pages, newsletters |
| Fares and room rates | Prices change by date, route and point of sale | Airlines, OTAs, hotel sites |
| Menu and delivery prices | Delivery apps and restaurants price by area | Food delivery apps and sites |
Start with the products that drive most of your revenue and the five to ten competitors your customers compare you with. Monitoring everything from day one creates noise; a focused list you trust beats a huge one full of mismatched products.
Why the Price You See Is Not the Price Your Customers See
Location, device and session all change the numberOnline prices are rarely one number. The same product page can show different prices, fees and availability depending on who asks:
- Country and currency. Stores localise prices, taxes and currencies by country, and many redirect foreign visitors to a different store entirely.
- City and ZIP code. Grocery, pharmacy, electronics and delivery platforms price by store, warehouse or delivery zone. A price checked from one city says little about another.
- Device and app. Some retailers and travel sites show app-only deals or different mobile prices.
- Traffic volume. Sites that see hundreds of requests from one IP slow them down, show a CAPTCHA, or quietly serve cached or incomplete pages.
- Your own company’s IP. Checking a competitor from your office network tells them exactly who is watching.
Every one of these is solved the same way: collect each price from an IP that looks like a normal shopper in the right place. That is the job of the proxy layer.
Best Proxies for Price Monitoring
Match the proxy to the site and the question| Proxy type | Use it for | Why |
|---|---|---|
| Rotating residential | Most price monitoring: retailers, marketplaces, travel | Real household IPs, rotation across 30M+ IPs, country, region, city and ZIP targeting |
| Rotating mobile | App-only prices and mobile-first platforms | 4G and 5G carrier IPs that mobile-first apps expect |
| Rotating datacenter | Open sites and supplier feeds that do not filter IPs | From $0.35 per GB, fast, 62 countries |
| ISP (static residential) | Logged-in trade portals and B2B price lists | One fixed IP per account, day after day |
For almost every team, rotating residential proxies are the backbone. Rotation spreads thousands of daily checks over thousands of addresses, so no single IP stands out, and ZIP-level targeting lets you record the price a shopper in a specific delivery area sees. Use per-request rotation for independent product pages and a sticky session when a price only appears after steps, for example after entering a postcode or adding an item to the basket. There is no limit on concurrent sessions, so you can check a full catalogue in parallel. Our datacenter vs residential comparison shows how to mix the cheapest proxy that works with residential fallback.
Key takeaways
- Monitor prices, sellers, stock, fees and promotions, not just the headline number.
- Prices vary by country, city, ZIP, device and traffic; collect them as a local shopper would see them.
- Rotating residential proxies with city and ZIP targeting are the default; add mobile for app prices.
- Read structured data or APIs first to cut bandwidth by 90% or more.
How to Build a Price Monitoring Workflow
Seven steps from product list to alert- Build the product list and match it. Map each of your products to the competitor listings for the same item, using GTIN or EAN codes, manufacturer part numbers or model names. Bad matching is the most common reason price monitoring data gets ignored.
- Set the schedule per product. Fast-moving categories and marketplaces may need several checks a day; stable ranges once a day or weekly. Check more often around promotions and seasonal peaks.
- Choose locations. Decide which countries, cities or ZIP codes matter and set the proxy targeting to match, one location per job.
- Fetch the price at the lightest source. Many product pages include the price in structured data (schema.org Product and Offer markup) or load it from a JSON endpoint. Reading that is faster and far smaller than rendering the whole page.
- Validate every response. Check that the product name matches, the price is a number in the expected range, and the page is not a CAPTCHA or an error. Retry with a new IP when it is.
- Store the history. Save price, currency, shipping, stock, seller, location and timestamp for every check. Trends are worth more than the latest value.
- Alert on what matters. Notify the team when a competitor undercuts you by more than a threshold, a reseller breaks MAP or a key product goes out of stock.
import json, requests
from bs4 import BeautifulSoup
PROXY = "http://USERNAME:[email protected]:5000" # city-targeted username
def get_price(url):
r = requests.get(url, proxies={"http": PROXY, "https": PROXY},
headers={"User-Agent": "Mozilla/5.0"}, timeout=30)
r.raise_for_status()
soup = BeautifulSoup(r.text, "html.parser")
for tag in soup.find_all("script", type="application/ld+json"):
try:
data = json.loads(tag.string or "")
except ValueError:
continue
items = data if isinstance(data, list) else [data]
for item in items:
offers = item.get("offers") if isinstance(item, dict) else None
if isinstance(offers, list):
offers = offers[0] if offers else None
if isinstance(offers, dict) and "price" in offers:
return float(offers["price"]), offers.get("priceCurrency")
return None, None
When a site has no structured data, fall back to CSS selectors, and when prices only appear after JavaScript runs, look for the JSON request the page makes before reaching for a headless browser. Our guides to JSON scraping and Python web scraping cover both in detail.
Price Monitoring Bandwidth and Cost
How the source you read changes the billResidential proxies are priced per GB, so the size of what you download matters more than the number of products. A worked example: 5,000 products, checked four times a day, for 30 days, is 600,000 requests a month.
| What you download | Size per check | Monthly traffic | At $3.50/GB | At $1.50/GB |
|---|---|---|---|---|
| Full HTML product page | ~300 KB | ~180 GB | ~$630 | ~$270 |
| JSON price endpoint | ~20 KB | ~12 GB | ~$42 | ~$18 |
The same programme costs fifteen times less when it reads the price from a lightweight source. Blocking images, fonts and video in headless browsers has a similar effect. For catalogues large enough that even efficient collection uses a lot of traffic, unlimited residential proxies remove the per-GB meter. And because unused ProxyEmpire bandwidth rolls over, quiet months fund the extra checks you need during sales seasons. Current plan rates are on the pricing page.
Price Monitoring Tools: Build, Buy or Both
Three ways to run the programme- Price monitoring software. Subscription tools handle matching, dashboards and alerts for you. They are the fastest start for small catalogues, but coverage of niche sites and local prices varies, and costs rise with the number of products.
- In-house collection. Your own scrapers, proxies and database give full control over sources, locations and frequency, and the cost per check falls as you scale. It needs developer time to build and maintain.
- Both. Many teams use a tool for the main competitors and their own scrapers for the long tail, local prices or marketplaces the tool does not cover.
Whichever route you take, the proxy layer is often the difference between complete and patchy data. Tools that let you bring your own proxies work with ProxyEmpire through the standard host, port, username and password, and our web scraping proxies page covers larger in-house setups. Related use cases run on the same infrastructure: SEO rank tracking, ad verification and brand protection.
ProxyEmpire’s support team is available 24/7, staffed by real people, and can help you choose locations, rotation settings and a plan size for your catalogue. Collect public pricing data only, and keep request rates reasonable; ProxyEmpire is not for spam or illegal activity.
Price Monitoring FAQ
Straight answersWhat is price monitoring?
The regular, automated collection of prices, stock and seller information for chosen products from competitors, resellers and marketplaces, so pricing decisions are based on current market data.
Why do I need proxies for price monitoring?
Prices vary by location and device, and sites limit requests per IP. Proxies let you collect prices as local shoppers see them and spread thousands of checks across many IPs.
Which proxies are best for price monitoring?
Rotating residential proxies with city and ZIP targeting for most sites, mobile proxies for app-only prices, and datacenter proxies for open sites that do not filter by IP type.
How often should prices be checked?
It depends on the category: several times a day for marketplaces and fast-moving products, daily for most retail, weekly for stable ranges, and more often during promotions.
How much bandwidth does price monitoring use?
Roughly the number of checks times the size of each download. Reading JSON or structured data instead of full pages can cut traffic by more than 90%.
Can I monitor prices in specific cities or ZIP codes?
Yes. ProxyEmpire’s residential and mobile proxies target country, region, city, ZIP, ISP and ASN at no extra charge.
Is price monitoring legal?
Collecting publicly displayed prices is common practice, but site terms, database rights and privacy laws still apply. Collect public, non-personal data and keep the load reasonable.
References
Standards used in price collection- Schema.org: OfferThe price, currency and availability properties on product pages
- Google Search Central: Product structured dataHow retailers publish prices in markup
- Schema.org: gtinGS1 product identifiers for matching listings
- MDN: 429 Too Many RequestsHow sites signal rate limits
Accurate prices from every market
More than 30 million residential IPs and 4 million mobile IPs in 170+ locations, with city and ZIP targeting at no extra cost, rollover bandwidth, no concurrent session limit and 24/7 support from real people. Try it for $1.97.














