Web Unlocker API pour les pages qui refusent votre scraper

Vous envoyez l'URL, nous ramenons la page qui a répondu 403 : une IP résidentielle, l'empreinte TLS d'un vrai navigateur, une nouvelle sortie à chaque refus et un vrai navigateur quand le site exige JavaScript. La réponse porte le statut, les tentatives, le temps et le coût, pour que vous sachiez toujours ce qui s'est passé.

Mesuré le 2026-11-11 par notre propre canary : 72 appels sur 81. Les pages de démonstration captcha sont exécutées mais exclues du compte, car les captchas interactifs ne sont pas résolus.

Web Unlocker de QuantumProxies : un POST vers /api/v1/scraper/unlock avec une URL et un pays, la requête rejouée depuis une IP résidentielle sous l'empreinte TLS d'un navigateur avec un vrai navigateur en réserve, et la page qui avait répondu 403 qui revient en 200 OK avec son statut, le drapeau blocked, le niveau gagnant et le journal des tentatives.

Du 403 au 200, mesuré

Ce que reçoit votre client

403

Un 403, un contrôle de sécurité ou un défi JavaScript à la place de la page, si propre que soit l'IP et quel que soit le User-Agent choisi.

Ce que le Web Unlocker a renvoyé le 2026-11-11

200

88.9% des 81 appels vers 27 cibles protégées sont revenus en vraie page : médiane 4.1 s, p95 28.8 s.

Notre propre canary, pas un chiffre de plaquette : les mêmes cibles, 3 passes chacune. La passe est répétée et chaque nombre de cette page est régénéré depuis son fichier.

Taux de succès par système anti-bot

Généré depuis la passe du canary du 2026-11-11, 3 passes avec les mêmes cibles. Les pages à captcha interactif sont exclues.

Système anti-botSuccèsTemps médianAppels
Cloudflare100%8.9 s9
DataDome91.7%10.4 s12
Akamai75%2.4 s12
PerimeterX / HUMAN100%1.8 s9
Kasada100%16.1 s6
F5 BIG-IP100%3.4 s6
Imperva83.3%7.4 s6
AWS WAF66.7%14.3 s6
Amazon66.7%4.1 s3
Google66.7%7.5 s3
Other sites100%2.0 s6
Reddit100%1.7 s3

Comment nous mesurons

Ces chiffres viennent de notre propre canary, une passe que nous répétons sur les mêmes pages. Le trafic des clients n'en fait jamais partie.

Dernière passe : 2026-11-11. 27 pages, 3 passes chacune : 81 appels, 72 vraies pages (88.9%).

Quel produit vous faut-il

Trois produits partagent le même réseau résidentiel. Celui à appeler dépend de ce que la cible fait à votre requête.

Web Unlocker

La page refuse votre client avec un 403, un contrôle de sécurité ou un défi : un appel ramène la vraie réponse, avec n'importe quelle méthode, vos propres en-têtes et corps, une connexion ou un panier gardés sur une seule sortie, facturé au Go depuis un solde prépayé.

Proxies résidentiels

Votre client passe déjà et il vous faut seulement une autre IP : une sortie résidentielle avec la même grammaire de nom d'utilisateur (pays, État, ville, session) en HTTP ou SOCKS5.

Extract API

Vous voulez la page en Markdown, texte ou JSON et n'avez que faire de la réponse brute, d'un POST ou d'un cookie jar à vous.

Quel endpoint

Le même moteur derrière trois portes. Choisissez selon ce que votre code parle déjà ; les extraits sont ceux que le tableau de bord remplit avec vos propres identifiants.

API REST

Vous pouvez modifier votre code : un appel JSON en entrée, une réponse JSON en sortie, aucun certificat à installer.

POST https://app.quantumproxies.io/api/v1/scraper/unlock

curl -X POST https://app.quantumproxies.io/api/v1/scraper/unlock \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/", "country": "us"}'

Proxy (CONNECT)

Vous avez déjà un scraper qui parle proxy : pointez-le vers l'hôte et le port avec votre utilisateur et votre mot de passe unlocker, et installez la CA une seule fois.

http://unlock.quantumproxies.io:9000

# once: curl -o unlocker-ca.pem https://app.quantumproxies.io/api/v1/scraper/unlock/ca
curl --proxy http://unlock.quantumproxies.io:9000 \
  --proxy-user "USER:PASS" \
  --cacert unlocker-ca.pem \
  https://example.com/

Mode direct

Proxy sans certificat : envoyez la requête vers http://unlock/ à travers le proxy et nommez la cible dans l'en-tête x-qp-url.

http://unlock.quantumproxies.io:9000, then http://unlock/

