ProxyScrape Setup Guide: Endpoints and Your First Verified Request
A beginner-safe walkthrough that takes you from an empty ProxyScrape account to a verified proxy request: how to pick a proxy type and protocol, build a correct HTTP or SOCKS5 endpoint string, test it with curl on any desktop OS, and apply it to a browser
Overview
This guide is a first-run setup walkthrough for ProxyScrape. It takes you from an empty account to a verified proxy request, and it explains the endpoint strings you will reuse in later scripts, browser profiles, and application settings. No prior proxy experience is assumed.
By the end of this guide you will be able to:
- Choose between residential, datacenter, and mobile proxies, and between HTTP and SOCKS5.
- Build a valid endpoint string from the connection details in your ProxyScrape dashboard.
- Confirm that traffic is actually leaving through the proxy rather than your own connection.
- Apply the same endpoint to a desktop browser without breaking HTTPS.
Before You Start
- An active ProxyScrape plan. Residential, datacenter, and mobile proxies are all offered, and billing is available as pay-as-you-go or flat monthly.
- Your connection details from the ProxyScrape dashboard: proxy hostname, port, username, and password. These differ by product, so copy them rather than guessing.
curl, which ships with Windows 10 and later, macOS, and most Linux distributions.- A test target. The examples use the public IP-echo services
api.ipify.organdipinfo.io, so you do not need to host anything.
Choosing a proxy type
| Your task | Proxy type | Why it fits |
|---|---|---|
| Fast automation from a fixed machine | Datacenter | Lower latency and stable long-running connections |
| A site that blocks hosting ranges | Residential | Requests appear to come from ordinary home connections |
| App or carrier-level testing | Mobile | Exit IPs are tied to mobile networks |
ProxyScrape advertises a pool of 97M+ IPs. Availability of a specific country or city depends on the product and plan you selected, so confirm targeting options in the dashboard before designing a workflow around them.
Choosing a protocol
- HTTP/HTTPS: the widest support. Every browser, most CLI tools, and most libraries accept it. HTTPS destinations are reached through a CONNECT tunnel.
- SOCKS5: protocol-agnostic, so it also carries non-HTTP TCP traffic. Choose it when a tool does not speak HTTP proxying, and use the
socks5h://form when you want the proxy to resolve DNS names instead of your own machine.
Endpoint Formats
Every proxy connection boils down to one string in this shape:
<scheme>://<username>:<password>@<proxy-host>:<port>
Concretely:
http://<username>:<password>@<proxy-host>:<port>
socks5://<username>:<password>@<proxy-host>:<port>
socks5h://<username>:<password>@<proxy-host>:<port>
Two details trip people up:
- For HTTPS destinations you normally still write
http://in the scheme. curl opens a CONNECT tunnel and the TLS handshake happens end to end. Only use anhttps://scheme if your provider explicitly gives you a TLS-protected proxy endpoint. - Host and port are product-specific. Never reuse a port from a blog post; copy both values from your own dashboard.
Steps
Step 1: Collect your credentials
- Sign in to your ProxyScrape account and open the connection details for the plan you want to use.
- Note the proxy hostname and port.
- Note the username and password, if your plan uses username and password authentication.
- If your plan authorizes you by IP address instead, register the public IP of the machine that will send the requests in the dashboard before testing.
Step 2: Build the endpoint string
- Substitute the four values into the template.
- Keep the
@between the credentials and the host. - Percent-encode these characters if they appear in your password:
@,:,/,?,#,%. For example,p@ssbecomesp%40ss.
http://<username>:<password>@<proxy-host>:<port>
Step 3: Store the endpoint in an environment variable
Keeping the credential out of your one-off commands stops it leaking into shell history, logs, and screenshots.
export PROXY_URL='http://<username>:<password>@<proxy-host>:<port>'
Step 4: Send your first request
macOS and Linux
curl -x "$PROXY_URL" -sS https://api.ipify.org
Windows (PowerShell)
$env:PROXY_URL = 'http://<username>:<password>@<proxy-host>:<port>'
curl.exe -x $env:PROXY_URL -sS https://api.ipify.org
In PowerShell, curl is an alias for Invoke-WebRequest, which does not accept the same flags. Always call curl.exe.
Step 5: Prove the request is proxied
Run the same request without the proxy and compare the answers.
env -u ALL_PROXY -u HTTP_PROXY -u HTTPS_PROXY -u http_proxy -u https_proxy curl -sS https://api.ipify.org
The two IPs must differ. If they match, the proxy was never used: check the scheme, the host, and any global proxy variables that may be overriding your setting.
Step 6: Confirm location and network
curl -x "$PROXY_URL" -sS https://ipinfo.io/json
Check that ip belongs to the proxy, that country and city match the targeting you selected, and that org names the proxy network rather than your own internet provider. For SOCKS5 with remote DNS:
curl -x 'socks5h://<username>:<password>@<proxy-host>:<port>' -sS https://api.ipify.org
Step 7: Apply the endpoint to a browser
- Windows: Settings then Network & Internet then Proxy then Manual proxy setup. Enter the host and port. Windows handles HTTP and HTTPS destinations here; use Firefox or a SOCKS-capable client for SOCKS5.
- macOS: System Settings then Network then your connection then Details then Proxies. Enable Web Proxy (HTTP) and Secure Web Proxy (HTTPS), or SOCKS Proxy for SOCKS5, then enter the host and port.
- Firefox (all platforms): Settings then Network Settings then Manual proxy configuration. Firefox supports SOCKS v5 natively and offers a checkbox to proxy DNS lookups when using SOCKS v5, which pairs well with the
socks5hbehavior. - Chrome and Edge: these read the operating system proxy on Windows and macOS. The
--proxy-servercommand-line flag accepts a host and port but generally asks for credentials interactively instead of reading them from the URL.
Load an HTTPS site after saving the settings, then reload the IP echo page to confirm the browser, not just curl, is using the proxy.
Step 8: Handle session and rotation controls correctly
If your plan exposes session or rotation controls, they are usually expressed as an extra segment inside the username, and the exact syntax differs by product and plan. Copy the value verbatim from the connection details panel rather than guessing, because an incorrect session segment is a common cause of authentication failures.
Step 9: Keep credentials out of version control
# .env - load these at runtime, never commit the file
PROXY_URL='http://<username>:<password>@<proxy-host>:<port>'
# .gitignore
.env
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
curl: (5) Could not resolve proxy |
Typo in the hostname | Copy the host from the dashboard again |
curl: (7) Failed to connect to ... port |
Wrong port, or a port paired with the wrong protocol | Confirm the port belongs to the product and protocol you selected |
407 Proxy Authentication Required |
Wrong credentials, or an unneeded session segment | Re-paste the username and password; if your plan uses IP authorization, check that your public IP is registered |
| HTTP sites load but HTTPS sites fail | The proxy did not accept the CONNECT tunnel, or you used a wrong port | Retest with curl -x "$PROXY_URL" -I https://example.com |
| SOCKS5 requests fail on hostnames | DNS is being resolved locally | Switch from socks5:// to socks5h:// |
| Target site returns 403 or 429 | The destination blocks that IP range, or you are sending too many requests | Move from datacenter to residential or mobile IPs, lower concurrency, and add delays |
| curl works but the browser does not | The browser is not using the system proxy | Configure the proxy inside the app, or use Firefox with manual proxy settings |
Summary
- Pick the proxy type and protocol that match the job, then copy the host, port, and credentials from the ProxyScrape dashboard exactly.
- Every connection is one URL:
<scheme>://<username>:<password>@<proxy-host>:<port>. Usesocks5h://when you want the proxy to resolve DNS. - Validate before you build: send one proxied request and one direct request, and confirm the IPs differ.
- Treat credentials as secrets: environment variables locally,
.envlisted in.gitignore, never hard-coded in a shared script.