Skip to main content
[ USE CASE / WEB SCRAPING ]

Turn blocked requests into clean data

Home-internet IP addresses in the country you pick, sessions that hold through a multi-step flow, and requests that look like a real browser — so your crawler spends bandwidth on pages instead of retries.

from $0.74/GBResidential TLS · prepaid, no subscription · plans are valid for 30 days from activation
  • 137 COUNTRIES
  • ROTATING OR STICKY 1–1000 MIN
  • BROWSER TLS PROFILES
  • HTTP + SOCKS5
  • METERED TO THE KB
crawl controlSAMPLE RUN
200/catalog?page=4de · 412 ms
200/p/8842-lampde · 388 ms
429/catalog?page=3retry · new exit
200/catalog?page=3de · 501 ms
200/p/9051-deskde · 356 ms

COMPLETED IN THIS RUN

96%

200 OK48
CHALLENGED2
request.py
import requests

p = "http://resi-user_a1f9c2-AE-chrome145:[email protected]:9999"
r = requests.get("https://example.com/catalog", proxies={"http": p, "https": p}, timeout=30)

Illustrative panel. Status rows and counters are a simulated sample run for the settings above — not a service-level promise. Real results depend on the target, your pacing and your parser.

[ 01 / WHERE YOU APPEAR ]

See the web from where your customers are

Choose a country. Add a city when the market needs it. Get the local version of the page.

181countries available, with optional city targeting on residential exits

STYLISED COVERAGE VIEW · NORTH AMERICA — SAMPLE MARKET: CHICAGO, US

usUnited StatesNorth America · sample marketLOCAL PAGE
CITY (OPTIONAL)
Chicago
YOU SEE
USD prices, the US catalogue and US stock levels
PAGE LANGUAGE
en-US
gateway parameter
yourpass-country-us-city-chicago

Also in this region: Canada, Mexico, Puerto Rico, Costa Rica.

  • 137 COUNTRIES
  • OPTIONAL CITY TARGETING
  • ROTATING OR STICKY 1–1000 MIN
  • BROWSER TLS PROFILES
  • PREPAID, METERED TO THE KB
Browse all locations City names and sample pages above are examples, not a coverage guarantee for every city.
[ 02 / THE BOTTLENECK ]

Your parser isn't the bottleneck

A crawler that works on your laptop and dies in production usually fails before the page even loads. One address sends thousands of requests an hour, every request looks like a script rather than a browser, and the site treats each one as a stranger.

The cost is quiet. Retries multiply the bandwidth bill, half-loaded pages poison the dataset, and a job that collects check pages instead of content can run all night before anyone notices.

Technical detail

Three signals usually give a crawler away together: request density from a single address, a hosting-network ASN instead of a consumer ISP, and a TLS ClientHello whose cipher and extension order matches an HTTP library rather than a shipped browser build.

403 / 429

Rate limits tied to your IP. Throughput collapses exactly when the crawl gets interesting, and backing off costs you the schedule.

CHALLENGE

A “success” that isn't content. A check or CAPTCHA page parses fine and quietly writes garbage rows into your warehouse.

GEO ≠

The wrong country's page. Wrong currency, wrong catalogue, wrong ranking — technically a success, analytically useless.

SESSION

Multi-step flows fall apart. Your address changes mid-walk, the site forgets you, and the paginated set restarts from nothing.

[ 03 / SAME REQUEST, TWO NETWORKS ]

What the target sees

The same request to the same public page. Only the network it arrives on changes.

Plain script, no proxyBEFORE
ADDRESS
shared cloud IP, heavy request volume
LOOKS LIKE
an HTTP library, not a browser
LOCATION
a cloud region, not your market
SESSION
none — every page is a new stranger
RESPONSE
429, then a check page on retry
Ludax Residential TLSAFTER
ADDRESS
a home-internet IP in Germany
LOOKS LIKE
Chrome 145 on a normal connection
LOCATION
German catalogue, prices and currency
SESSION
sticky 10 min — one visitor, whole walk
RESPONSE
200 with the page a local visitor gets

The network's job is to stop your address, your location and your request from contradicting each other. No proxy defeats every anti-bot system, and some targets should be read through an official data feed instead.

Technical detail: what “looks like” means

Residential TLS exits from an ISP-assigned address (consumer ASN) and replays a pinned ClientHello captured from a real Chrome, Firefox or Safari build — matching cipher suites, extensions and their order — instead of your HTTP library's OpenSSL defaults.

[ 04 / THE FLOW ]

Three decisions, one gateway

Ask for the market, not the datacentre