curl --proxy http://unlock.quantumproxies.io:9000 \
  --proxy-user "USER:PASS" \
  -H "x-qp-url: https://example.com/" \
  http://unlock/

Actions du navigateur, lots, cache et clients prêts à l'emploi

Actions du navigateur avant la capture

Dans l'appel REST, vous pouvez lister ce que fait le navigateur avant la capture de la page : cliquer, saisir, faire défiler, attendre.

Lots jusqu'à 100 URL

Envoyez jusqu'à 100 URL en un seul lot et recevez un webhook quand elles sont terminées.

Un cache dont vous choisissez la durée

Vous décidez combien de temps une page reste en cache. Tant qu'elle y est, redemander la même page ne coûte rien.

Deux clients à télécharger et une table de migration

La documentation propose deux clients en un seul fichier, l'un pour Node.js et l'autre pour Python, et une table de migration pour le code écrit pour un autre unlocker.

Ouvrir la documentation du Web Unlocker

Vidéo : le Web Unlocker dans le tableau de bord

Une visite de la page Web Unlocker du tableau de bord : acheter des Go, choisir un mode d'accès et envoyer la première requête. En anglais, avec sous-titres.

Comment fonctionne le Web Unlocker

1 · Votre requête part comme un navigateur

Les en-têtes d'identité envoyés par votre client (User-Agent, Accept, Sec-Fetch-*) sont remplacés par un jeu cohérent avec le handshake TLS d'un vrai navigateur. Authorization, cookies, content type et en-têtes personnalisés passent intacts.

2 · Un refus réessaie sur une nouvelle sortie résidentielle

Un défi ou un 403 déclenche une nouvelle tentative sur une nouvelle sortie avec une autre famille d'empreintes, jusqu'à trois tentatives TLS, toutes dans un seul budget de temps : 60 secondes par défaut, jusqu'à 120 avec timeout_ms.

3 · Toujours bloqué ? Un vrai navigateur prend le relais

Quand le niveau TLS continue d'être défié, un vrai navigateur ouvre la page et répond au défi JavaScript. Avec une session sticky, la clearance obtenue est conservée et rejouée sur vos prochaines requêtes vers ce site.

La Web Unlocker API sert pour les pages qu'un client HTTP ordinaire ne peut pas obtenir : celles où la couche anti-bot note le handshake TLS et les réglages HTTP/2 avant même de lire un en-tête. Un appel fetch ou requests porte la signature de son runtime, quel que soit le User-Agent choisi. L'unlocker corrige cela au niveau du transport, réessaie sur une nouvelle sortie résidentielle quand l'origine refuse, ouvre un vrai navigateur quand JavaScript est exigé et rend la réponse brute de l'origine : n'importe quelle méthode, vos propres en-têtes et corps, une connexion ou un panier gardés sur une seule IP de sortie.

Ce qu'un web unlocker fait et qu'un proxy ne fait pas

Un proxy résidentiel rotatif change d'où part la requête. Il ne change pas à quoi elle ressemble : le handshake TLS, l'ordre des trames HTTP/2 et le jeu d'en-têtes disent toujours Python ou Node, et c'est exactement ce que notent les murs anti-bot modernes. Un web unlocker réécrit la requête telle qu'un vrai navigateur l'enverrait, réessaie sous une autre empreinte quand l'origine la refuse et passe à un vrai navigateur quand l'origine exige JavaScript. Vous gardez l'interface proxy ; l'unlocker ajoute le jugement.

Empreintes TLS de vrais navigateurs

