Skip to content

Residential · CA

Residential proxies in Canada

Buy Canada proxy traffic by the GB and send requests through opt-in residential devices in Canada. One credential works over HTTP and SOCKS5, with per-connection, timed or sticky rotation chosen in the username, and the price per GB falls to EUR 0.89 on larger orders. Start with 1 GB for EUR 1.49. The pool is shared, and the count above is live.

Canada devices online now
132
Get proxiesTry 1 GB for EUR 1.49Compare GB pricesfrom EUR 0.89 per GB · one price for every country

Once per customer. Cryptocurrency network minimums and fees vary.

Connect

How to connect to Canada residential proxies.

Pool and country are the second and third parts of the proxy username. Nothing else changes: the same credential, the same two ports, the same gateway.

Proxy URLs for Canadatext
# HTTP (CONNECT) on port 7000
http://USERNAME-peer-ca-rot-auto10:pak_••••@gw.portproof.org:7000

# SOCKS5 with remote DNS on port 7001
socks5h://USERNAME-peer-ca-rot-auto10:pak_••••@gw.portproof.org:7001

# per-connection rotation (addresses can repeat)
USERNAME-peer-ca-rot-ondemand

# one device held for a session named "run1"
USERNAME-peer-ca-sid-run1-rot-sticky

USERNAME is the account part of your username and pak_•••• stands for your password; both appear in the dashboard after your first purchase. The token peer-ca is what sends the request out of Canada.

Check the exit with curlsh
# Replace USERNAME with your account part; curl prompts for the proxy password.
# The echo endpoint reports the exit IP; it does not report a country.
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "http://gw.portproof.org:7000" --proxy-user "USERNAME-peer-ca-rot-auto10" \
  "https://api.portproof.org/v1/echo-ip"

# SOCKS5 with remote DNS
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "socks5h://gw.portproof.org:7001" --proxy-user "USERNAME-peer-ca-rot-auto10" \
  "https://api.portproof.org/v1/echo-ip"

# A language preference; replace example.com with a page you have permission to test.
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "http://gw.portproof.org:7000" --proxy-user "USERNAME-peer-ca-rot-ondemand" \
  -H "Accept-Language: en-CA" "https://example.com/"

Run each command interactively and enter the password at curl's prompt. Accept-Language: en-CA expresses a preference; it does not force the response language. The site may use its URL, cookies, account and location signals to choose language, currency or market. The echo returns the exit IP only, not a country. A separate geolocation lookup is one database's opinion and may differ from the destination's.

The same request in Pythonpython · requests
import os
from getpass import getpass
from urllib.parse import quote
import requests

USER = "USERNAME-peer-ca-rot-ondemand"
PASSWORD = os.environ.get("PROXY_PASSWORD") or getpass("Proxy password: ")

def proxy_url(username):
    return f"http://{quote(username, safe='')}:{quote(PASSWORD, safe='')}@gw.portproof.org:7000"

PROXY = proxy_url(USER)
with requests.Session() as session:
    session.trust_env = False
    with session.get(
        "https://api.portproof.org/v1/echo-ip",
        proxies={"http": PROXY, "https": PROXY},
        headers={"Accept-Language": "en-CA"},
        timeout=(5, 15),
        allow_redirects=False,
    ) as response:
        response.raise_for_status()
        if response.status_code != 200:
            raise RuntimeError("Expected HTTP 200 from the echo endpoint")
        print(response.json()["ip"])  # exit IP only; no country verification

# To request a sticky session, use this URL in both proxies entries above.
STICKY = proxy_url("USERNAME-peer-ca-sid-run1-rot-sticky")

Replace USERNAME with your account part. The password comes from the environment or a hidden prompt; do not print the resulting proxy URLs. This explicit Session ignores inherited proxy settings and does not follow redirects. The timeout bounds connection setup and read inactivity, not the total job. HTTP gateway authentication is not encrypted on the client-to-proxy hop, even for an HTTPS destination. A sticky session prefers an existing binding without reserving a device; its IP can still change.

The full username grammar, Node and Playwright snippets and the error codes →

Test the proxy with curl. The check prints the exit IP, not a country; if a lookup of that address names another country, check why location lookups can disagree. For Python configuration and error handling, follow the Requests setup guide.

Local checks

Check CAD pricing and both official languages

Request Canada with peer-ca. Many retailers run a Canadian store front beside a US one, and a Canadian request can still be redirected to the US site. Record the final URL, the stated currency and the country selector with every row; a dollar sign alone does not tell CAD from USD.

Canada has two official languages, so test en-CA and fr-CA as separate Accept-Language preferences and record which language came back. We target the country, not a province: sales tax and delivery depend on the postcode a site is given, so hold that constant between runs.

Rotation and sessions

Rotating and sticky Canada exits.

Rotation modes for Canada and the username token that selects each one
ModeToken
Per-connection rotationThe gateway selects an exit for each connection. Addresses can repeat; use this mode when no continuing proxy session is needed.rot-ondemand
Timed rotation: 5, 10, 20 or 60 minutesThe exit changes on a clock rather than per request. auto10 is the default when no rot token is given.rot-auto5 · auto10 · auto20 · auto60
Sticky sessionThe same saved session name requests reuse of a binding; it does not reserve a device or guarantee an IP. A sticky session prefers an existing binding without reserving a device. The carrier may still change the IP of that device.sid-<name> + rot-sticky
  • A sticky session prefers an existing binding without reserving a device. The carrier may still change the IP of that device. We do not sell fixed IP addresses on this product, and the pool in Canada is shared.
  • A session lifetime is set once per session name with a ttl token, from 60 to 2592000 seconds, and cannot be changed afterwards.
  • Mobile traffic runs on carrier modems operated by our network partner; peer traffic uses a mixed network; the residential product label does not enforce residential-only addressing.

