Cookie usage notification

This site uses cookies. Cookies remember you, so we can provide you with personalized services. Read our privacy policy.

Buy residential proxies

  • 220+ Countries
  • 90M+ Residential IPs
  • 99,9% Uptime
  • ~0,7 Response time

Avoid restrictions and blocks with the fastest residential proxies in the industry. Use the industry’s most advanced proxy infrastructure.

Quick start
  • Static and rotating residential proxies
  • Unlimited concurrent sessions
  • Target any country, state, city, ASN
  • HTTP/HTTPS/SOCKS5

How to get started

  • Register on the website
  • Select the required amount of traffic
  • Open the generator and set the connection settings: GEO, protocol
  • Get authorization data to get started
  • Connect to the proxy server
How to get started using 2Captcha proxy service

Residential proxy price

1 GB$0

Price$0/GBDiscount 0%Buy residential proxyWe accept these payment methods:We support Visa, Mastercard, Airtm, PayPal, Alipay, BTC, USDT payment methods

Proxy plans is directly linked to the volume of gigabytes you purchase. The more gigabytes you procure, the greater the discount you unlock! It's that simple. Unlock discounts with bulk proxy purchases!

  • Flexible rotation options
  • API access
  • SOCKS5 supported
  • Unlimited traffic

Purchase of residential proxy plans

    Rotated and static resident proxies worldwide

    Real residential IPs worldwide. Wide proxy pool covers locations across the world. The network of rotated (dynamic) and static (sticky) resident proxies covers more than 220 countries and the set of IP addresses exceeds the mark of 90 million. Access information you need, no matter the location.

    • United States
      United States2,752,824 IPs
    • Brazil
      Brazil12,629,978 IPs
    • France
      France5,187,963 IPs
    • Russia
      Russia3,484,926 IPs
    • Canada
      Canada3,693,481 IPs
    • Germany
      Germany2,227,198 IPs
    • Australia
      Australia265,445 IPs
    • Great Britain
      Great Britain1,274,731 IPs

    Largest and most reliable residential proxy network

    Residential proxies uses an IP address belonging to a real device connected to the internet. It belongs to a real user, not a proxy server. Residential proxies are harder to detect and block thus using it provides a higher level of anonymity and security than datacenter proxies. It is also helpful if you need to bypass restrictions and blocks based on IP address.

    • Rotating proxy

      Proxy architecture is unique in its ability to provide rotating residential proxies with one hop connectivity, preventing bottlenecks in the traffic flow.

    • Additional security

      Choose between HTTP, fully encrypted HTTPS, or the fast and dependable SOCKS5 protocol.

    • Ethically sourced proxies

      Residential proxies come from legitimate sources

    • Most stable residential proxy network

      Highest success rates of any global IPs provider

    • Best residential proxy infrastructure

      Unlimited scale and customizing possibilities from any city or country in the world

    • Fastest residential proxies

      Top residential proxy IP network speeds

    Residential proxies use cases

    Residential proxies use cases

    Unlock global data with local appearances. Residential proxies let you access geo-restricted information and collect data from specific regions, giving you a wider and more accurate view. Stay anonymous and avoid online tracking. Protect your privacy and online activities by masking your true IP address with a trusted residential proxy network.

    • Review monitoring

      Use stable and reliable residential proxy network to monitor reviews all over the world without any IP blocks.

    • Ad verification

      Rotating residential proxies is the most effective tool to check how ads are displayed to different audiences globally.

    • Cybersecurity

      Residential IPs are great for identifying threats, testing applications, or monitoring websites in different locations.

    • Travel fare aggregation

      Buy residential proxies, harvest real-time localized data, and provide your customers only with new and relevant travel offers.

    Buy residential proxies

    • Access any website and extract the data you need
    • Avoid website blocks by acting like a regular user
    • Bypass GEO restricted content and access localized data
    • Enjoy faster speeds with one hop connectivity
    Quick start

    Code examples

    Effortlessly incorporate proxy into your projects. We ensure a seamless integration of our products into your infrastructure, making the process as effortless as possible. With support for multiple languages and readily available code examples, a swift and uncomplicated start to your web project is guaranteed.

    <?php
    
    $username = 'ACCOUNTNAME';
    $password = 'PASSWORD';
    $PROXY_PORT = 9999;
    $PROXY_DNS = 'xx.xx.xx.xx';
    
    $urlToGet = 'http://ip-api.com/json';
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $urlToGet);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXYPORT, $PROXY_PORT);
    curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
    curl_setopt($ch, CURLOPT_PROXY, $PROXY_DNS);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $username.':'.$password);
    $data = curl_exec($ch);
    curl_close($ch);
    
    echo $data;
    ?>
    const axios = require('axios');
    const username = 'ACCOUNTNAME';
    const password = 'PASSWORD';
    const PROXY_DNS = 'xx.xx.xx.xx';
    const PROXY_PORT = 9999;
    
    axios
      .get('http://ip-api.com/json', {
        proxy: {
          protocol: 'http',
          host: PROXY_DNS,
          port: PROXY_PORT,
          auth: {
            username,
            password,
          },
        },
      })
      .then((res) => {
        console.log(res.data);
      })
      .catch((err) => console.error(err));
    using System;
    using System.Net;
    using System.Net.Http;
    using System.Threading.Tasks;
    
    namespace ProxyHttpExample
    {
        public static class Program
        {
            private const string Username = "ACCOUNTNAME";
            private const string Password = "PASSWORD";
            private const string ProxyDns = "http://xx.xx.xx.xx:9999";
            private const string UrlToGet = "http://ip-api.com/json";
    
            public static async Task Main()
            {
                using var httpClient = new HttpClient(new HttpClientHandler
                {
            Proxy = new WebProxy
            {
              Address = new Uri(ProxyDns),
              Credentials = new NetworkCredential(Username, Password),
            }
                });
    
                using var responseMessage = await httpClient.GetAsync(UrlToGet);
    
                var contentString = await responseMessage.Content.ReadAsStringAsync();
    
                Console.WriteLine("Response:" + Environment.NewLine + contentString);
                Console.ReadKey(true);
            }
        }
    }
    package main
    
    import (
      "net/url"
      "net/http"
      "fmt"
      "io/ioutil"
      "os"
    )
    
    const(
      proxyUrlTemplate = "http://%s:%s@%s:%s"
    )
    
    const (
      username = "ACCOUNTNAME"
      password = "PASSWORD"
    
      PROXY_DNS = "xx.xx.xx.xx"
      PROXY_PORT = "9999"
    
      urlToGet = "http://ip-api.com/json"
    )
    
    func main() {
      proxy := fmt.Sprintf(proxyUrlTemplate, username, password, PROXY_DNS, PROXY_PORT)
      proxyURL, err := url.Parse(proxy)
      if err != nil {
        fmt.Printf("failed to form proxy URL: %v", err)
        os.Exit(1)
      }
    
      u, err := url.Parse(urlToGet)
      if err != nil {
        fmt.Printf("failed to form GET request URL: %v", err)
        os.Exit(1)
      }
    
      transport := &http.Transport{Proxy: http.ProxyURL(proxyURL)}
      client := &http.Client{Transport: transport}
    
      request, err := http.NewRequest("GET", u.String(), nil)
      if err != nil {
        fmt.Printf("failed to form GET request: %v", err)
        os.Exit(1)
      }
    
      response, err := client.Do(request)
      if err != nil {
        fmt.Printf("failed to perform GET request: %v", err)
        os.Exit(1)
      }
    
      responseBodyBytes, err := ioutil.ReadAll(response.Body)
      if err != nil {
        fmt.Printf("could not read response body bytes: %v", err)
        os.Exit(1)
      }
      fmt.Printf("Response: %s ", string(responseBodyBytes))
    }
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.*;
    
    public class Application {
        private static String USERNAME = "ACCOUNTNAME";
        private static String PASSWORD = "PASSWORD";
    
        private static String PROXY_DNS = "xx.xx.xx.xx";
        private static int PROXY_PORT = 9999;
    
        private static String URL_TO_GET = "http://ip-api.com/json";
    
        public static void main(String[] args) throws IOException {
            final Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(PROXY_DNS, PROXY_PORT));
            Authenticator.setDefault(
                    new Authenticator() {
                        public PasswordAuthentication getPasswordAuthentication() {
                            return new PasswordAuthentication(
                                    USERNAME, PASSWORD.toCharArray()
                            );
                        }
                    }
            );
    
            final URL url = new URL(URL_TO_GET);
            final URLConnection urlConnection = url.openConnection(proxy);
    
            final BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(urlConnection.getInputStream()));
            final StringBuilder response = new StringBuilder();
    
            String inputLine;
            while ((inputLine = bufferedReader.readLine()) != null) {
                response.append(inputLine);
            }
            bufferedReader.close();
    
            System.out.println(String.format("Response: %s", response.toString()));
        }
    }
    #!/usr/bin/env perl
    
    use LWP::Simple qw( $ua get );
    
    my $username = 'ACCOUNTNAME';
    my $password = 'PASSWORD';
    
    my $PROXY_DNS = 'xx.xx.xx.xx:9999';
    
    my $urlToGet = 'http://ip-api.com/json';
    
    $ua->proxy('http', sprintf('http://%s:%s@%s', $username, $password, $PROXY_DNS));
    
    my $contents = get($urlToGet);
    print "Response: $contents"
    #!/usr/bin/env python3
    
    import requests
    
    username = "ACCOUNTNAME"
    password = "PASSWORD"
    PROXY_DNS = "xx.xx.xx.xx:9999"
    urlToGet = "http://ip-api.com/json"
    proxy = {"http":"http://{}:{}@{}".format(username, password, PROXY_DNS)}
    r = requests.get(urlToGet , proxies=proxy)
    
    print("Response:{}".format(r.text))
    #!/usr/bin/env bash
    
    export USERNAME=ACCOUNTNAME
    export PASSWORD=PASSWORD
    export PROXY_DNS=xx.xx.xx.xx:9999
    curl -x http://$USERNAME:$PASSWORD@$PROXY_DNS http://ip-api.com/json && echo
    Imports System.IO
    Imports System.Net
    
    Module Module1
    
        Private Const Username As String = "ACCOUNTNAME"
        Private Const Password As String = "PASSWORD"
        Private Const PROXY_DNS As String = "http://xx.xx.xx.xx:9999"
        Private Const UrlToGet As String = "http://ip-api.com/json"
    
        Sub Main()
            Dim httpWebRequest = CType(WebRequest.Create(UrlToGet), HttpWebRequest)
            Dim webProxy = New WebProxy(New Uri(PROXY_DNS)) With {
                    .Credentials = New NetworkCredential(Username, Password)
                    }
            httpWebRequest.Proxy = webProxy
            Dim httpWebResponse = CType(httpWebRequest.GetResponse(), HttpWebResponse)
            Dim responseStream = httpWebResponse.GetResponseStream()
    
            If responseStream Is Nothing Then
                Return
            End If
    
            Dim responseString = New StreamReader(responseStream).ReadToEnd()
            Console.WriteLine($"Response:
    {responseString}")
            Console.ReadKey()
        End Sub
    
    End Module

    What are residential proxies

    2Captcha residential proxies

    Residential Proxy network is a proxy network that contains real IP addresses provided by Internet Service Providers (ISPs). These IP addresses are attached to physical locations across the globe at a country or a city level. Requests coming from residential proxies stand out for their legitimacy, allowing you to gather public data efficiently. Find out more about what residential proxies meaning from the article.

    FAQ

    How do I generate a proxy configuration?
    1. Go to the configurator block on the Proxy page.
    2. Choose the type from:
      • State (Province) - City - targeting by State and City
      • ISP - targeting by Internet Service Provider
    3. Choose the Geo-position setting:
      • Global Mix - Geo is picked randomly
      • Europe Mix - Geo is picked randomly in Europe
      • Asia Mix - Geo is picked randomly in Asia
      • City Mix - City is picked randomly
    4. Set the "IP duration" setting based on your needs. It states for how long will the proxy be valid from 0 (every new requests goes via a new IP address) to 120 minutes. We recommend to set 3 minutes.
    5. Press Generate button and check the actual proxy configuration.
    How can I change the IP address manually?
    - You can change the setting of the proxy (Geo settings for example) or you can set the IP duration to 0 so the IP is changed every time you use it.
    "IP duration (0 - 120 Min)" does this mean that after 2 hours (120 Min) the proxies will stop working? If yes, is there a way to change it?
    - No, there is no way to keep the session for longer than 120 minutes
    • «GDPR» logo
    • «SSL secured» logo
    • «Google privacy policy» logo
    • «S/MIME» logo
    • «CCPA» logo
    Captcha Bypass Extension supported in Chrome and Firefox browsersCaptcha Bypass ExtensionRecommended extension
    Alternative extensions
    CaptchaTheCat