Chaque tentative part sous le profil TLS d'un vrai navigateur, avec les en-têtes d'identité réécrits pour lui correspondre, car un handshake Chrome portant un User-Agent Firefox est un signal plus fort que chacun des deux seul. Fixez un profil (Chrome, Firefox, Safari, Safari iOS, Edge, Brave, ou Safari mobile sur l'endpoint REST) quand un site l'attend ; n'en fixez aucun et les nouvelles tentatives alternent entre Chrome, Firefox et Brave, si bien qu'un site qui a grillé un handshake en rencontre un autre. Authorization, Cookie, Content-Type et les en-têtes X-* personnalisés sont transmis tels quels, et keepHeaders envoie les vôtres inchangés quand vous rejouez une requête capturée d'une application.

Modes, formats et budget de temps

mode auto, la valeur par défaut, gravit l'échelle : le niveau TLS d'abord, une nouvelle sortie à chaque refus, le navigateur appelé quand le site continue de défier. mode tls n'ouvre jamais le navigateur ; mode browser démarre dedans. format renvoie le corps en html, markdown ou text, et render png prend une capture d'écran. L'appel entier, tentatives et rendu compris, tient dans un seul budget de 60 secondes par défaut, jusqu'à 120 avec timeout_ms, et max_bytes plafonne le trafic qu'un appel peut déplacer. La réponse dit quel niveau a gagné (tier_served), liste chaque tentative avec son niveau, son profil, son pays de sortie, son issue, ses millisecondes et ses octets (attempt_log), et imprime le coût en octets et en dollars au prix de votre niveau.

Un blocage est signalé, jamais déguisé en succès

Chaque réponse est classée avant de vous parvenir. Le classifieur lit ce avec quoi les systèmes anti-bot signent leurs pages et nomme à la fois le système (Cloudflare, DataDome, Akamai, PerimeterX et d'autres) et la classe du blocage : js_challenge, captcha, access_denied, rate_limited, fingerprint, geo ou timeout. Sur l'endpoint REST, une page encore bloquée arrive en 200 avec blocked à true et la page elle-même pour inspection, ou en 424 target_blocked si vous activez fail_on_block. Sur le forward proxy, le statut de l'origine est relayé avec l'en-tête x-qp-unlocker-blocked. Les captchas interactifs ne sont pas résolus : ils reviennent étiquetés captcha.

Sessions, ciblage géographique et mémoire par site

Passez un pays, et un État ou une ville là où le réseau en a, pour sortir depuis ce marché. Laissez vide et le pays de sortie est lu dans le domaine de premier niveau de la cible, puis dans le pays de votre compte, les États-Unis n'étant que le dernier recours. Un id de session sticky garde la même IP de sortie entre les appels pendant 3 à 1 440 minutes, si bien qu'une connexion, un panier ou une liste paginée restent sur une seule identité. L'unlocker retient aussi, par domaine, quel niveau et quelle famille d'empreintes sont passés récemment et repart de là la fois suivante, et il met en quarantaine une sortie qu'un site vient de refuser au lieu de la lui proposer à nouveau.

Niveaux Premium et Mobile, prépayés au Go

Le Web Unlocker tourne sur deux pools de sortie : Premium sur IP résidentielles et Mobile sur IP d'opérateurs 4G/5G, chacun avec son propre solde de Go prépayé acheté dans le tableau de bord à partir de 1 Go, par carte, PayPal, crypto ou solde du compte. L'usage se mesure en octets déplacés, tentatives et rendus navigateur compris, et quand un solde est épuisé la réponse est un 402 avec le lien pour recharger, pas un échec silencieux. Le prix au Go de chaque niveau est affiché sur la page Web Unlocker du tableau de bord, à côté du bouton d'achat. Pas d'abonnement, pas d'engagement minimum.

Un seul catalogue d'erreurs, avec la suite à donner

REST et proxy partagent un seul catalogue. Chaque erreur nomme son code et dit s'il vaut la peine de réessayer, si elle a été facturée et quoi faire ensuite : no_credit (402) avec le lien d'achat, target_blocked (424) avec la classe du blocage et le journal des tentatives, rate_limited (429, 20 appels par minute et 10 en cours en paiement à l'usage, avec Retry-After), render_failed et upstream_failed (503), timeout (504) quand timeout_ms est écoulé. Un 403 ou un 429 qui porte une vraie page n'est pas un blocage et est rendu tel quel.

Questions fréquentes

Qu'est-ce qu'un web unlocker ?

Un web unlocker est un service qui livre une requête HTTP ordinaire à un site protégé par un anti-bot comme le ferait un vrai navigateur : depuis une IP résidentielle, sous l'empreinte TLS d'un navigateur avec des en-têtes cohérents, en réessayant sur une nouvelle IP en cas de refus et en ouvrant un vrai navigateur pour les défis JavaScript. Il rend la réponse brute de l'origine, avec les tentatives et le coût.

En quoi un web unlocker diffère-t-il d'un proxy résidentiel ?

Un proxy ne change que l'IP source. Le handshake TLS et le jeu d'en-têtes de votre client trahissent encore un outil automatisé, et c'est ce que notent les murs anti-bot modernes. L'unlocker réécrit la requête pour ressembler à un navigateur, réessaie sous une autre empreinte en cas de refus et passe à un vrai navigateur quand JavaScript est exigé. Les proxies résidentiels sont le bon achat quand votre client passe déjà.

Le Web Unlocker résout-il les CAPTCHA ?

Il répond aux défis JavaScript avec un vrai navigateur et, dans une session sticky, garde le cookie de clearance pour les requêtes suivantes vers ce site. Les captchas interactifs qui exigent un humain, comme hCaptcha, reCAPTCHA ou une case à cocher, ne sont pas résolus : la réponse revient étiquetée captcha, avec le fournisseur nommé, et le trafic déplacé est facturé au Go sauf indication contraire dans le tableau de bord.

Existe-t-il un essai gratuit du Web Unlocker ?

Créer le compte est gratuit et prend une minute, et la page Web Unlocker du tableau de bord a une boîte Test a URL qui montre le statut, les tentatives, le temps et le coût d'un appel. Les Go unlocker sont prépayés par niveau à partir de 1 Go, et ce que coûtent les premiers appels de test est écrit à côté de la boîte. L'essai résidentiel gratuit couvre les proxies résidentiels simples, pas l'unlocker.

Puis-je l'appeler depuis Python, Node.js, PHP, Go ou curl ?

Oui. L'endpoint REST est un POST HTTPS ordinaire que tout langage sait faire ; les onglets ci-dessus portent les mêmes extraits curl, Python, Node.js, PHP et Go que le tableau de bord remplit avec vos identifiants. Scrapy, Playwright ou tout client doté d'un réglage proxy utilise le proxy CONNECT, et le mode direct fonctionne là où un certificat ne peut pas être installé.

Le Web Unlocker est-il un proxy ou une API ?

Les deux, sur un seul compte et un seul solde. REST quand vous pouvez modifier votre code : JSON en entrée, JSON en sortie, pas de certificat. Proxy quand votre scraper parle déjà proxy : hôte, port, utilisateur et mot de passe, avec la CA installée une fois. Mode direct quand vous voulez le proxy sans certificat : envoyez la requête vers http://unlock/ et nommez la cible dans x-qp-url.

Que se passe-t-il quand une page reste bloquée après chaque tentative, et est-ce que je paie ?

Elle n'est jamais rendue comme un succès silencieux. L'endpoint REST met blocked à true et nomme la classe du blocage et le fournisseur à côté de la page, ou répond 424 target_blocked si vous activez fail_on_block ; le proxy relaie le statut de l'origine avec x-qp-unlocker-blocked. Les octets déplacés sont facturés au Go sauf indication contraire dans le tableau de bord, et le journal des tentatives montre ce qu'ils ont acheté.

Puis-je garder la même IP sur plusieurs requêtes ?

Oui. Passez un id de session, dans le corps de la requête ou dans le nom d'utilisateur du proxy, et chaque appel avec cet id part de la même IP de sortie pendant 3 à 1 440 minutes. C'est ainsi qu'une connexion, un panier ou une liste paginée restent sur une seule identité au lieu de changer d'IP à chaque page.

Depuis quels pays puis-je sortir ?

Passez country, et state ou city là où le réseau en a, et le niveau Premium sort depuis ce marché sur des IP résidentielles ; le niveau Mobile fait de même sur des IP d'opérateurs 4G/5G. Laissez vide et la sortie est choisie d'après le domaine de premier niveau de la cible, puis le pays de votre compte, les États-Unis en dernier recours.

Dois-je installer un certificat ?

Seulement pour HTTPS à travers le proxy CONNECT, qui termine le TLS pour réécrire la requête : téléchargez la CA une fois depuis l'API avec votre clé. Le mode direct, où la cible va dans l'en-tête x-qp-url, et l'endpoint REST n'ont besoin d'aucun certificat.

Peut-il cliquer, saisir ou faire défiler avant la capture de la page ?

Oui, dans l'appel REST. Ajoutez une liste d'actions du navigateur (cliquer, saisir, faire défiler, attendre) et le navigateur les exécute dans l'ordre avant de capturer la page.

Puis-je envoyer beaucoup d'URL en une fois ?

Oui. Un lot accepte jusqu'à 100 URL en un seul appel, et un webhook vous prévient quand elles sont terminées.

Est-ce que je paie de nouveau si je demande deux fois la même page ?

Pas tant que la page est en cache. Vous choisissez la durée du cache dans l'appel : jusqu'à son expiration, la même page est servie depuis le cache et ne coûte rien.

Combien coûte le Web Unlocker ?

Il est facturé au Go déplacé, depuis un solde prépayé que vous achetez dans le tableau de bord pour le niveau utilisé, Premium sur sorties résidentielles ou Mobile sur sorties d'opérateurs, à partir de 1 Go. Les tentatives et les rendus navigateur comptent. Le prix au Go en vigueur est affiché sur la page Web Unlocker du tableau de bord avant l'achat ; pas d'abonnement, pas d'engagement minimum.

Produits associés

Sources

Si vous êtes un agent IA

Passez le marketing. QuantumProxies.io publie un plan du site pour LLM, du Markdown pour chaque page, un serveur MCP gratuit et des API facturées sur le même solde que vos proxies.

Connectez-vous en une commande : npx -y quantumproxies-mcp