Hybrid AI + Human CAPTCHA Solving

reCAPTCHA v3 Solver API

Integrate a scalable reCAPTCHA v3 solving platform powered by hybrid OCR technology, human solvers, score-based tokens with action and min_score support, proxy integration, multi-language SDKs, and enterprise-ready infrastructure.


API Infrastructure
Online
Solve Time 16´s
Availability 24/7
Accuracy Rate 99%
Price $2.89/1k
/**
* Death by Captcha PHP API recaptcha_v3 usage example
*
* @package DBCAPI
* @subpackage PHP
*/

require_once 'deathbycaptcha.php';

$username = "username";  // DBC account username
$password = "password";  // DBC account password
$token_from_panel = "your-token-from-panel";  // DBC account authtoken

// Use DeathByCaptcha_SocketClient() class if you want to use SOCKET API.
$client = new DeathByCaptcha_HttpClient($username, $password);
$client->is_verbose = true;

// To use token the first parameter must be authtoken.
// $client = new DeathByCaptcha_HttpClient("authtoken", $token_from_panel);

echo "Your balance is {$client->balance} US cents\\n";

// To use recaptcha_Token
// Set the proxy and reCaptcha token data
$data = array(
    'proxy' => 'http://user:[email protected]:1234',
    'proxytype' => 'HTTP',
    'googlekey' => '6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f',
    'pageurl' => 'http://google.com',
    'action' => 'example/action',
    'min_score' => 0.3
);
//Create a json string
$json = json_encode($data);

//Put the type and the json payload
$extra = [
    'type' => 5,
    'token_params' => $json,
];

// Put null the first parameter and add the extra payload
if ($captcha = $client->decode(null, $extra)) {
    echo "CAPTCHA {$captcha['captcha']} uploaded\\n";

    sleep(DeathByCaptcha_Client::DEFAULT_TIMEOUT);

    // Poll for CAPTCHA indexes:
    if ($text = $client->get_text($captcha['captcha'])) {
        echo "CAPTCHA {$captcha['captcha']} solved: {$text}\\n";

        // Report an incorrectly solved CAPTCHA.
        // Make sure the CAPTCHA was in fact incorrectly solved!
        //$client->report($captcha['captcha']);
    }
}
# recaptcha_v3
import deathbycaptcha
import json

# Put your DBC account username and password here.
username = "username"
password = "password"

# you can use authtoken instead of user/password combination
# activate and get the authtoken from DBC users panel
authtoken = "authtoken"

# to use socket client
# client = deathbycaptcha.SocketClient(username, password)

# to use authtoken
# client = deathbycaptcha.SocketClient(username, password, authtoken)

client = deathbycaptcha.HttpClient(username, password)

# Put the proxy and recaptcha_v3 data
# recaptcha_v3 requires 'action' that is the action that triggers
# recaptcha_v3 validation
# if 'action' isn't provided we use the default value "verify"
# also you need to provide 'min_score', a number from 0.1 to 0.9,
# this is the minimum score acceptable from recaptchaV3

Captcha_dict = {
    'proxy': 'http://user:[email protected]:1234',
    'proxytype': 'HTTP',
    'googlekey': '6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f',
    'pageurl': 'http://google.com',
    'action': "example/action",
    'min_score': 0.3}

# Create a json string
json_Captcha = json.dumps(Captcha_dict)

try:
    balance = client.get_balance()
    print(balance)

    # Put your CAPTCHA type and Json payload here:
    captcha = client.decode(type=5, token_params=json_Captcha)
    if captcha:
        # The CAPTCHA was solved; captcha["captcha"] item holds its
        # numeric ID, and captcha["text"] item it's a list of "coordinates".
        print("CAPTCHA %s solved: %s" % (captcha["captcha"], captcha["text"]))

        if '':  # check if the CAPTCHA was incorrectly solved
            client.report(captcha["captcha"])

except deathbycaptcha.AccessDeniedException:
    # Access to DBC API denied, check your credentials and/or balance
    print("error: Access to DBC API denied, check your credentials and/or balance")
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
import org.json.JSONObject;

import java.io.IOException;