Add a country — and a city if the market needs it — to the password field. You get an address in that place, so you read the local version of the page.

Browse locations
PARAMETER-country-de
OPTIONAL-city-berlin
COVERAGE181 countries
EXIT TYPEresidential / ISP

Rotate for breadth, stick for state

No session token means a new address every request — right for independent page fetches. Add one and you keep the same address for up to 1000 minutes, long enough to walk a listing, a product page and a paginated set as one visitor.

Parameter reference
ROTATINGno session token
STICKY-session-walk42
TTL-time-10 (1–1000 min)
RETRY RULEnew token, not the same

Look like a browser, then read the page

Pick a browser profile so a home address doesn't arrive looking like a script. Then treat response codes as data quality: log them per session and act on drift before it reaches the warehouse.

Residential TLS details
PROFILE
PROTOCOLSHTTP · SOCKS5
HEADLESSone sticky per context
BILLINGper GB, kilobyte-metered
[ 05 / WORKLOADS ]

What people run on this

Pick a job. See the settings we'd start with.

Track the right price in every market

Read each country's own catalogue — its prices, currency and stock — instead of whatever page a cloud server happens to get. Hold one session per product path so filters and pagination stay put.

SESSIONsticky, 10 min per path
LOCATIONone country per run
PRODUCTResidential TLS

SAMPLE OUTPUT · ONE PRODUCT, FOUR MARKETS

deLamp 8842€39.90
usLamp 8842$44.00
gbLamp 8842£34.50
jpLamp 8842¥6,480

Sample panels illustrate the settings, not a measured result. Collect only data you are authorized to collect.

[ 07 / CONFIGURATION & CAVEATS ]

Settings that decide the outcome

R1Rotation, TTL and retries

Leave the session token out for broad collection; add one for any run with several steps. Set -ttl- a little longer than your slowest flow, up to 1000 minutes — longer wastes an address, shorter breaks the walk. Retry with a new session token: a fresh address is the whole point of the retry.

R2Concurrency and pacing

Ramp up gradually and watch your response codes instead of starting at full speed. A perfect-looking request sent forty times a second is still obviously a machine — pace yourself per site, not per proxy.

R3Bandwidth is the real bill

You pay for traffic, so fetch HTML and skip media. Turn images off in headless runs, ask for compressed responses, and measure one typical page before you estimate a whole crawl.

R4Treat failure as data quality

Anything that isn't a 200 is a pipeline error, not noise. Log your status codes per session so slow decay shows up early. And nothing here is guaranteed: no proxy gets past every anti-bot system, and some sites should be read through an official data feed instead.

Responsible use. Collect public data you are authorized to collect. Respect robots.txt and the target's terms, avoid personal data you have no lawful basis to process, and never route credential stuffing, account takeover or paywall circumvention through the network — the acceptable use policy prohibits it and accounts are terminated for it.
crawler.py
import requests

USER, PASS = "resi-user_a1f9c2-AE-chrome145", "yourpass"

def proxy(country="us", session=None, profile=None):
    pw = f"{PASS}-country-{country}"
    if session: pw += f"-session-{session}"
    if profile: pw += f"-profile-{profile}"
    url = f"http://{USER}:{pw}@gw.ludaxproxy.com:9999"
    return {"http": url, "https": url}

# one sticky context per product page walk
r = requests.get("https://example.com/catalog",
                 proxies=proxy("de", session="walk42", profile="chrome145"),
                 timeout=30)
Gateway
gw.ludaxproxy.com:9999 (Residential TLS · HTTP and HTTPS)
Headless
One sticky session per browser context so the exit does not change mid-navigation.

Full parameter reference in the documentation.

[ FAQ ]

Web Scraping FAQ

01Rotating or sticky for scraping?

Both, in the same job. Rotate for independent page fetches; hold a sticky session for any sequence that depends on the previous request.

02How much traffic does a crawl use?

It depends entirely on page weight. Measure one representative page, multiply by your target volume, and add margin for retries — the dashboard meters actual usage to the kilobyte as you go.

03Do I need the TLS product?

Only if requests still fail from clean residential IPs. Start on standard residential and move up if challenge pages persist.

04Can I use headless browsers?

Yes. Point the browser at the gateway and use one sticky session per browser context so the exit does not change mid-navigation.

[ START HERE ]

Start with one gigabyte.

Buy the smallest amount of traffic, run your crawl against sites you are authorized to collect, read the response codes — then scale the plan instead of the guesswork.

from $0.74/ GB · Residential TLS

from $1.49 / 1 GBResidential TLS · prepaid Start with 1 GB

This page is being migrated

This destination has not yet been migrated to the original design.