En date du 7 octobre 2026, Shifter dispose du plus grand pool d'IP US actives, devant Oxylabs et Bright Data, pour une fraction du coût.Shifter a désormais le plus grand pool d'IP US actives

Voir les benchmarks

Scraping

Quand faut-il faire tourner les IP proxy ? Un cadre de décision pour les sessions, le coût et les taux de réussite

Tourner à chaque requête, conserver une session persistante, ou garder une IP ISP fixe ? Un cadre simple pour choisir, basé sur la manière dont vos requêtes sont liées entre elles.

Chris Collins

12 octobre 2026 · 8 min de lecture

« Dois-je faire une rotation à chaque requête ? » est l’une des premières questions que se posent les équipes qui commencent à utiliser des proxies résidentiels, et la réponse honnête est : cela dépend de ce que vos requêtes ont en commun. Trop de rotation casse les flux qu’un site s’attend à voir provenir d’un seul visiteur. Pas assez de rotation entasse tout votre trafic sur une seule adresse. Les deux vous coûtent des blocages, des nouvelles tentatives et de la bande passante.

Ce guide propose une méthode simple pour décider. La question décisive ne porte pas du tout sur le proxy. Elle porte sur votre travail : quelles requêtes vont ensemble, et pendant combien de temps.

Les trois modes

ModeCe qu’il faitSur Shifter
Rotation par requêteChaque requête part d’une IP résidentielle différenteLe mode par défaut : pas d’indicateur de session dans le nom d’utilisateur
Session persistanteLes requêtes partageant le même identifiant de session partagent une IP jusqu’à la fin de la sessionAjoutez sid-<id> au nom d’utilisateur, éventuellement ttl-<seconds> ; la durée de vie par défaut est de 120 secondes
IP fixeUne adresse dans une ville et un FAI choisis pour toute la période de facturationProxies FAI

Une session persistante se termine aussi de façon anticipée si l’IP résidentielle qui la porte se déconnecte, donc un code qui utilise des sessions doit s’attendre à une nouvelle IP occasionnelle en cours de session. Les sessions persistantes sont conservées par région, donc les outils qui partagent une même session doivent se connecter via le même point d’entrée régional.

La question décisive : qu’est-ce qui va ensemble ?

Observez la plus petite unité de travail que votre scraper répète, et posez-vous deux questions à son sujet.

1. Combien de requêtes composent une unité ? Une page produit récupérée seule est une requête. Une recherche suivie de six pages de détail est un flux. Un test de passage en caisse est un flux avec un état : un panier, un cookie de session, peut-être un jeton CSRF.

2. Combien de temps dure une unité ? Secondes, minutes, ou heures ?

À partir de ces deux réponses :

  • Requêtes indépendantes isolées : rotation. Chaque page existe seule, donc il n’y a rien à gagner à conserver une IP, et répartir les requêtes sur de nombreuses adresses évite qu’une seule d’entre elles ne paraisse surchargée.
  • Un flux qui se termine en moins de 30 minutes : session persistante. Le site définit des cookies dès la première requête et attend le reste du flux du même visiteur. Changer d’IP au milieu d’une recherche ou d’un panier ressemble à un détournement de session, et c’est une cause fréquente de blocages soudains et de perte d’état.
  • Tout ce qui dure plus longtemps, ou une connexion à laquelle vous revenez : IP fixe. Les sessions persistantes sont conçues pour des minutes, pas des heures. Pour une session qui dure toute la journée, ou un compte que vous utilisez quotidiennement, utilisez un proxy FAI. Notre guide sur la configuration des proxies FAI pour les sessions longues traite cela en détail.

En code

Les deux fonctions ci-dessous codent la règle et construisent le nom d’utilisateur Shifter correspondant :

def proxy_username(user, country=None, session_id=None, ttl_seconds=None):
    """Build a Shifter residential username: rotate per request, or stick to one IP."""
    parts = [f"customer-{user}"]
    if country:
        parts.append(f"country-{country}")
    if session_id:
        parts.append(f"sid-{session_id}")
        if ttl_seconds:
            parts.append(f"ttl-{ttl_seconds}")
    elif ttl_seconds:
        raise ValueError("ttl only works together with a session id")
    return "-".join(parts)


def choose_rotation(steps, minutes, needs_login=False, same_ip_required=False):
    """Pick a rotation mode for one unit of work.

    steps: requests that belong together (one page = 1, a checkout flow = many)
    minutes: how long that unit of work takes
    """
    if needs_login and minutes > 30:
        return "isp"                      # a login that outlives a sticky session
    if steps == 1 and not same_ip_required:
        return "rotate"                   # independent requests: new IP each time
    if minutes <= 30:
        return "sticky"                   # a short flow: one IP until it ends
    return "isp"

Appliqué à quatre tâches typiques :

from rotation import choose_rotation, proxy_username

