How to Buy and Set Up Residential Proxies

Buying residential proxies starts with the workload: which locations you need, whether related requests must keep one exit IP, and how much traffic your client will transfer. Then choose a bandwidth allowance, collect your credentials and verify a small request before connecting your scraper.
Already run your own scraper? ScrapingAnt residential proxies add rotating HTTP/HTTPS exits, country/state/city targeting and optional sticky sessions without a vendor SDK. Start at $30/month for 5 GB ($6/GB). Higher-volume plans include 500 GB for $1,750/month ($3.50/GB) and 1,000 GB for $3,000/month ($3/GB).
The original publication date remains July 1, 2024. The earlier October 14 correction replaced outdated product claims with monthly GB plans and the documented session limit. This update adds a buying and setup walkthrough. Prices and connection syntax were checked against primary sources; examples were checked offline, with no new live proxy requests.
Things to Consider When Buying Residential Proxies
Check the locations your data requires, HTTP/HTTPS support, session duration, monthly allowance and support. Residential addressing does not guarantee anonymity, target acceptance or permission to collect data.
Choose direct proxies when you manage fetching, browser automation and parsing. If you want managed page retrieval and JavaScript rendering, use the separate Web Scraping API. Its API credits are different from direct residential GB. Our residential scraping workflow guide explains that choice.
Estimate bandwidth before choosing a plan
Start with expected attempts × average transferred bytes per attempt, including retries. A browser can also download images, scripts, fonts and other assets. Measure representative traffic and compare it with the provider's usage meter; a saved HTML file's size alone is not the bill.
For planning only, 10,000 responses × 200 KB = 2 GB in decimal units, before request traffic, headers, retries and assets. If your forecast including those costs fits within 5 GB, Micro is a practical starting allowance. If your browser downloads 2 MB per page instead, 10,000 pages represent 20 GB before the other traffic. These are arithmetic examples, not measured ScrapingAnt usage.
| Example plan | Monthly allowance | Monthly price | Price per included GB |
|---|---|---|---|
| Micro | 5 GB | $30 | $6.00 |
| Business | 500 GB | $1,750 | $3.50 |
| Enterprise | 1,000 GB | $3,000 | $3.00 |
These are three of the eight listed monthly plans. The $3/GB rate requires the full $3,000 monthly commitment. A larger allowance is useful when you will use it: spending $3,000 while using only 100 GB would be $30 per used GB. Check the current allowance, renewal and any additional-usage terms before checkout.
ScrapingAnt includes unlimited concurrency and 24/7 support across its listed residential tiers. Keep your HTTP client and select the allowance that fits your forecast. Your target's rate limits still apply.
Steps to Setting Up Residential Proxies
1. Get the right credentials safely
Sign in and open residential account settings. Review the monthly plan and complete subscription checkout, then obtain the residential proxy username and key shown in your account. Use the residential key as the proxy password; the Web Scraping API token belongs to a different interface.
Copy the username carefully. The targeting examples below use customer-USERNAME, where USERNAME means your account identifier. If the dashboard supplies the full customer-... username, keep that prefix once; do not add a second customer-.
Keep the key in a secret manager or protected local configuration for unattended jobs. Do not commit it, paste it into support screenshots, or include it in shared logs. For the first terminal request below, curl prompts for the key so you do not have to put it in shell history or command arguments. Leave shell tracing off and redact credentials before sharing diagnostics.
2. Configure host, port and targeting
The official residential setup reference documents Basic proxy authentication at:
- Host:
residential.scrapingant.com - HTTPS proxy: port
443, usingCONNECT - HTTP proxy: port
8080 - Password: your residential proxy key
The proxy scheme describes the connection to the proxy. The destination URL has its own scheme. The first request uses an HTTPS proxy and an HTTPS destination; keep certificate verification enabled.
Put targeting in the username, not in the destination URL or API query parameters:
| Need | Proxy username pattern |
|---|---|
| US exit, rotating requests | customer-USERNAME-country-us |
| California exit | customer-USERNAME-state-us_california |
| Los Angeles exit | customer-USERNAME-city-us_los_angeles |
| US exit for one related sequence | customer-USERNAME-country-us-sessionid-flow123 |
City takes priority over state, and state over country. Start with the broadest location your dataset needs, then confirm the required region is available. Omit sessionid for rotation; keep the same ID and targeting for related steps that need one exit. The documented sticky-session maximum is up to 10 minutes, not a permanent or dedicated IP. If the exit changes or the session expires, restart an IP-dependent sequence safely rather than assuming continuity. Cookies remain your client's responsibility.
3. Make a first request with curl
Run this in an interactive Bash or Zsh terminal with HTTPS-proxy-capable curl. Paste your full username from the preceding step at the first prompt, without a colon or key. At curl's password prompt, enter the residential key; input is hidden. The request uses your purchased bandwidth.
printf 'Full residential proxy username: '
IFS= read -r PROXY_USER
curl --silent --show-error --fail-with-body \
--connect-timeout 10 --max-time 20 \
--proxytunnel \
--proxy 'https://residential.scrapingant.com:443' \
--proxy-user "$PROXY_USER" \
--output proxy-check.json \
--write-out '\nHTTP %{http_code}\n' \
'https://scrapingbin.link/ip'
unset PROXY_USER
This calls ScrapingAnt's documented IP-check destination once, with no automatic retries or followed redirects. Inspect proxy-check.json: success requires HTTP 200 and valid JSON containing an exit IP address, not an HTML error page. Do not share the raw IP if it is not needed for troubleshooting.
4. Verify the route and your actual content
Before scaling, check each layer:
- Connection: curl completes within the timeout and returns the expected IP-check JSON. A connection failure or proxy-authentication error is not a target-page result.
- Route: compare the exit with your known direct egress IP. For a location-sensitive job, check exit geolocation and the returned page's currency, locale or regional markers. An IP response alone does not verify country accuracy.
- Session: if your workflow needs continuity, repeat a few small checks using the same sticky ID and targeting, then a different ID. Confirm the observed behavior; do not infer full ten-minute survival from a short check.
- Useful data: try a small page you are authorized to retrieve and validate required fields. HTTP 200 can still contain a challenge, login page or empty result.
- Spend: review the account's usage meter, include failed attempts and retries in your forecast, and stop an unexpected retry loop before increasing workers.
For prior connection evidence, our sanitized October 15 check recorded 16 successful requests to one owned IP-check endpoint, six rotating exits, and two sticky IDs each keeping one exit across three requests over about 40–42 seconds. It measured 500 response-body bytes, not total billed traffic. The 4 MB reservation was a test guard, not consumption. This does not establish production acceptance, geolocation accuracy or ten-minute session survival; no new proxy test was run for this update.
Common Issues and Solutions for Buying Residential Proxies Securely
| Symptom | Check before retrying |
|---|---|
| Proxy authentication fails, often HTTP 407 | Active residential access; correct residential key; full username with the prefix once; no pasted whitespace. Do not substitute an API token. |
| Connection timeout | Host, proxy scheme/port and local firewall. Keep a timeout and a bounded retry policy; more workers do not fix a bad connection setting. |
| Unexpected location | Username syntax and city/state precedence, then exit geolocation and page-level regional markers. |
| Exit changes during a related sequence | Same targeting and sticky ID, elapsed session time, and whether the residential peer is still available. Recover the whole sequence if continuity matters. |
| HTTP 403, 429 or a challenge page | Inspect the target response, reduce rate and back off. Residential routing does not remove target controls. |
| Bandwidth rises unexpectedly | Browser assets, redirects, large downloads, retries and duplicate work. Compare client observations with the account meter. |
Best Practices for Buying Residential Proxies
Keep target permissions, crawl rates and data handling appropriate to your project. Cache pages that do not need refreshing, limit retries and validate records before counting success. For browser jobs, block only assets that are unnecessary for the content you need. Keep cookies and sticky IDs aligned for related requests.
For Python integration and the choice between running your own scraper and managed retrieval, continue to the residential proxy workflow and billing guide.
Get ScrapingAnt Residential Proxies
Choose ScrapingAnt when you want to keep your scraper and add standard HTTP/HTTPS residential routing with country/state/city targeting, rotation, short sticky sessions and a defined monthly GB allowance. Start with 5 GB for $30/month when it fits your forecast; choose 500 GB for $1,750/month or 1,000 GB for $3,000/month when that volume is justified.