Referral Program
HomeUse CasesPrice Monitoring
Price Monitoring

Track every competitor price change. In real time.

E-commerce sites block scrapers that check prices too often from the same IP. Rotate through residential IPs and pull pricing data at any frequency.

Why proxies solve this

Price monitoring requires hitting the same product URLs repeatedly - exactly the pattern that triggers IP bans. Rotating residential proxies make each check look like a different user browsing normally.

The problems you hit without proxies

IP blocks from frequent checks

Checking a product page every 15 minutes from one IP gets that IP blocked fast. Rotate across a large pool and each request looks like a new organic visit.

Geo-specific pricing

Many retailers show different prices by country, state, or city. Use location-targeted proxies to pull the exact price a customer in that market sees.

Dynamic pricing pages

Sites like Amazon change prices multiple times per hour. Headless browser + rotating proxy combination captures JavaScript-rendered final prices.

Rate limiting by user agent

Sites fingerprint browsers beyond IP. Rotate user agents alongside IPs to reduce detection.

How SotaProxy handles it

Residential proxies with automatic rotation and city-level geo-targeting. Pull accurate local prices from 220+ countries. Combine with sticky sessions when you need to follow a full product page flow (region selector → product → final price).

Setup in 4 steps

1

Map your targets

List all domains and product URLs you need to monitor. Group by anti-bot aggressiveness - some sites need residential, others accept datacenter.

2

Set check frequency

Decide how often each price needs updating. Distribute checks evenly across your proxy pool to avoid rate limits.

3

Use geo-targeting

Append country or city to the proxy username parameter to pull region-specific prices.

4

Store and diff results

Save each price check to a database. Alert on changes above your threshold.

The arithmetic on a 50,000 SKU catalogue

Price monitoring is a daily job on a fixed list, so volume is predictable. A product page is around 50 KB gzipped once you block assets:

50,000 SKUs checked daily for 30 days
1,500,000 requests
At 50 KB per request
71 GB
Residential at $1.00 per GB
$71 per month
25 datacenter IPv4 at $1.25 each, traffic unmetered
$31 per month

Retail sites split cleanly into two groups. Small shops and price aggregators serve datacenter addresses without complaint, so run those on a datacenter pool. Large marketplaces fingerprint hosting ranges and quietly serve stale or default prices, which is worse than being blocked because the data looks fine. Those go on residential.

Sticky per store, rotating per catalogue

Marketplaces tie currency, delivery estimates and sometimes price to the session. Hold one address for the duration of a store pass instead of rotating mid-catalogue:

Python: one sticky address per store pass

def store_proxy(store_index, country="US", city=None):
    login = f"login_c_{country}"
    if city:
        login += f"_city_{city}"
    login += f"_s_{store_index}_ttl_1h"
    return f"http://{login}:password@proxy.sotaproxy.com:10000"

# One address per store for the whole pass
for idx, store in enumerate(stores, start=1):
    proxy = store_proxy(idx, country=store.country, city=store.city)
    for sku in store.skus:
        fetch(sku, proxy)
  • Prices differ by city on marketplaces with local warehouses. If you compare a New York price against a Warsaw address, the difference you are measuring is shipping, not competition.
  • An hour of sticky covers a full pass over a mid-size catalogue. Rotating inside it resets the currency and the delivery estimate.
  • Store the address you used next to every price you collect. Without it you cannot explain outliers later.
  • Spread the run across the day. Fifty thousand requests in ten minutes looks like an attack, the same run over six hours looks like traffic.

How price data goes wrong without anyone noticing

Collecting default prices instead of local ones

A marketplace that does not trust your address falls back to a default region. The scraper reports a number, the number is wrong, and nothing errors.

Rotating in the middle of a catalogue pass

Currency and delivery terms reset with the address, so half your prices are in another market's terms.

Comparing across cities by accident

Two addresses in the same country can sit in different warehouse zones. Pin the city when the category is logistics-sensitive.

Running everything at midnight

Sites rate-limit bursts. Spreading the same volume across hours costs nothing and gets you a fuller dataset.

Frequently asked questions

Can I monitor Amazon prices without getting blocked?

Yes, with residential proxies. Amazon is aggressive - use rotating residential IPs and rotate user agents. Datacenter IPs get blocked quickly on Amazon.

How often can I check prices?

With a rotating pool, effectively unlimited. Each request uses a different IP, so frequency limits per-IP do not apply.

Can I pull prices for a specific country or city?

Yes. City-level targeting in the proxy username pulls the exact price that location sees, including local taxes and currency.

What format does price data come back in?

The proxy returns raw HTML - your scraper parses out the price. Most teams use CSS selectors or XPath to extract price fields.

Ready to start?

Create an account, top up, and get proxy credentials in minutes. No sales call. No monthly minimum.

Create account