Data collection

Collect public web data at scale without getting cut off

Keep large crawls running against targets that fight back.

99.4%

median success rate

640 ms

p50 residential response

0

charged for failed requests

The problem

A crawler that works perfectly from your laptop falls apart the moment you scale it. One IP making ten thousand requests an hour is the single clearest bot signal there is, and every serious site rate-limits on it.

The failure mode is rarely a clean error. You get soft blocks: truncated pages, cached responses from an hour ago, prices that do not match what a real visitor sees. Your pipeline keeps running and quietly poisons your dataset.

The solution

Distributing requests across a large pool of residential addresses removes the per-IP concentration that triggers rate limits in the first place. Each request looks like a different visitor because, at the network layer, it is.

The part that matters more than pool size is control. Being able to pin a crawl to one country, hold a session for the length of a paginated flow, and back off per-domain is what turns a proxy from a blunt instrument into infrastructure.

Mechanics

How proxies solve it

1

Spread load across millions of addresses

Rotating residential exits mean no single IP accumulates a request history worth rate-limiting.

2

Hold sessions where flows require them

Multi-page journeys, logged-in areas and cart flows need the same exit for their duration. Sticky sessions hold for up to two hours.

3

See the page a local visitor sees

Country and city targeting removes the geo-redirects and currency substitutions that silently corrupt scraped data.

4

Fail loudly, not silently

We return explicit error headers for blocked responses instead of handing back a soft-blocked page your parser would happily ingest.

Workflow

How we would build it

  1. 1

    Profile the target

    Run a hundred requests through datacenter first. If they succeed, you have just saved 80% of your bandwidth bill.

  2. 2

    Pick the right pool

    Escalate to residential when ASN filtering appears, and to mobile only when residential starts getting challenged.

  3. 3

    Set per-domain concurrency

    Cap parallel requests per host in the dashboard so a single aggressive worker cannot get a whole domain to tighten its defences.

  4. 4

    Use sticky sessions for flows

    Any journey that spans more than one request should carry a session ID so the exit IP stays constant.

  5. 5

    Monitor success by country

    Per-country success rates surface a degrading market before it shows up as missing rows in your warehouse.

FAQ

Web scraping questions

Collecting publicly accessible data is broadly lawful in the UK, EU and US, but the details matter enormously — personal data, copyrighted content, circumventing access controls and contractual terms of service all change the answer. Take your own legal advice. Our Acceptable Use Policy sets out what we will not carry.
A text-heavy HTML page averages 60–120 KB through a proxy once you block images and fonts. That is roughly 9,000–16,000 pages per gigabyte. Rendering JavaScript with a headless browser costs five to ten times more, so block assets you do not parse.
Only when the data genuinely requires it. A browser multiplies bandwidth and latency. Try the underlying JSON API or server-rendered HTML first — it is faster, cheaper and far easier to keep stable.
Get started

Ready to start web scraping?

Your first gigabyte is free, which is normally enough to validate the approach against your real target before you commit to anything.