Back To Blog
Oct. 30th 2025

How to solve Cloudflare challenges with Nstproxy + CapSolver — integration guide

Learn how to use Nstproxy residential proxies with CapSolver to solve Cloudflare captchas (reCAPTCHA, Turnstile) for authorized automation and testing.

Cloudflare's challenge pages and captchas are essential for website security — but they can also block legitimate automation like QA testing, accessibility scanning, or authorized data collection. Combining a high-quality residential proxy (Nstproxy) with a reliable captcha-solving service (CapSolver) creates a robust, production-ready flow to handle challenges and continue authorized automation.

This guide explains why Nstproxy + CapSolver is a reliable combo, walks through both code-based and no-code (browser extension) integrations, and provides practical examples (JavaScript & Python), reliability tips, and a CapSolver discount for qualified users.

Important compliance reminder:
This guide is intended only for legitimate, authorized use (your own websites, explicit client permission, or approved testing).
Do not use these techniques to bypass security on sites without permission.


Why use Nstproxy + CapSolver?

  • Nstproxy supplies real residential / ISP-like IPs with strong reputation and geo-targeting — lowering IP-based blocking

  • CapSolver provides automated captcha solving (reCAPTCHA v2/v3, Cloudflare Turnstile, hCaptcha, AWS WAF, etc.)

  • Combined → handles:

    • Proxy identity
    • Captcha challenges
    • Session integrity

🔁 How it works (high-level flow)

  1. Proxy assignment through Nstproxy
  2. Request page through proxy
  3. Detect Cloudflare challenge
  4. Submit captcha task → CapSolver
  5. Receive solution token → submit using same proxy
  6. Access unlocked content

Option A — Code integration

JavaScript (Node.js)

// npm install axios https-proxy-agent
const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent');

const NST_PROXY = "D3B153E4F8170622-residential-country_US-r_30m-s_abc123:[email protected]:24125";
const PROXY_URL = `http://${NST_PROXY}`;

const CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY";
const TARGET_URL = "https://example.com/";
const SITE_KEY = "sitekey-from-target-page";

async function solveCaptchaWithCapSolver(siteKey, url) {
  const createResp = await axios.post('https://api.capsolver.com/createTask', {
    clientKey: CAPSOLVER_API_KEY,
    task: {
      type: "RecaptchaV2TaskProxyless",
      websiteURL: url,
      websiteKey: siteKey
    }
  });
  const taskId = createResp.data.taskId;
  while (true) {
    const res = await axios.post('https://api.capsolver.com/getTaskResult', { clientKey: CAPSOLVER_API_KEY, taskId });
    if (res.data.status === 'ready') return res.data.solution.gRecaptchaResponse;
    await new Promise(r => setTimeout(r, 3000));
  }
}

async function fetchProtectedPage() {
  const agent = new HttpsProxyAgent(PROXY_URL);
  const resp = await axios.get(TARGET_URL, { httpsAgent: agent, proxy: false, validateStatus: null });
  if (resp.status === 403 || resp.data.includes('captcha') || resp.data.includes('g-recaptcha')) {
    const token = await solveCaptchaWithCapSolver(SITE_KEY, TARGET_URL);
    const submitResp = await axios.post(TARGET_URL, { 'g-recaptcha-response': token }, { httpsAgent: agent, proxy: false });
    return submitResp.data;
  }
  return resp.data;
}

fetchProtectedPage().then(console.log).catch(console.error);

Python Example

import time
import random
from curl_cffi import requests

api_key = "...."
site_url = "xxx"
session_id = random.randint(int(10e5), int(10e8))
proxy = f"http://CHANNELID-residential-country_ANY-r_3m-s_{session_id}:[email protected]:24125"

def capsolver(proxy):
    print("proxy:", proxy)
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'AntiCloudflareTask',
            "websiteURL": site_url,
            "proxy": proxy
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")

    start_time = time.time()
    while True:
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        print("Status:", status)
        if status == "ready":
            print(f"{time.time() - start_time}s | response: {res.text}")
            return resp.get("solution", {})
        if status == "failed" or resp.get("errorId"):
            print("Solve failed!", res.text)
            return

def main():
    solution = capsolver(proxy)
    print(solution)

if __name__ == "__main__":
    main()

Option B — No-code integration (CapSolver Extension + Nstproxy)

Perfect for:

✅ QA teams
✅ Manual access workflows
✅ Browser-based automation

Steps

1️⃣ Log in to CapSolver
2️⃣ Open extension → Settings
3️⃣ Toggle Proxy ON
4️⃣ Enter Nstproxy details:

Host: http://gate.nstproxy.io/
Port: 24125
Username: <Your Nstproxy username>
Password: <Your Nstproxy password>

Best practices & reliability

  • Use consistent session for challenge + verification
  • Prefer residential/ISP proxies for login flows
  • Respect rate limits (avoid aggressive retries)
  • Choose correct CapSolver task type
  • Log proxy + captcha metadata for debugging

Pricing & discount

Service Benefit
Nstproxy Flexible residential / ISP / datacenter plans
CapSolver Use promo code CAPSOLVER10 for 10% OFF

🔗 https://www.nstproxy.com/


Approved only for:

✅ Websites you own
✅ Explicit client permission
✅ Authorized enterprise automation

Do not use to bypass security unlawfully.


✅ Quick Recap

  • Nstproxybetter IP identity + reduced Captcha trips
  • CapSolver → automated Cloudflare challenge solving
  • Combined → reliable authorized workflow automation

💡 Browser extension method = fastest no-code solution
💡 Code workflow = best for scalable systems


Marcus Chen
Marcus ChenProduct & Network Architect
Catalogue

Experience Nstproxy —

Start Your Free Trial Today

feature
90M+ real IPs with 99.9% access success
feature
Blazing-fast average response ~0.5s for high-concurrency tasks
feature
From only $0.1/GB

Get immediate access to premium residential, datacenter, Ipv6 and ISP proxy pools.

Create free account & try now →

Nstproxy

Scale up your business with Nstproxy

Nstproxy
© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED