Documentación

Documentación para Desarrolladores

Guías de integración, ejemplos funcionales y referencia REST API para la red de proxies móviles mobileproxy.space — Python, Node.js, Go, cURL, Playwright, Selenium.

Inicio rápido

Lance su primera petición a través del proxy en menos de un minuto. Necesita: un proxy activo en su cuenta y un token API del panel de control.

  1. Regístrese en mobileproxy.space.
  2. Compre un proxy — elija país y operador en la página de compra.
  3. Copie su token API desde la página API estando conectado.
  4. Haga su primera petición — elija un lenguaje abajo.
curl --request GET \ --url 'https://mobileproxy.space/api.html?command=get_my_proxy' \ --header 'Authorization: Bearer YOUR_API_TOKEN'
import requests r = requests.get( "https://mobileproxy.space/api.html", params={"command": "get_my_proxy"}, headers={"Authorization": "Bearer YOUR_API_TOKEN"}, timeout=10, ) print(r.json())
const res = await fetch( "https://mobileproxy.space/api.html?command=get_my_proxy", { headers: { Authorization: "Bearer YOUR_API_TOKEN" } } ); console.log(await res.json());
req, _ := http.NewRequest("GET", "https://mobileproxy.space/api.html?command=get_my_proxy", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))
Límite de peticiones: 3 req/seg × N proxies activos. Cooldown de petición igual: 3 seg. HTTP 429 al exceder.

Autenticación

Todas las llamadas a la API se autentican con un Bearer token personal. El token está vinculado a su cuenta, no a un proxy individual.

Dónde obtener su token

Inicie sesión y abra API. El campo del token está arriba. Puede rotar el token en cualquier momento — el anterior queda revocado inmediatamente.

Cómo enviar el token

Authorization: Bearer YOUR_API_TOKEN

Lista blanca de IP (opcional)

Para mayor seguridad puede restringir las llamadas API a una sola IP. Configure IP permitida en la página API. Las peticiones desde otras IPs son rechazadas aunque el token sea válido.

Autenticación del propio proxy

Los proxies usan login/contraseña (por defecto) o autorización por IP. Se configura por proxy en el panel. Con autorización por IP no se envían credenciales en la conexión.

Conceptos básicos

IPs de operadores móviles

Cada proxy de la red es un módem 4G/5G real conectado a un operador móvil real (MTS, Beeline, T-Mobile, Vodafone, etc.). Los sitios objetivo ven el tráfico como si viniera de un smartphone normal en red celular, no de un datacenter.

CGNAT — por qué las IPs móviles son «compartidas»

Los operadores móviles enrutan miles de abonados a través de la misma IP pública mediante Carrier-Grade NAT. Banear una IP bloquearía a clientes reales, por lo que los sistemas antifraude tratan las IPs móviles con más indulgencia que las residenciales o de datacenter. Es la razón estructural del alto nivel de confianza de los proxies móviles.

Rotación

Cambia la IP externa bajo demanda mediante una reconexión del módem:

  • Por enlace — petición GET a una URL única (changeip.host/?proxy_key=…) lanza la rotación. Devuelve la nueva IP en JSON.
  • Por temporizador — rotación automática cada N minutos (configurable por proxy).
  • Sin rotación (sticky) — la IP se mantiene hasta que la solicite.

Sesiones sticky

Una sesión «sticky» es simplemente un proxy con rotación desactivada (o temporizador largo). Todas las peticiones por ese proxy comparten una IP durante la sesión. Útil para flujos multi-paso (login → carrito → pago, parsing de varias páginas de una sesión).

Persistencia de sesión entre rotaciones

Las cookies, localStorage y sesiones TLS viven en el cliente — no en el proxy. Tras una rotación la sesión existente en el navegador/librería sobrevive; solo cambia la IP de origen.

Integraciones

Snippets listos para los stacks más comunes. Reemplace PROXY_HOST, PROXY_PORT, LOGIN, PASSWORD con los valores de get_my_proxy.

