Skip to content

Repository files navigation

C# Captcha Solver & Anti-Bot Bypass SDK | CapMonster Cloud

NuGet Version NuGet Downloads License: MIT

Official C# / .NET client library for the CapMonster Cloud automated captcha recognition service.

This SDK empowers developers to easily integrate high-speed, API-based captcha solving into their C#, WPF, and ASP.NET web scraping, automation, and testing projects. We provide seamless bypass for classic captchas (reCAPTCHA, FunCaptcha) as well as complex WAF and anti-bot systems (Cloudflare Turnstile, DataDome, Imperva).

🚀 Create an account and get your API Key today!

⚡ Key Features

  • High Success Rate & Speed: Solves complex captchas in milliseconds.
  • WAF Bypass: Built-in support for DataDome, Cloudflare, Amazon WAF, and more.
  • Easy Integration: Ready-to-use C# models for all modern challenge types.
  • Async/Await Support: Fully asynchronous API for high-performance, multi-threaded scraping.

⚙️ Installation

Install the CapMonster Cloud C# client via NuGet Package Manager:

Install-Package Zennolab.CapMonsterCloud.Client

Or via the .NET CLI:

dotnet add package Zennolab.CapMonsterCloud.Client

🚀 Quick Start & Usage Examples

To start solving captchas, you need a CapMonster Cloud API key. If you don't have one, register here.

1. Initialization

using Zennolab.CapMonsterCloud.Client;
using Zennolab.CapMonsterCloud.Client.Options;
using Zennolab.CapMonsterCloud.Client.Requests;

var clientOptions = new ClientOptions
{
    ClientKey = "<your capmonster.cloud API key>"
};

var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);

2. How to Solve reCAPTCHA v2 (With Proxy)

Using a proxy is highly recommended for web scraping to avoid IP bans.

var recaptchaV2ProxyRequest = new RecaptchaV2Request
{
    WebsiteUrl = "https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
    WebsiteKey = "6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd",
    Proxy = new ProxyContainer("203.0.113.45", 8080, ProxyType.Http, "login", "password")
};

var recaptchaV2ProxyResult = await cmCloudClient.SolveAsync(recaptchaV2ProxyRequest);
Console.WriteLine($"Solved Token: {recaptchaV2ProxyResult.Solution.GRecaptchaResponse}");

3. How to Bypass WAF (e.g., TSPD, DataDome, Castle)

For sites protected by advanced anti-bot challenges, use our CustomTask requests.

var tspdRequest = new TspdCustomTaskRequest(
    tspdCookie: "TS386a400d029=08...010245; TS386a400d029=08...01a06e; TS386a400d078=08...dbb3b0c; TSd2153684027=08...1944",
    htmlPageBase64: "PCFET0NU...k+PC9odG1sPg==")
{
    WebsiteUrl = "https://yourwebsite.com/page-with-tspd",
    Proxy = new ProxyContainer("203.0.113.45", 8080, ProxyType.Http, "login", "password")
};

var tspdResult = await cmCloudClient.SolveAsync(tspdRequest);

🧩 Supported Captcha Recognition Requests

Our .NET client supports automated recognition for almost all modern anti-bot challenges. Click on the links below to view detailed documentation for each specific task.

Classic Captcha Tasks (Tokens)

Custom Tasks (Anti-Bot / WAF / Custom Challenge Systems)

Complex Image Tasks (Grid / Dynamic Image Selection)


📚 Documentation & Support

For comprehensive guides, advanced scraping techniques, API limits, and error handling, please visit our official documentation:

📖 CapMonster Cloud Official Documentation
💬 Support / Contact Us

Releases

Packages

Used by

Contributors

Languages