class ExampleRecaptchaV3 {
    public static void main(String[] args)
            throws Exception {

        // Put your DBC username & password or authtoken here:
        String username = "your_username_here";
        String password = "your_password_here";
        String authtoken = "your_authtoken_here";

        /* Death By Captcha Socket Client
           Client client = (Client) (new SocketClient(username, password));
           Death By Captcha http Client */
        Client client = (Client) (new HttpClient(username, password));
        client.isVerbose = true;

        /* Using authtoken
           Client client = (Client) new HttpClient(authtoken); */

        try {
            try {
                System.out.println("Your balance is " + client.getBalance()
                                                    + " US cents");
            } catch (IOException e) {
                System.out.println("Failed fetching balance: " + e.toString());
                return;
            }

            Captcha captcha = null;
            try {
                // Proxy and recaptcha_v3 token data
                String proxy = "http://user:[email protected]:1234";
                String proxytype = "HTTP";
                String googlekey = "6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f";
                String pageurl = "http://google.com";
                String action = "example/action";
                double min_score = 0.3;
                /* Upload a recaptcha_v3 and poll for its status with 120 seconds timeout.
                   Put your proxy, proxy type, page googlekey, page url,
                   action, min_score and solving timeout (in seconds)
                   0 or nothing for the default timeout value. */
                captcha = client.decode(5, proxy, proxytype, googlekey, pageurl, action, min_score);

                //other method is to send a json with the parameters
                /*
                JSONObject json_params = new JSONObject();
                json_params.put("proxy", proxy);
                json_params.put("proxytype", proxytype);
                json_params.put("googlekey", googlekey);
                json_params.put("pageurl", pageurl);
                json_params.put("action", action);
                json_params.put("min_score", min_score);
                captcha = client.decode(5, json_params);
                */
            } catch (IOException e) {
                System.out.println("Failed uploading CAPTCHA");
                return;
            }
            if (null != captcha) {
                System.out.println("CAPTCHA " + captcha.id + " solved: "
                                                        + captcha.text);

                /* Report incorrectly solved CAPTCHA if necessary.
                   Make sure you've checked if the CAPTCHA was in fact incorrectly
                   solved, or else you might get banned as abuser. */
                /*try {
                    if (client.report(captcha)) {
                        System.out.println("Reported as incorrectly solved");
                    } else {
                        System.out.println(
                            "Failed reporting incorrectly solved CAPTCHA");
                    }
                } catch (IOException e) {
                    System.out.println(
                       "Failed reporting incorrectly solved CAPTCHA:" + e.toString());
                }*/
            } else {
                System.out.println("Failed solving CAPTCHA");
            }
        } catch (com.DeathByCaptcha.Exception e) {
            System.out.println(e);
        }

    }
}
// recaptcha_V3

using System;
using System.Collections;
using DeathByCaptcha;

namespace DeathByCaptcha
{
    public class RecaptchaV3Example
    {
        static public void Main(string[] argv)
        {
            // Put your DeathByCaptcha account username and password here.
            string username = "my_username";
            string password = "my_password";
            // string token_from_panel = "your-token-from-panel";

            /* Death By Captcha Socket Client
               Client client = (Client) new SocketClient(username, password);
               Death By Captcha http Client */
            Client client = (Client) new HttpClient(username, password);

            /* To use token authentication the first parameter must be "authtoken".
            Client client = (Client) new HttpClient("authtoken", token_from_panel); */

            // Put your Proxy credentials and type here
            // string proxy = "http://user:[email protected]:1234";
            // string proxyType = "HTTP";
            string proxy = "";
            string proxyType = "";
            string googlekey = "6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f";
            string pageurl = "http://google.com";

            /* - recaptcha_V3 requires 'action' that is the action that triggers
               recaptcha_V3 validation
               - if 'action' isn't provided we use the default value "verify"
               - also you need to provide 'min_score', a number from 0.1 to 0.9,
               this is the minimum score acceptable from recaptchaV3 */
            string action = "example/action";
            double min_score = 0.3;

            string tokenParams = "{\"proxy\": \"" + proxy + "\"," +
                                "\"proxytype\": \"" + proxyType + "\"," +
                                "\"googlekey\": \"" + googlekey + "\"," +
                                "\"pageurl\": \"" + pageurl + "\"," +
                                "\"action\": \"" + action + "\"," +
                                "\"min_score\": \"" + min_score + "\"}";

            try
            {
                double balance = client.GetBalance();

                /* Upload a CAPTCHA and poll for its status.  Put the Token CAPTCHA
                   Json payload, CAPTCHA type and desired solving timeout (in seconds)
                   here. If solved, you'll receive a DeathByCaptcha.Captcha object. */
                Captcha captcha = client.Decode(Client.DefaultTimeout,
                    new Hashtable()
                    {
                        {"type", 5},
                        {"token_params", tokenParams}
                    });

                if (null != captcha)
                {
                    /* The CAPTCHA was solved; captcha.Id property holds
                    its numeric ID, and captcha.Text holds its text. */
                    Console.WriteLine("CAPTCHA {0} solved: {1}", captcha.Id,
                        captcha.Text);

    //                  if ( /* check if the CAPTCHA was incorrectly solved */)
    //                  {
    //                      client.Report(captcha);
    //                  }
                }
            }
            catch (AccessDeniedException e)
            {
                /* Access to DBC API denied,
                            check your credentials and/or balance */
                Console.WriteLine("<<< catch : " + e.ToString());
            }
        }
    }
}
Imports System
Imports System.Threading
Imports System.Collections