Compare rotating and sticky sessions, including why a sticky session can change IP.

Price

What Canada proxy traffic costs.

Price per GB by order size, EUR
Order sizePer GB
1 to 4 GB: choose 1 GB1 GB = EUR 1.99EUR 1.99
5 to 24 GB: choose 5 GB5 GB = EUR 8.95EUR 1.79−10 %
25 to 49 GB: choose 25 GB25 GB = EUR 37.25EUR 1.49−25 %
50 to 99 GB: choose 50 GB50 GB = EUR 64.50EUR 1.29−35 %
100 to 249 GB: choose 100 GB100 GB = EUR 109.00EUR 1.09−45 %
250 GB and more: choose 250 GB250 GB = EUR 222.50EUR 0.89−55 %

Prices per GB in EUR, by the size of one order. VAT not applicable: the seller is not registered for VAT. Canada costs the same as every other country, on either pool. GB never expire. Pricing in full

Try Canada first

1 GB for EUR 1.49, once per customer, usable on either pool and the countries available when you test. Full orders start at 1 GB and the price per GB falls to EUR 0.89 at the largest step.

Watch out in Canada

What breaks here is the cross-border redirect. A Canadian request is often answered by the US store front, which looks like a perfectly good page with prices in another dollar. Check the final URL and the stated currency before storing a row, and treat a redirect as a finding.

Get proxiesTry 1 GB for EUR 1.49See the full price listfrom EUR 0.89 per GB · one price for every country

Once per customer. Cryptocurrency network minimums and fees vary.

Fit

Lawful jobs that suit Canada.

  • Price and marketplace monitoring

    Check the price, currency, delivery and tax information actually returned for your permitted product page. Use CAD as the expected currency only when it matches that page’s intended market.

  • Ad verification and brand safety

    Check a permitted creative or landing page using a requested Canada peer-network route and a separately configured English language preference. This checks rendering, not audience delivery; the pool does not guarantee a home connection.

  • Canadian and US store-front comparison

    Read the Canadian page and the US page for the same product in one run, storing the final URL, the stated currency and the language returned, so CAD and USD prices are never averaged together.

  • QA and geo-testing

    Load your own site from an exit in Canada with Accept-Language: en-CA, and check the CAD price, the English copy, hreflang, the payment methods offered and any redirect between store fronts.

  • AI agents and data pipelines

    Give an agent or a scheduled job an egress in Canada that it selects itself by writing peer-ca into the username.

We refuse social multi-accounting, sneaker and ticket bots, betting arbitrage, sybil airdrop farming, bonus abuse, credential stuffing, and anything against the law of Canada. Acceptable-use policy · the five use cases in detail

Also on the site

More residential countries, and the other pool.

Questions

Canada residential proxies: short answers.

What do I get when I buy Canada residential proxy traffic?
A GB balance and one gateway credential. Put peer-ca in the username to send requests out of Canada through opt-in peer devices, over HTTP or SOCKS5, with per-connection rotation, a 5 to 60 minute timer or a sticky session. The same balance works on both pools and in every other country we serve. The pool is shared between customers, and we do not sell fixed IP addresses on this product.
How do I get a Canada IP address?
Buy GB, then put peer-ca in the proxy username and connect to our gateway over HTTP or SOCKS5: USERNAME-peer-ca-rot-auto10. The pool is opt-in peer devices in Canada and it is shared between customers; the "devices online now" row at the top of this page is the live count from our stock endpoint, and it is left out when the endpoint does not answer. If no device in Canada is online, the gateway answers 502 with E_NO_STOCK_COUNTRY instead of quietly sending you to another country.
What does Canada traffic cost?
The same as every other country: one price list for both pools, EUR 1.99 per GB for a small order falling to EUR 0.89 per GB at the largest step, with the live table on this page. GB never expire. What you buy stays on your balance until you use it; a new purchase adds to the same balance. You can start with 1 GB for EUR 1.49, or buy from 1 GB. Payments are accepted in cryptocurrency.
Can I hold the same Canada exit for a whole session?
Yes, using a saved sticky configuration. The server allocates its opaque SID and keeps it stable across exports. The SID requests reuse of a binding; it does not reserve a device or guarantee an IP. A sticky session prefers an existing binding without reserving a device. The carrier may still change the IP of that device. An optional sliding lifetime is separate from timed rotation. A lifetime or routing change creates a new version and SID; earlier exported URLs may still bind again.
What is Canada traffic good for, and what is refused?
Price and marketplace monitoring in CAD, ad verification for a Canada audience, market research and local search checks, QA and geo-testing of your own site, and country-targeted requests for agents and pipelines. We refuse social multi-accounting, sneaker and ticket bots, betting arbitrage, sybil airdrop farming, bonus abuse, credential stuffing, and any use against the law of Canada. The acceptable-use policy is accepted at every checkout.

Buy mobile and residential proxy GB

Choose your GB or reserve a mobile device.

Buy pool GB Try 1 GB for EUR 1.49

Once per customer. Cryptocurrency network minimums and fees vary.