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).
Username: YOUR_API_KEY
Password: x
# In URL format:
http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080Getting 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
$ curl -x http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080 \
https://httpbin.org/ipSOCKS5 Proxy
$ curl --socks5-hostname YOUR_API_KEY:x@proxy.getmeaproxy.com:8081 \
https://httpbin.org/ipConnectivity
Proxy Endpoints
| Protocol | Host | Port |
|---|---|---|
| HTTP / HTTPS | proxy.getmeaproxy.com | 8080 |
| SOCKS5 | proxy.getmeaproxy.com | 8081 |
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.
| Parameter | Format | Description |
|---|---|---|
country | KEY-country-IN | Target a specific country (ISO 3166-1 alpha-2). Currently only IN (India) is supported. |
state | KEY-state-MH | Target a specific Indian state (ISO 3166-2:IN code, e.g. MH for Maharashtra, KA for Karnataka). |
city | KEY-city-mumbai | Target a specific city. Lowercase, no spaces (use hyphens for multi-word cities). |
isp | KEY-isp-jio | Target a specific ISP. Supported: jio, airtel, vi. |
session | KEY-session-abc123 | Sticky session. Same session ID routes to the same IP for up to 30 minutes. |
Combining parameters
Chain multiple parameters together with - separators:
# 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/ipIntegration
Code Examples
curl — HTTP Proxy
curl -x http://YOUR_API_KEY:x@proxy.getmeaproxy.com:8080 \
https://httpbin.org/ipcurl — SOCKS5 Proxy
curl --socks5-hostname YOUR_API_KEY:x@proxy.getmeaproxy.com:8081 \
https://httpbin.org/ipPython (requests)
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)
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)
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.
| Code | Meaning | What to do |
|---|---|---|
| 200 | Success | Request completed successfully through the proxy. |
| 407 | Auth Required | Check your API key. Make sure it is passed as the username. |
| 429 | Rate Limited | You've exceeded your plan's rate limit. Wait and retry, or upgrade. |
| 502 | Bad Gateway | Upstream device error. Retry the request (a different IP will be assigned). |
| 503 | No Peers Available | No 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.
| Plan | Bandwidth | Concurrent | Geo-targeting |
|---|---|---|---|
| Free | 100 MB | 1 | Country only |
| Starter | 5 GB / mo | 5 | Country, state |
| Pro | 25 GB / mo | 25 | Country, state, city, ISP |
| Enterprise | Unlimited | Custom | Full |
429 responses include a Retry-After header indicating how many seconds to wait before retrying. We recommend implementing exponential backoff in your client.