Documentation

Documentation pour développeurs

Guides d'intégration, exemples fonctionnels et référence REST API pour le réseau de proxies mobiles mobileproxy.space — Python, Node.js, Go, cURL, Playwright, Selenium.

Démarrage rapide

Lancez votre première requête via proxy en moins d'une minute. Il vous faut : un proxy actif sur votre compte et un token API depuis votre tableau de bord.

  1. Inscrivez-vous sur mobileproxy.space.
  2. Commandez un proxy — choisissez pays et opérateur sur la page d'achat.
  3. Copiez votre token API depuis la page API en étant connecté.
  4. Effectuez votre première requête — choisissez un langage ci-dessous.
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))
Limite de requêtes : 3 req/sec × N proxies actifs. Cooldown requête identique : 3 sec. HTTP 429 en dépassement.

Authentification

Tous les appels API s'authentifient avec un Bearer token personnel. Le token est lié à votre compte, pas à un proxy individuel.

Où récupérer votre token

Connectez-vous à votre tableau de bord et ouvrez API. Le champ token est en haut. Vous pouvez révoquer le token à tout moment — l'ancien est invalidé immédiatement.

Envoyer le token

Authorization: Bearer YOUR_API_TOKEN

IP allowlist (optionnel)

Pour une sécurité accrue, vous pouvez restreindre les appels API à une seule IP. Configurez IP autorisée sur la page API. Les requêtes depuis d'autres IP sont rejetées même avec un token valide.

Authentification du proxy lui-même

Les proxies utilisent soit login/mot de passe (par défaut), soit autorisation par IP. Configurez-le par proxy dans le tableau de bord. Avec l'autorisation IP, aucun identifiant n'est envoyé sur la connexion proxy.

Concepts de base

IP d'opérateurs mobiles

Chaque proxy du réseau est un vrai modem 4G/5G connecté à un vrai opérateur mobile (MTS, Beeline, T-Mobile, Vodafone, etc.). Les sites cibles voient le trafic comme venant d'un smartphone normal sur réseau cellulaire — pas d'un datacenter.

CGNAT — pourquoi les IP mobiles sont « partagées »

Les opérateurs mobiles routent des milliers d'abonnés via la même IP publique grâce au Carrier-Grade NAT. Bannir une seule IP bloquerait de vrais clients, donc les systèmes anti-fraude traitent les IP mobiles plus indulgemment que les IP résidentielles ou datacenter. C'est la raison structurelle du haut niveau de confiance des proxies mobiles.

Rotation

Vous changez l'IP externe à la demande en déclenchant une reconnexion du modem :

  • Par lien — requête GET sur une URL unique (changeip.host/?proxy_key=…) déclenche la rotation. Retourne la nouvelle IP en JSON.
  • Par minuteur — rotation automatique toutes les N minutes (configurable par proxy).
  • Aucune (sticky) — IP conservée jusqu'à votre demande.

Sessions sticky

Une session « sticky » est simplement un proxy avec rotation désactivée (ou minuteur long). Toutes les requêtes via ce proxy partagent une IP pendant la session. Utile pour les flux multi-étapes (login → panier → paiement, parsing de plusieurs pages d'une session).

Persistance de session entre rotations

Cookies, localStorage et sessions TLS vivent sur le client — pas sur le proxy. Après une rotation, votre session existante dans le navigateur/librairie survit ; seule l'IP source change.

Intégrations

Snippets prêts à l'emploi pour les stacks les plus courants. Remplacez PROXY_HOST, PROXY_PORT, LOGIN, PASSWORD par les valeurs 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()
SDK officiels et exemples complets sur GitHub : Python · Node · PHP · Spécification OpenAPI.

Cas d'usage

Ce que les développeurs construisent réellement avec les proxies mobiles. Chaque carte est un pattern typique.

Web scraping

Rotation d'IP par requête ou par session, en combinaison avec des outils de fingerprinting navigateur.

Automatisation navigateur

Playwright / Selenium avec un proxy par worker, sessions sticky pour les flux stateful.

Vérification et QA

Vérification de contenu géo-ciblé, prix, variantes A/B depuis de vrais réseaux opérateurs.

Vérification SERP/pubs

Scraping de SERP, vérification de placement publicitaire, créations mobiles.

SMM et multi-comptes

Un proxy mobile par compte — le profil IP carrier-grade ressemble le plus à un vrai utilisateur.

Pipelines de données

Workers en arrière-plan derrière un pool rotatif, retries à la rotation, logging structuré des erreurs.

Référence API

La référence REST complète — chaque endpoint, paramètre et format de réponse — vit sur la page API dédiée. Elle est auto-personnalisée avec votre token quand vous êtes connecté.

Documentation REST API complète

~15 endpoints : gestion des proxies, rotation IP, listes noires, recherche géo/opérateur, solde.

Ouvrir Référence API

Endpoints les plus utilisés

  • 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

Dépannage

Top problèmes rencontrés par les développeurs et leur solution standard. FAQ complète sur la page FAQ.

Connexion expirée / refusée

Vérifiez que le proxy est actif dans le tableau de bord, que l'IP allowlist correspond à l'IP sortante de votre machine, et que vous utilisez le bon port pour HTTP vs SOCKS5.

La rotation retourne la même IP

L'opérateur peut réassigner la même adresse — normal sur de petits pools. Déclenchez à nouveau la rotation ou changez d'opérateur avec change_equipment.

Le site cible affiche un captcha

Les captchas corrèlent avec le fingerprint, pas seulement avec l'IP. Associez l'IP mobile avec un User-Agent mobile, un viewport mobile et un profil TLS cohérent. Voir Générateur de fingerprint.

La session expire de façon inattendue

L'auto-rotation se déclenche au milieu de votre session. Désactivez la rotation par minuteur ou capturez cookies/tokens avant la rotation.

Géo ne correspond pas / mauvais pays

Les opérateurs mobiles routent parfois via des nœuds étrangers. Vérifiez avec proxy_ip et reroutez avec change_equipment si nécessaire.

HTTP 429 de l'API

Vous avez atteint la limite. Ajoutez du exponential backoff, mettez en cache les réponses de get_my_proxy, envoyez des listes de proxy_id où c'est supporté.

Bonnes pratiques

Stratégie de retry

Enveloppez chaque requête proxy dans retry-with-jitter (3 tentatives, 500ms–3s). Sur 429, backoff exponentiel. Sur erreurs de connexion, rotation avant retry.

Gestion des sessions

Un proxy par session logique. Persistez cookies/localStorage par worker. Ne partagez jamais un pool HTTP keep-alive entre rotations.

Intervalles de rotation

Pour le scraping — rotation par requête ou toutes les 30–120 sec. Pour le travail compte — sessions sticky longues (heures), rotation seulement sur logout/error explicite.

Cohérence navigateur

Adaptez le User-Agent à l'opérateur (4G → UA mobile). Réglez fuseau horaire et locale sur la région du proxy. Désactivez la fuite IP WebRTC.

Éviter les bans

Maintenez le rythme de requêtes à des niveaux humains. Randomisez le timing. Associez IP mobile avec fingerprint mobile, pas avec un fingerprint desktop.

Observabilité

Loggez proxy_id, IP actuelle, code réponse et événements de rotation ensemble. Quand quelque chose casse, vous saurez si c'est l'IP, le fingerprint ou la cible.