Imports DeathByCaptcha

Public Class RecaptchaV3
    Public Shared Sub Main(ByVal args As String())

        ' Put your DBC username & password or authtoken here:
        Dim username = "username"
        Dim password = "password"
        Dim token_from_panel = "your-token-from-panel"

        ' DBC Socket API client
        ' Dim client As New SocketClient(username, password)
        ' DBC HTTP API client
        Dim client As New HttpClient(username, password)

        ' To use token auth the first parameter must be "authtoken"
        ' Dim client As New HttpClient("authtoken", token_from_panel)

        ' Proxy and recaptcha_v3 token data
        Dim proxy = "http://user:[email protected]:1234"
        Dim proxyType = "HTTP"
        Dim googlekey = "6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f"
        Dim pageurl = "http://google.com"

        ' recaptcha_v3 requires 'action' that is the action that triggers
        ' recaptcha_v3 validation
        ' if 'action' isn't provided we use the default value "verify"
        ' also you need to provide 'min_score', a number from 0.1 to 0.9,
        ' this is the minimum score acceptable from recaptchaV3
        Dim action = "example/action"
        Dim min_score = 0.3

        Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
                                        client.Balance))

        ' Create a JSON with the extra data
        Dim tokenParams = "{""proxy"": """ + proxy + """," & _
                        """proxytype"": """ + proxyType + """," & _
                        """googlekey"": """ + googlekey + """," & _
                        """pageurl"": """ + pageurl + """," & _
                        """action"": """ + action + """," & _
                        """min_score"": """ + min_score + """}"

        ' Create the payload with the type and the extra data
        Dim extraData As New Hashtable()
        extraData.Add("type", 5)
        extraData.Add("token_params", tokenParams)

        ' Upload a CAPTCHA and poll for its status.  Put the Token CAPTCHA
        ' Json payload, CAPTCHA type and desired solving timeout (in seconds)
        ' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
        Dim captcha As Captcha = client.Decode(DeathByCaptcha.Client.DefaultTimeout, extraData)
        If captcha IsNot Nothing Then
            Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}", captcha.Id,
                                            captcha.Text))

            ' Report an incorrectly solved CAPTCHA.
            ' Make sure the CAPTCHA was in fact incorrectly solved, do not
            ' just report it at random, or you might be banned as abuser.
            ' If client.Report(captcha) Then
            '    Console.WriteLine("Reported as incorrectly solved")
            ' Else
            '    Console.WriteLine("Failed reporting as incorrectly solved")
            ' End If
        End If
    End Sub
End Class
/*
* Death by Captcha Node.js API recaptcha_v3 usage example
*/

const dbc = require('deathbycaptcha');

const username = 'username';     // DBC account username
const password = 'password';     // DBC account password
const token_from_panel = 'your-token-from-panel';   // DBC account authtoken