jobs = {   # session ids must not contain hyphens: the username uses them as separators
    "products": dict(steps=1, minutes=0.1),
    "search":   dict(steps=6, minutes=2),
    "checkout": dict(steps=15, minutes=8),
    "seller":   dict(steps=400, minutes=240, needs_login=True),
}
for name, job in jobs.items():
    mode = choose_rotation(**job)
    if mode == "rotate":
        user = proxy_username("USERNAME", "us")
    elif mode == "sticky":
        user = proxy_username("USERNAME", "us", session_id=name, ttl_seconds=job["minutes"] * 60 + 120)
    else:
        user = "an ISP proxy username from your plan"
    print(f"{name:<9} {mode:<7} {user}")
products  rotate  customer-USERNAME-country-us
search    sticky  customer-USERNAME-country-us-sid-search-ttl-240
checkout  sticky  customer-USERNAME-country-us-sid-checkout-ttl-600
seller    isp     an ISP proxy username from your plan

Le TTL est fixé à la durée attendue du flux plus deux minutes de marge, de sorte que la session survit au travail sans s’éterniser. Donnez à chaque flux simultané son propre identifiant de session : deux workers partageant un même identifiant partagent une seule IP, ce qui va à l’encontre du but recherché.

Comment ce choix affecte le coût et le taux de réussite

Taux de réussite. L’erreur de rotation la plus courante consiste à faire une rotation à l’intérieur d’un flux. La première requête reçoit un cookie, la deuxième arrive depuis le FAI d’un autre pays avec ce cookie, et le site la considère comme suspecte. Les sessions persistantes pour les flux corrigent généralement plus d’échecs que tout autre changement isolé. L’erreur inverse, envoyer des milliers de requêtes indépendantes via une seule IP persistante, fait paraître cette unique adresse comme un bot. Notre guide sur les proxies résidentiels persistants versus rotatifs approfondit les deux types d’échec.

Bande passante. Le trafic résidentiel est facturé au gigaoctet, et la rotation en elle-même ne change rien à cela. Ce qui change les choses, ce sont les nouvelles tentatives : chaque flux échoué est téléchargé à nouveau. Adapter le mode au travail réduit les nouvelles tentatives, et c’est de là que vient l’économie. Au sein d’une session persistante, réutiliser la même connexion et les mêmes cookies peut aussi éviter de télécharger deux fois les mêmes ressources.

Vitesse. La rotation par requête signifie une nouvelle route pour chaque requête. Si vous ouvrez aussi une nouvelle connexion à chaque fois, le temps d’établissement s’accumule. Réutiliser les connexions compte plus que le mode de rotation ; notre test dans votre scraper est lent et ce n’est probablement pas la faute du proxy en a mesuré l’ampleur.

Signaux indiquant un mauvais choix

Ce que vous observezCause probableChangement
Les flux échouent après la première étape ; panier ou session perdusRotation à l’intérieur d’un fluxSession persistante par flux
Une IP bloquée après une rafale de requêtesTrop de travail indépendant sur une seule session persistanteRotation par requête pour les pages indépendantes
Les sessions tombent avant la fin du travailTTL trop court, ou flux trop long pour une session persistanteAugmenter le TTL ; déplacer le travail de plusieurs heures vers un proxy FAI
Deux workers interfèrent entre euxIdentifiant de session partagéUn identifiant de session par flux simultané
Connexions contestées chaque jourUne connexion sur des IP rotatives ou persistantesIP FAI fixe par compte

FAQ

Dois-je faire une rotation de mon IP proxy à chaque requête ?

Pour des requêtes indépendantes, comme récupérer des pages produits sans lien entre elles, oui. Pour tout ce qui s’étend sur plusieurs requêtes avec un état partagé, comme une recherche, un panier ou une connexion, conservez une seule IP pour tout le flux grâce à une session persistante.

Combien de temps une session persistante doit-elle durer ?

Aussi longtemps que le flux qu’elle sert, plus une petite marge. Sur Shifter, la valeur par défaut est de 120 secondes et vous pouvez la définir avec ttl-<seconds>. Les flux de plus de 30 minutes environ, et les connexions auxquelles vous revenez, relèvent des proxies FAI.

La rotation des IP réduit-elle les blocages ?

Elle répartit la charge pour qu’aucune adresse ne paraisse surchargée, ce qui aide pour les requêtes indépendantes. Faire une rotation à l’intérieur d’un flux produit l’effet inverse : cela fait ressembler un seul visiteur à de nombreux visiteurs, ce que les sites bloquent souvent.

La rotation affecte-t-elle le coût de la bande passante ?

Pas directement, puisque le trafic résidentiel est facturé au volume. Indirectement, le mauvais mode provoque des flux échoués et des nouvelles tentatives, qui sont téléchargés à nouveau et alourdissent la facture.

En résumé

Faites une rotation par requête pour le travail indépendant, maintenez une session persistante pour chaque flux qui va de pair, et utilisez une IP FAI fixe pour tout ce qui dure des heures ou implique une connexion à laquelle vous revenez. Décidez en observant votre unité de travail, pas les paramètres du proxy, donnez à chaque flux simultané son propre identifiant de session, et surveillez les signaux du tableau ci-dessus. Notre explication sur le fonctionnement de la rotation des proxies résidentiels couvre les mécanismes derrière chaque mode.

Prêt à commencer ?

Essayez les proxies résidentiels de Shifter, 205M+ IPs, 195+ pays, à partir de 0,75 $/GB.

Commencer