Price monitoring is the most common commercial reason to buy proxies, and the one where people most often buy the wrong type. The failure mode is rarely dramatic: the scraper runs, the numbers land in the database, and nobody notices that half of them were collected from the wrong country or read off a pre-consent page. This guide covers which proxy type fits which target, what the bandwidth actually costs, and the data-quality traps that make price feeds quietly wrong.
Match the proxy type to the target, not to the project
There is no single right proxy for price monitoring, because retailers differ enormously in how hard they defend their pages. Treat it per domain.
| Target | Proxy type | Price |
|---|---|---|
| Retailer with no bot defence, public listings | Rotating datacenter | $1.00/GB |
| Mainstream e-commerce, light defences | Budget residential | $1.75/GB |
| Cloudflare, DataDome or PerimeterX in blocking mode | Premium residential | $2.75/GB |
| Prices behind a login or a trade account | Static residential (ISP) | $7.90 per IP / 30 days |
| Marketplace app, mobile-only pricing | Rotating mobile | $3.50/GB |
Start cheap and escalate per domain based on measured success rate. A mixed fleet, where 80% of your targets run on datacenter and the awkward 20% run on premium residential, costs a fraction of putting everything on the expensive tier because a handful of sites misbehaved.
The bandwidth maths, done properly
Residential and datacenter proxies bill by the gigabyte, so your bill is a function of page weight, not of how many prices you collect. The arithmetic is worth doing before you commit to a plan.
A typical product page is around 250 KB fully loaded. Ten thousand of them is roughly 2.5 GB:
- On rotating datacenter at $1.00/GB: about $2.50 a day, $75 a month.
- On budget residential at $1.75/GB: about $4.38 a day, $131 a month.
- On premium residential at $2.75/GB: about $6.88 a day, $206 a month.
Then cut it. If you are driving a headless browser, blocking images, fonts, media and analytics scripts usually removes most of that weight, because the price, the availability flag and the product identifier all live in the HTML or in a JSON payload. Fetching the JSON endpoint directly, where one exists, is cheaper still. We have seen the same job cost a quarter as much after a two-line change to the request interception rules.
One more number that matters more than the per-gigabyte rate: your success rate. Paying $1.00/GB and succeeding on 40% of requests costs $2.50 per useful gigabyte. Paying $2.75 and succeeding on 95% costs $2.89. The cheap pool is frequently the expensive one, and you cannot know which is which without measuring on your own target list.
The data-quality problems that are not about blocking
A price feed can be fully operational and still be wrong. These are the four causes we see most often.
Geo-pricing. Retailers show different prices, currencies and promotions by region. If your proxy pool rotates across countries, your time series mixes them, and you will see "price changes" that are really just a different exit country. Pin the country explicitly and store it next to every observation:
USER-country-DE-city-berlin:PASSWORD@gate:port
Consent and cookie walls. In the EU especially, the pre-consent page is often a different page: different markup, sometimes different prices, frequently no price at all. If your parser is reading a banner interstitial it will either fail loudly or, worse, extract a placeholder.
Logged-out versus logged-in. Trade pricing, member pricing and cart-level discounts only appear inside a session. That is the case for a static residential IP rather than a rotating one, because the session has to survive the whole flow.
A/B tests and personalisation. Some retailers serve price experiments to a fraction of visitors. A single observation per day per product cannot distinguish an experiment from a change. Sampling the same product from two different IPs occasionally is a cheap way to detect it.
Cadence, politeness and the limit that actually bites
Concurrency on our side is unlimited and unthrottled, which tempts people into firing everything at once. The target does not care about your concurrency; it counts requests per IP per minute. Five hundred threads through five addresses is a hundred requests per address, which is what gets you blocked. Spread the same volume over more IPs and you look like more visitors doing less each.
On frequency: measure before you decide. Watch a sample at high frequency for a week, see how often prices genuinely move in your category, and set the schedule from that. Most retail prices change daily at most. Hourly collection on a daily-moving catalogue multiplies cost and risk for no extra information.
Where to go next
For the tooling side of this, our roundup of price tracking tools covers what to run on top of the proxies, and the price monitoring use case page summarises the setup. If you want to compare every rate before choosing a tier, the pricing page lists them, and cheapest residential proxies puts our per-gigabyte rate next to the rest of the market.
Frequently asked questions
What is the cheapest proxy type for price monitoring?
Rotating datacenter at $1.00 per gigabyte, and for a surprising number of retailers it works. Try it first on your actual target list and measure the success rate. If a site runs Cloudflare, DataDome or PerimeterX in blocking mode, move that domain to residential and keep the rest on datacenter. There is no rule that says every target needs the same proxy type.
How much bandwidth does tracking 10,000 products a day use?
A product page averages roughly 250 KB with images, so 10,000 pages is about 2.5 GB a day, which is $2.50 on datacenter or $4.38 on budget residential. Block images, fonts and media in your browser automation and you often pay for a fraction of that, because the price you want is in the HTML.
Why do I see different prices from different IPs?
Because retailers set prices by region, currency and sometimes by what they infer about the visitor. The same product can legitimately show three prices from three countries. That is not a bug in your scraper; it is the thing you are measuring. Record the exit country alongside every price or your time series will be comparing regions and calling it a price change.
Do I need ISP proxies to track prices behind a login?
Usually yes. A logged-in cart or a trade account expects the same address for the whole session, and a rotating IP triggers re-verification. A static residential IP at $7.90 per IP for 30 days holds one address, which is what those flows want. Public listing pages do not need it.
How often should I scrape a competitor's prices?
As often as the prices actually move, which for most retail categories is daily, not hourly. Higher frequency multiplies your bandwidth bill and your block rate without adding information. Watch a sample of products at high frequency first, measure how often they change, then set the cadence from that evidence.