// Proxy and recaptcha_v3 token data
// recaptcha_v3 requires 'action' that is the action that triggers
// recaptcha_v3 validation
// if 'action' isn't provided we use the default value "verify"
// also you need to provide 'min_score', a number from 0.1 to 0.9,
// this is the minimum score acceptable from recaptchaV3
const token_params = JSON.stringify({
    'proxy': 'http://username:[email protected]:3128',
    'proxytype': 'HTTP',
    'googlekey': '6Lc2fhwTAAAAAGatXTzFYfvlQMI2T7B6ji8UVV_f',
    'pageurl': 'http://google.com',
    'action': 'example/action',
    'min_score': 0.3
});

// Death By Captcha Socket Client
// const client = new dbc.SocketClient(username, password);
// Death By Captcha http Client
const client = new dbc.HttpClient(username, password);

// To use token authentication the first parameter must be "authtoken"
// const client = new dbc.HttpClient("authtoken", token_from_panel);

// Get user balance
client.get_balance((balance) => {
    console.log(balance);
});

// Solve captcha with type 5 & token_params extra arguments
client.decode({extra: {type: 5, token_params: token_params}},
(captcha) => {

    if (captcha) {
        console.log('Captcha ' + captcha['captcha'] + ' solved: '
                                                + captcha['text']);

        /*
        * Report an incorrectly solved CAPTCHA.
        * Make sure the CAPTCHA was in fact incorrectly solved!
        * client.report(captcha['captcha'], (result) => {
        *   console.log('Report status: ' + result);
        * });
        */
    }

});

Built for Developers & Automation

Death By Captcha provides scalable infrastructure, hybrid solving technology, and developer-first API workflows for modern automation systems.

Fast Solving

Optimized infrastructure delivers fast reCAPTCHA v3 token generation for automation workflows.

Hybrid AI + Humans

Advanced OCR technology combined with 24/7 human solvers improves reliability and accuracy.

Proxy Support

Configure HTTP proxies directly inside API requests for advanced workflow consistency.

Multi SDK Support

Integrate quickly using Python, PHP, Node.js, Java, C#, Selenium, and more.

Scalable Platform

Infrastructure designed to support enterprise workloads and large automation projects.

Reliable Service

Over a decade of operational experience delivering CAPTCHA solving services worldwide.

Trusted CAPTCHA Infrastructure

Developer-focused CAPTCHA solving services designed for speed, reliability, and scale.

17+
Years Experience
24/7
Global Availability
16´s
Solve Time
99%
Accuracy Rate

Simple Integration Workflow

Start solving reCAPTCHA v3 challenges using a streamlined developer-friendly API workflow.

1

Create Request

Submit the target page URL, site key, and optional proxy configuration.

2

Generate Token

Receive the generated reCAPTCHA v3 token through the API response.

3

Complete Workflow

Use the returned token inside your automation systems and application flows.

Frequently Asked Questions

Common questions about integrating Death By Captcha reCAPTCHA v3 Solver API.

What is a reCAPTCHA v3 Solver API?

A reCAPTCHA v3 solver API generates invisible, score-based verification tokens (0.0 to 1.0) that can be used within automated workflows and integrations, with action and min_score parameters.

What is the action parameter in reCAPTCHA v3?

The action parameter separates different captcha validations on a site (e.g. login, register, sales). It is typically found by inspecting the grecaptcha.execute call in the page's JavaScript. The default value is "verify" if not provided.

What is min_score in reCAPTCHA v3?

min_score is the minimum acceptable score from reCAPTCHA v3, ranging from 0.1 to 0.9. Death By Captcha recommends a value of 0.3, since higher scores are harder to obtain.

What are the POST parameters for the reCAPTCHA v3 API?

The API requires type=5 plus a token_params JSON payload containing proxy, proxytype, googlekey, pageurl, action, and min_score. If proxy is provided, proxytype is required.

Which programming languages are supported?

Death By Captcha supports Python, PHP, Java, Node.js, C#, Selenium, and additional SDK integrations.

What is the token lifespan for reCAPTCHA v3?

The reCAPTCHA v3 token is valid for one use and has a 1 minute lifespan. It is returned in the "text" field of the API response.

Start Solving reCAPTCHA v3 Today

Explore the API documentation and integrate enterprise-ready CAPTCHA solving infrastructure into your automation workflows.

Start now