import requests proxy = "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT" r = requests.get("https://httpbin.org/ip", proxies={"http": proxy, "https": proxy}, timeout=15) print(r.json())
import { HttpsProxyAgent } from "https-proxy-agent"; const agent = new HttpsProxyAgent("http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT"); const res = await fetch("https://httpbin.org/ip", { agent }); console.log(await res.json());
proxyURL, _ := url.Parse("http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT") client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)}} resp, _ := client.Get("https://httpbin.org/ip") defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))
curl -x http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT https://httpbin.org/ip # SOCKS5 curl --socks5 LOGIN:PASSWORD@PROXY_HOST:SOCKS_PORT https://httpbin.org/ip
import { chromium } from "playwright"; const browser = await chromium.launch({ proxy: { server: "http://PROXY_HOST:PROXY_PORT", username: "LOGIN", password: "PASSWORD", }, }); const page = await browser.newPage(); await page.goto("https://httpbin.org/ip"); console.log(await page.content()); await browser.close();
from seleniumwire import webdriver opts = {"proxy": { "http": "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT", "https": "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT", "no_proxy": "localhost,127.0.0.1", }} driver = webdriver.Chrome(seleniumwire_options=opts) driver.get("https://httpbin.org/ip") print(driver.page_source) driver.quit()
SDKs oficiales y ejemplos completos en GitHub: Python · Node · PHP · Especificación OpenAPI.

Casos de uso

Lo que los desarrolladores realmente construyen con proxies móviles. Cada tarjeta es un patrón típico.

Web scraping

Rotación de IP por petición o por sesión, combinada con herramientas de fingerprinting del navegador.

Automatización de navegador

Playwright / Selenium con un proxy por worker, sesiones sticky para flujos con estado.

Verificación y QA

Comprobación de contenido geo-segmentado, precios, variantes A/B desde redes móviles reales.

Verificación de SERP y anuncios

Scraping de resultados, verificación de colocación de anuncios, creatividades móviles.

SMM y multi-cuenta

Un proxy móvil por cuenta — el perfil IP carrier-grade es el que más se parece a un usuario real.

Pipelines de datos

Workers en background tras un pool rotatorio, reintentos en rotación, logging estructurado de errores.

Referencia API

La referencia REST completa — cada endpoint, parámetro y formato de respuesta — vive en la página API dedicada. Se personaliza automáticamente con su token al estar conectado.

Documentación REST API completa

~15 endpoints: gestión de proxies, rotación de IP, listas negras, búsqueda geo/operador, balance.

Abrir Referencia API

Endpoints más usados

  • GET /api.html?command=get_my_proxy
  • GET CHANGEIP_HOST/?proxy_key=…
  • GET /api.html?command=proxy_ip&proxy_id=…
  • GET /api.html?command=change_equipment&…
  • GET /api.html?command=get_geo_operator_list

Solución de problemas

Los principales problemas que enfrentan los desarrolladores, con la solución estándar. FAQ completo en la página FAQ.

Conexión expira / rechazada

Verifique que el proxy esté activo en el panel, la lista blanca de IP coincida con la IP de salida de su máquina, y use el puerto correcto para HTTP vs SOCKS5.

La rotación devuelve la misma IP

El operador puede asignar la misma dirección — es normal en pools pequeños. Lance la rotación de nuevo o cambie de operador con change_equipment.

El sitio objetivo muestra captcha

Los captchas se correlacionan con el fingerprint, no solo con la IP. Combine la IP móvil con User-Agent móvil, viewport móvil y perfil TLS consistente. Vea Generador de fingerprint.

La sesión expira inesperadamente

La auto-rotación se activa en medio de su sesión. Desactive la rotación por temporizador o capture cookies/tokens antes de rotar.

Geo no coincide / país equivocado

Los operadores móviles a veces enrutan por nodos extranjeros. Verifique con proxy_ip y reenrute con change_equipment si es necesario.

HTTP 429 de la API

Ha excedido el límite. Añada exponential backoff, cachee respuestas de get_my_proxy, envíe listas de proxy_id cuando esté soportado.

Buenas prácticas

Estrategia de reintentos

Envuelva cada petición por proxy en retry-with-jitter (3 intentos, 500ms–3s). En 429, backoff exponencial. En errores de conexión, rote antes de reintentar.

Gestión de sesiones

Un proxy por sesión lógica. Persista cookies/localStorage por worker. Nunca comparta un pool HTTP keep-alive entre rotaciones.

Intervalos de rotación

Para scraping — rote por petición o cada 30–120 seg. Para trabajo con cuentas — sesiones sticky largas (horas), rote solo en logout/error explícito.

Consistencia del navegador

Ajuste User-Agent al operador (4G → UA móvil). Configure timezone y locale a la región del proxy. Desactive el leak de IP por WebRTC.

Evitar bans

Mantenga el rate de peticiones a niveles humanos. Aleatorice los tiempos. Combine IP móvil con fingerprint móvil, no con uno de escritorio.

Observabilidad

Registre proxy_id, IP actual, código de respuesta y eventos de rotación juntos. Cuando algo falle, sabrá si fue la IP, el fingerprint o el objetivo.