Overview

Introduction

GetMeAProxy provides premium Indian residential proxies powered by real mobile devices on Jio, Airtel, and Vi networks. Traffic is routed through real Android phones, not datacenter IPs disguised as residential.

We support both HTTP CONNECT and SOCKS5 protocols. No proprietary SDK is needed — any standard HTTP client works out of the box.

Key features

  • Real mobile IPs from Indian carriers (Jio, Airtel, Vi)
  • Auto-rotating or sticky sessions (up to 30 min)
  • Geo-targeting: country, state, city, ISP
  • HTTP and SOCKS5 support
  • Simple username-based parameter passing

Auth

Authentication

All proxy requests are authenticated using your API key. You can find your API key on the Dashboard.

Pass the API key as the username in standard HTTP proxy authentication. The password field can be anything (we use x by convention).

authentication format
Username: YOUR_API_KEY
Password: x

# In URL format:
http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080

Getting Started

Quick Start

Replace YOUR_API_KEY with the key from your dashboard. These examples fetch your outgoing IP address through our proxy.

HTTP Proxy

bash
$ curl -x http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080 \
      https://httpbin.org/ip

SOCKS5 Proxy

bash
$ curl --socks5-hostname YOUR_API_KEY:x@proxy.getmeaproxy.com:8081 \
      https://httpbin.org/ip

Connectivity

Proxy Endpoints

ProtocolHostPort
HTTP / HTTPSproxy.getmeaproxy.com8080
SOCKS5proxy.getmeaproxy.com8081

Both endpoints accept authentication in the format API_KEY:x where the API key is the username and the password can be any value.

Targeting

Parameters

Control proxy behavior by appending parameters to your API key in the username field. Parameters are separated by - and follow a key-value format.

ParameterFormatDescription
countryKEY-country-INTarget a specific country (ISO 3166-1 alpha-2). Currently only IN (India) is supported.
stateKEY-state-MHTarget a specific Indian state (ISO 3166-2:IN code, e.g. MH for Maharashtra, KA for Karnataka).
cityKEY-city-mumbaiTarget a specific city. Lowercase, no spaces (use hyphens for multi-word cities).
ispKEY-isp-jioTarget a specific ISP. Supported: jio, airtel, vi.
sessionKEY-session-abc123Sticky session. Same session ID routes to the same IP for up to 30 minutes.

Combining parameters

Chain multiple parameters together with - separators:

combined targeting
# Country + state + sticky session
YOUR_API_KEY-country-IN-state-MH-session-abc123

# City + ISP targeting
YOUR_API_KEY-city-mumbai-isp-jio

# Full example with curl
curl -x http://YOUR_API_KEY-country-IN-state-MH-session-abc123:x@proxy.getmeaproxy.com:8080 \
      https://httpbin.org/ip

Integration

Code Examples

curl — HTTP Proxy

bash
curl -x http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080 \
      https://httpbin.org/ip

curl — SOCKS5 Proxy

bash
curl --socks5-hostname YOUR_API_KEY:x@proxy.getmeaproxy.com:8081 \
      https://httpbin.org/ip

Python (requests)

python
import requests

API_KEY = "YOUR_API_KEY"

# Rotating proxy (new IP each request)
proxies = {
    "http":  f"http://{API_KEY}:x@proxy.getmeaproxy.com:8080",
    "https": f"http://{API_KEY}:x@proxy.getmeaproxy.com:8080",
}

response = requests.get("https://httpbin.org/ip", proxies=proxies)
print(response.json())

# Sticky session (same IP for up to 30 min)
proxies_sticky = {
    "http":  f"http://{API_KEY}-session-mysession1:x@proxy.getmeaproxy.com:8080",
    "https": f"http://{API_KEY}-session-mysession1:x@proxy.getmeaproxy.com:8080",
}

response = requests.get("https://httpbin.org/ip", proxies=proxies_sticky)
print(response.json())

Node.js (axios)

javascript
import axios from "axios";

const API_KEY = "YOUR_API_KEY";

// HTTP proxy with axios
const response = await axios.get("https://httpbin.org/ip", {
  proxy: {
    protocol: "http",
    host: "proxy.getmeaproxy.com",
    port: 8080,
    auth: {
      username: API_KEY,
      password: "x",
    },
  },
});

console.log(response.data);

// With geo-targeting
const targeted = await axios.get("https://httpbin.org/ip", {
  proxy: {
    protocol: "http",
    host: "proxy.getmeaproxy.com",
    port: 8080,
    auth: {
      username: `${API_KEY}-country-IN-state-MH`,
      password: "x",
    },
  },
});

console.log(targeted.data);

Go (net/http)

go
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    apiKey := "YOUR_API_KEY"
    proxyURL, _ := url.Parse(
        fmt.Sprintf("http://%s:x@proxy.getmeaproxy.com:8080", apiKey),
    )

    client := &http.Client{
        Transport: &http.Transport{
            Proxy: http.ProxyURL(proxyURL),
        },
    }

    resp, err := client.Get("https://httpbin.org/ip")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Reference

Response Codes

These status codes are returned by the proxy gateway itself, not the target website.

CodeMeaningWhat to do
200SuccessRequest completed successfully through the proxy.
407Auth RequiredCheck your API key. Make sure it is passed as the username.
429Rate LimitedYou've exceeded your plan's rate limit. Wait and retry, or upgrade.
502Bad GatewayUpstream device error. Retry the request (a different IP will be assigned).
503No Peers AvailableNo devices available matching your targeting criteria. Broaden filters or retry.

Limits

Rate Limits

Rate limits are applied per API key and depend on your subscription plan.

PlanBandwidthConcurrentGeo-targeting
Free100 MB1Country only
Starter5 GB / mo5Country, state
Pro25 GB / mo25Country, state, city, ISP
EnterpriseUnlimitedCustomFull

429 responses include a Retry-After header indicating how many seconds to wait before retrying. We recommend implementing exponential backoff in your client.