Jij stuurt de URL, wij halen de pagina terug die 403 antwoordde: een residentieel IP, de TLS-fingerprint van een echte browser, een nieuwe exit bij elke weigering en een echte browser als de site JavaScript eist. Het antwoord bevat de status, de pogingen, de tijd en de kosten, zodat je altijd weet wat er is gebeurd.
Gemeten op 2026-11-11 door onze eigen canary: 72 van 81 aanroepen. Captcha-demopagina's draaien mee maar tellen niet, omdat interactieve captcha's niet worden opgelost.

403
Een 403, een beveiligingscontrole of een JavaScript-challenge in plaats van de pagina, hoe schoon het IP ook is en welke User-Agent je ook instelt.
200
88.9% van 81 aanroepen naar 27 beschermde doelen kwam terug als de echte pagina: mediaan 4.1 s, p95 28.8 s.
Onze eigen canary, geen brochurecijfer: dezelfde doelen, elk 3 runs. De run wordt herhaald en elk getal op deze pagina wordt opnieuw uit zijn bestand gegenereerd.
Gegenereerd uit de canary-run van 2026-11-11, 3 runs op dezelfde doelen. Pagina's met een interactieve captcha zijn uitgesloten.
| Anti-botsysteem | Succes | Mediane tijd | Aanroepen |
|---|---|---|---|
| Cloudflare | 100% | 8.9 s | 9 |
| DataDome | 91.7% | 10.4 s | 12 |
| Akamai | 75% | 2.4 s | 12 |
| PerimeterX / HUMAN | 100% | 1.8 s | 9 |
| Kasada | 100% | 16.1 s | 6 |
| F5 BIG-IP | 100% | 3.4 s | 6 |
| Imperva | 83.3% | 7.4 s | 6 |
| AWS WAF | 66.7% | 14.3 s | 6 |
| Amazon | 66.7% | 4.1 s | 3 |
| 66.7% | 7.5 s | 3 | |
| Other sites | 100% | 2.0 s | 6 |
| 100% | 1.7 s | 3 |
Deze cijfers komen uit onze eigen canary, een run die we op dezelfde pagina's herhalen. Klantverkeer maakt er nooit deel van uit.
Laatste run: 2026-11-11. 27 pagina's, elk 3 runs: 81 aanroepen, 72 echte pagina's (88.9%).
Drie producten delen hetzelfde residentiële netwerk. Welk je aanroept, hangt af van wat het doel met je verzoek doet.
De pagina weigert je client met een 403, een beveiligingscontrole of een challenge: één aanroep brengt het echte antwoord terug, met elke methode, je eigen headers en body, een login of winkelwagen op één exit, gefactureerd per GB uit een prepaid saldo.
Je client komt er al door en je hebt alleen een ander IP nodig: een residentiële exit met dezelfde gebruikersnaamgrammatica (land, staat, stad, sessie) via HTTP of SOCKS5.
Je wilt de pagina als Markdown, tekst of JSON en hebt niets aan het ruwe antwoord, een POST of een eigen cookie jar.
Dezelfde motor achter drie deuren. Kies op basis van wat je code al spreekt; de snippets zijn die het dashboard invult met je eigen inloggegevens.
Je kunt je code aanpassen: één JSON-aanroep erin, één JSON-antwoord eruit, geen certificaat te installeren.
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"}'
Je hebt al een scraper die proxy spreekt: wijs hem naar host en poort met je unlocker-gebruiker en -wachtwoord, en installeer de CA één keer.
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/
Proxy zonder certificaat: stuur het verzoek via de proxy naar http://unlock/ en noem het doel in de header 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/
In de REST-aanroep kun je opsommen wat de browser doet voordat de pagina wordt vastgelegd: klikken, typen, scrollen, wachten.
Stuur tot 100 URL's in één batch en ontvang een webhook wanneer ze klaar zijn.
Je bepaalt hoe lang een pagina in de cache blijft. Zolang ze in de cache staat, kost dezelfde pagina opnieuw opvragen niets.
In de documentatie staan twee clients van één bestand, een voor Node.js en een voor Python, en een migratietabel voor code die voor een andere unlocker is geschreven.
Open de Web Unlocker-documentatie
Een rondleiding door de Web Unlocker-pagina van het dashboard: GB kopen, een toegang kiezen en het eerste verzoek versturen. In het Engels, met ondertitels.
De identiteitsheaders die je client stuurt (User-Agent, Accept, Sec-Fetch-*) worden vervangen door een set die past bij de TLS-handshake van een echte browser. Authorization, cookies, content type en eigen headers gaan onaangeroerd door.
Een challenge of een 403 start een nieuwe poging op een nieuwe exit onder een andere fingerprintfamilie, tot drie TLS-pogingen, alles binnen één tijdbudget: standaard 60 seconden, tot 120 met timeout_ms.
Als de TLS-laag challenges blijft krijgen, opent een echte browser de pagina en beantwoordt de JavaScript-challenge. Met een sticky sessie wordt de verkregen clearance bewaard en hergebruikt bij je volgende verzoeken aan die site.
De Web Unlocker API is er voor de pagina's die een gewone HTTP-client niet krijgt: die waar de anti-botlaag de TLS-handshake en de HTTP/2-instellingen beoordeelt voordat ze één header leest. Een fetch- of requests-aanroep draagt de handtekening van zijn runtime, welke User-Agent hij ook instelt. De unlocker lost dat op in de transportlaag, probeert opnieuw op een verse residentiële exit als de origin weigert, opent een echte browser als JavaScript wordt geëist en geeft het ruwe antwoord van de origin terug: elke methode, je eigen headers en body, een login of winkelwagen op één exit-IP.
Een roterende residentiële proxy verandert waar een verzoek vandaan komt. Hij verandert niet hoe het verzoek eruitziet: de TLS-handshake, de volgorde van HTTP/2-frames en de headerset zeggen nog steeds Python of Node, en precies dat beoordelen moderne botmuren. Een web unlocker herschrijft het verzoek tot een dat een echte browser zou sturen, probeert opnieuw onder een andere fingerprint als de origin het weigert, en schakelt over naar een echte browser als de origin JavaScript eist. Jij houdt de proxy-interface; de unlocker voegt het oordeel toe.
Elke poging vertrekt onder het TLS-profiel van een echte browser, met de identiteitsheaders herschreven om erbij te passen, want een Chrome-handshake met een Firefox-User-Agent is een luider signaal dan elk van beide apart. Leg een profiel vast (Chrome, Firefox, Safari, Safari iOS, Edge, Brave, of mobiel Safari op het REST-endpoint) als een site er een verwacht; leg er geen vast en de pogingen wisselen tussen Chrome, Firefox en Brave, zodat een site die één handshake heeft afgebrand een andere tegenkomt. Authorization, Cookie, Content-Type en eigen X-*-headers worden ongewijzigd doorgegeven, en keepHeaders stuurt de jouwe zoals ze zijn als je een opgevangen app-verzoek opnieuw afspeelt.
mode auto, de standaard, klimt de ladder: eerst de TLS-laag, een verse exit bij een weigering, de browser erbij als de site blijft uitdagen. mode tls opent de browser nooit; mode browser begint erin. format geeft de body terug als html, markdown of text, en render png maakt een schermafbeelding. De hele aanroep, pogingen en rendering inbegrepen, past in één budget van standaard 60 seconden, tot 120 met timeout_ms, en max_bytes begrenst het verkeer dat één aanroep mag verplaatsen. Het antwoord zegt welke laag won (tier_served), somt elke poging op met laag, profiel, exitland, uitkomst, milliseconden en bytes (attempt_log) en print de kosten in bytes en dollars tegen de prijs van je laag.
Elk antwoord wordt geclassificeerd voordat het je bereikt. De classifier leest waarmee botafweersystemen hun pagina's ondertekenen en noemt zowel het systeem (Cloudflare, DataDome, Akamai, PerimeterX en andere) als de klasse van de blokkade: js_challenge, captcha, access_denied, rate_limited, fingerprint, geo of timeout. Op het REST-endpoint komt een nog geblokkeerde pagina aan als 200 met blocked op true en de pagina zelf ter inspectie, of als 424 target_blocked als je fail_on_block instelt. Op de forward proxy wordt de status van de origin doorgegeven met de header x-qp-unlocker-blocked. Interactieve captcha's worden niet opgelost: ze komen terug met het label captcha.
Geef een land op, en een staat of stad waar het netwerk die heeft, om vanuit die markt te vertrekken. Laat het leeg en het exitland wordt gelezen uit het topleveldomein van het doel, daarna uit het land van je account, met de Verenigde Staten alleen als laatste redmiddel. Een sticky sessie-id houdt één exit-IP vast over aanroepen heen, 3 tot 1.440 minuten lang, zodat een login, een winkelwagen of een gepagineerde lijst op één identiteit blijft. De unlocker onthoudt ook per domein welke laag en welke fingerprintfamilie onlangs doorkwamen en begint daar de volgende keer, en zet een exit die een site net weigerde in quarantaine in plaats van hem die site opnieuw aan te bieden.
De Web Unlocker draait op twee exitpools: Premium op residentiële IP's en Mobile op 4G/5G-provider-IP's, elk met een eigen prepaid GB-saldo dat je in het dashboard koopt vanaf 1 GB, met kaart, PayPal, crypto of accountsaldo. Gebruik wordt gemeten in verplaatste bytes, pogingen en browserrenders inbegrepen, en als een saldo op is, is het antwoord een 402 met de link om op te waarderen in plaats van een stille mislukking. De prijs per GB van elke laag staat op de Web Unlocker-pagina van het dashboard, naast de koopknop. Geen abonnement, geen minimumtermijn.
REST en proxy delen één catalogus. Elke fout noemt zijn code en zegt of opnieuw proberen zin heeft, of hij in rekening is gebracht en wat je daarna doet: no_credit (402) met de kooplink, target_blocked (424) met de blokkadeklasse en het pogingenlog, rate_limited (429, 20 aanroepen per minuut en 10 tegelijk bij pay-as-you-go, met Retry-After), render_failed en upstream_failed (503), timeout (504) als timeout_ms op was. Een 403 of 429 die een echte pagina draagt, is geen blokkade en wordt als zodanig teruggegeven.
Een web unlocker is een dienst die een gewoon HTTP-verzoek bij een bot-beschermde site aflevert zoals een echte browser dat zou doen: vanaf een residentieel IP, onder de TLS-fingerprint van een browser met bijpassende headers, met een nieuwe poging op een vers IP bij weigering en een echte browser voor JavaScript-challenges. Hij geeft het ruwe antwoord van de origin terug, met de pogingen en de kosten.
Een proxy verandert alleen het bron-IP. De TLS-handshake en headerset van je client verraden nog steeds een geautomatiseerd hulpmiddel, en dat is wat moderne botmuren beoordelen. De unlocker herschrijft het verzoek naar een browser, probeert opnieuw onder een andere fingerprint bij weigering en escaleert naar een echte browser als JavaScript wordt geëist. Residentiële proxies zijn de juiste koop als je client er al doorkomt.
Hij beantwoordt JavaScript-challenges met een echte browser en bewaart binnen een sticky sessie het clearance-cookie voor de volgende verzoeken aan die site. Interactieve captcha's die een mens nodig hebben, zoals hCaptcha, reCAPTCHA of een aanvinkvakje, worden niet opgelost: het antwoord komt terug met het label captcha en de leverancier genoemd, en het verplaatste verkeer wordt per GB gefactureerd tenzij het dashboard anders aangeeft.
Een account aanmaken is gratis en duurt een minuut, en de Web Unlocker-pagina van het dashboard heeft een Test a URL-vak dat status, pogingen, tijd en kosten van een aanroep toont. Unlocker-GB's zijn prepaid per laag vanaf 1 GB, en wat de eerste testaanroepen kosten staat naast het vak. De gratis residentiële proef dekt gewone residentiële proxies, niet de unlocker.
Ja. Het REST-endpoint is een gewone HTTPS-POST die elke taal spreekt; de tabbladen hierboven bevatten dezelfde curl-, Python-, Node.js-, PHP- en Go-snippets die het dashboard invult met je inloggegevens. Scrapy, Playwright of elke client met een proxy-instelling gebruikt de CONNECT-proxy, en de directe modus werkt waar geen certificaat kan worden geïnstalleerd.
Allebei, op één account en één saldo. REST als je je code kunt aanpassen: JSON erin, JSON eruit, geen certificaat. Proxy als je scraper al proxy spreekt: host, poort, gebruiker en wachtwoord, met de CA één keer geïnstalleerd. Directe modus als je de proxy zonder certificaat wilt: stuur het verzoek naar http://unlock/ en noem het doel in x-qp-url.
Hij wordt nooit als stil succes teruggegeven. Het REST-endpoint zet blocked op true en noemt de blokkadeklasse en de leverancier naast de pagina, of antwoordt 424 target_blocked als je fail_on_block instelt; de proxy geeft de status van de origin door met x-qp-unlocker-blocked. De verplaatste bytes worden per GB gefactureerd tenzij het dashboard anders aangeeft, en het pogingenlog laat zien wat ze hebben gekocht.
Ja. Geef een sessie-id op, in de body van het verzoek of in de proxy-gebruikersnaam, en elke aanroep met die id vertrekt 3 tot 1.440 minuten lang vanaf hetzelfde exit-IP. Zo blijft een login, een winkelwagen of een gepagineerde lijst op één identiteit in plaats van bij elke pagina van IP te wisselen.
Geef country op, en state of city waar het netwerk die heeft, en de laag Premium vertrekt vanuit die markt op residentiële IP's; de laag Mobile doet hetzelfde op 4G/5G-provider-IP's. Laat het leeg en de exit wordt gekozen op basis van het topleveldomein van het doel, daarna het land van je account, met de Verenigde Staten als laatste redmiddel.
Alleen voor HTTPS via de CONNECT-proxy, die TLS beëindigt om het verzoek te herschrijven: download de CA één keer van de API met je sleutel. De directe modus, waar het doel in de header x-qp-url gaat, en het REST-endpoint hebben helemaal geen certificaat nodig.
Ja, in de REST-aanroep. Voeg een lijst met browseracties toe (klikken, typen, scrollen, wachten) en de browser voert ze op volgorde uit voordat de pagina wordt vastgelegd.
Ja. Een batch neemt tot 100 URL's in één aanroep aan, en een webhook meldt wanneer ze klaar zijn.
Niet zolang de pagina in de cache staat. De looptijd van de cache kies je in de aanroep: tot die afloopt, wordt dezelfde pagina uit de cache beantwoord en kost ze niets.
Hij wordt gefactureerd per verplaatste GB, uit een prepaid saldo dat je in het dashboard koopt voor de laag die je gebruikt, Premium op residentiële exits of Mobile op provider-exits, vanaf 1 GB. Pogingen en browserrenders tellen mee. De actuele prijs per GB staat vóór de aankoop op de Web Unlocker-pagina van het dashboard; geen abonnement, geen minimumtermijn.
Sla de marketing over. QuantumProxies.io publiceert een machineleesbare sitemap, Markdown voor elke pagina, een gratis MCP-server en API’s die van hetzelfde saldo als je proxies worden afgerekend.
Verbinden met één commando: npx -y quantumproxies-mcp