This guide takes you from a brand-new account to a working proxy in a few minutes. By the end you will have sent a request through a real residential IP, checked which country it came from, and know exactly how to plug the same credentials into your own code.
What you need
- A crawlproxies account. Create one here and verify your email.
- A plan with some bandwidth. New accounts can claim a free trial from the dashboard, or buy a plan on the Purchase page.
- A terminal with
curl(built into macOS, Linux and Windows 10+).
Step 1: Get a plan
Open Purchase, pick a product and choose how much you need. If you're not sure which product fits, start with Residential: real home IPs that work on almost every site. Our guide to choosing a proxy type goes deeper.
Plans are paid from your account balance. Top it up with crypto on the Balance page: you pick the coin at checkout and the balance is credited automatically once the network confirms the payment. Your plan is active the moment the purchase completes.
Step 2: Generate your credentials
Go to Generate. The generator turns your plan into ready-to-use proxy lines:
- Plan: the plan you just bought.
- Protocol: HTTP works with almost every tool. Pick SOCKS5 if your software prefers it.
- Location: leave it on "Any" to rotate worldwide, or pick a country, state or city.
- Session: rotating gives you a new IP per connection, sticky keeps the same IP for the minutes you choose.
- Format: how each line is written.
ip:port:user:passis the most common;http://user:pass@ip:portis handy for code.
Copy one line. For Residential it looks like this (your username and password will be different):
geo.crawlproxies.com:8080:USERNAME-country-us:PASSWORDThat is the gateway host, the port, your username (with the targeting options appended) and your password.
Step 3: Send your first request
Paste your own username and password into this command. It asks ipinfo.io which IP it sees:
curl -x http://USERNAME-country-us:PASSWORD@geo.crawlproxies.com:8080 https://ipinfo.io/jsonYou should get back an IP that isn't yours, from the country you asked for:
{
"ip": "73.162.xxx.xxx",
"city": "Los Angeles",
"region": "California",
"country": "US",
"org": "AS7922 Comcast Cable Communications, LLC"
}Run it again and you'll see a different IP: without a session in the username, every new connection rotates.
Tip: If your password contains characters like@,:or#, URL-encode them (for example@becomes%40) when you put them inside a URL.
Step 4: Use it in your code
The same credentials work everywhere. In Python with requests:
import requests
proxy = "http://USERNAME-country-us:PASSWORD@geo.crawlproxies.com:8080"
r = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
print(r.json())In Node.js 18+ with undici (npm i undici):
import { fetch, ProxyAgent } from "undici";
const agent = new ProxyAgent({
uri: "http://geo.crawlproxies.com:8080",
token: "Basic " + Buffer.from("USERNAME-country-us:PASSWORD").toString("base64"),
});
const res = await fetch("https://ipinfo.io/json", { dispatcher: agent });
console.log(await res.json());There are full guides for Python, Node.js, Playwright, Puppeteer, Scrapy and Go.
How the username works
Targeting lives in the username, so you can change location or session without touching anything else. You append options to your base username with hyphens:
| Option | Example | What it does |
|---|---|---|
| country | -country-de | Exit from Germany (two-letter country code) |
| state | -state-california | A US state, lowercase, no spaces |
| city | -city-losangeles | A city, lowercase, no spaces |
| session | -session-abc123 | Keep the same IP (sticky) for this session id |
| time | -time-1800 | How long the sticky session lasts, in seconds |
So USERNAME-country-us-state-texas-session-job42-time-1800 means: a Texas IP that stays the same for 30 minutes. Leave everything off (USERNAME) and you rotate worldwide. The geo-targeting guide and the sticky vs rotating guide cover both in detail.
Which host and port?
Each product has its own gateway. The generator always fills in the right one, but here's the reference:
| Product | Host | HTTP | SOCKS5 |
|---|---|---|---|
| Residential, Mobile (4G/5G) | geo.crawlproxies.com | 8080 | 1080 |
| Residential Budget | budget.crawlproxies.com | 6969 | 9696 |
| Datacenter | dc.crawlproxies.com | 777 | 666 |
| Shared ISP | isp.crawlproxies.com | 30 | 31 |
If something doesn't work
- 407 Proxy Authentication Required: the username or password is wrong. Copy it again from the generator; a missing hyphen in the targeting part is the usual culprit.
- Connection refused or timed out: check the host and port pair, and that you're not mixing the HTTP port with a SOCKS5 client (or the other way round).
- Wrong country: make sure the option is in the username (
-country-us), not somewhere else in the URL. - It worked, then stopped: your plan may be out of bandwidth or expired. Check My plans.
Still stuck? Open the chat bubble in the corner of the page and our team will help.



