API

Para fines de automatización, Death By Captcha (DBC) proporciona API para que los usuarios y desarrolladores se integren con cualquier software dado.

El proceso para resolver es el siguiente:

¡Consulte los detalles de nuestra API a continuación para obtener información y recursos adicionales para implementar DBC utilizando su(s) herramienta(s) y/o lenguaje de programación favoritos!

Versión: 4.6

Clientes de terceros

require_once 'deathbycaptcha.php';
// Put your DBC credentials here.
// Use DeathByCaptcha_HttpClient class if you want to use HTTP API.
$client = new DeathByCaptcha_SocketClient(USERNAME, PASSWORD);

// Put the CAPTCHA file name or handler, and desired timeout (in seconds) here:
if ($captcha = $client->decode(CAPTCHA_FILE_NAME, TIMEOUT)) {
    echo $captcha['text'] . "\n";
    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        $client->report($captcha['captcha']);
    }
}
// Repeat for other CAPTCHAs
require_once 'deathbycaptcha.php';
// Put your DBC credentials here.
// Use DeathByCaptcha_HttpClient class if you want to use HTTP API.
// To use token username must be authtoken.
$client = new DeathByCaptcha_SocketClient("authtoken", token-from-panel);

// Put the CAPTCHA file name or handler, and desired timeout (in seconds) here:
if ($captcha = $client->decode(CAPTCHA_FILE_NAME, TIMEOUT)) {
    echo $captcha['text'] . "\n";

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        $client->report($captcha['captcha']);
    }
}
// Repeat for other CAPTCHAs
// Do not forget to reference DeathByCaptcha.dll in your project!
using DeathByCaptcha;

// Put your DBC credentials here.
// Use HttpClient class if you want to use HTTP API.
Client client = (Client) new SocketClient(USERNAME, PASSWORD);

// Put your CAPTCHA file name, stream, or vector of bytes,
// and desired timeout (in seconds) here:
Captcha captcha = client.Decode(CAPTCHA_FILE_NAME, TIMEOUT);
if (captcha.Solved && captcha.Correct) {
    Console.WriteLine("CAPTCHA {0}: {1}", captcha.Id, captcha.Text);

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        client.Report(captcha);
    }
}

// Repeat for other CAPTCHAs
// Do not forget to reference DeathByCaptcha.dll in your project!
using DeathByCaptcha;

// Put your DBC credentials here.
// Use HttpClient class if you want to use HTTP API.
// Using token authentication in C#/VB, username must be authtoken.

Client client = (Client) new SocketClient("authtoken", token-from-panel);

// Put your CAPTCHA file name, stream, or vector of bytes,
// and desired timeout (in seconds) here:
Captcha captcha = client.Decode(CAPTCHA_FILE_NAME, TIMEOUT);
if (captcha.Solved && captcha.Correct) {
    Console.WriteLine("CAPTCHA {0}: {1}", captcha.Id, captcha.Text);

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        client.Report(captcha);
    }
}

// Repeat for other CAPTCHAs
We are using command line dotnet 6+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the C# source code.

Download C# Selenium project from the list above

Edit Program.cs and put your credentials there
string _username = "DBC_USERNAME";
string _password = "DBC_PASSWORD";

In the folder where .csproj file is located
Do the following comands to run the example:

dotnet restore to install the requirements
dotnet build to build the project
dotnet run to run the project

dotnet clean to clean the project


// Repeat for other CAPTCHAs
We are using Maven 3.6+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the Java source code.

Download Java Selenium project from the list above

Edit App.java and put your credentials there
Client client = new HttpClient("DBC_USERNAME", "DBC_PASSWORD");

In the folder where pom.xml file is located
Do the following comands to run the example:

mvn clean install -U to clean project and install dependencies
mvn exec:java -Dexec.mainClass="deathbycaptcha.App" to build the project

mvn clean to clean the project

Refer to Java and Maven project examples to more detail
We are using NodeJS v12+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the NodeJS source code.

Download NodeJS Selenium project from the list above

Edit nodeSeleniumExample.js and put your credentials there

const USERNAME = 'DBC_USERNAME'   // Your DBC username here
const PASSWORD = 'DBC_PASSWORD'   // Your DBC password here

In the folder where package.json file is located
Do the following comands to run the example:

npm install // to install dependencies
node recaptcha_example/nodeSeleniumExample.js // to run the example

Refer to NodeJS project examples to more detail
We are using Python v3+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the Python3 source code.

Download Python3 Selenium project from the list above

Edit python_selenium_example.py and put your credentials there

USERNAME = 'DBC_USERNAME'   # Your DBC username here
PASSWORD = 'DBC_PASSWORD'   # Your DBC password here

In the folder where requirements.txt file is located
Do the following comands to run the example:

python3 -m venv venv to create a new python3 venv
. venv/bin/activate to activate the venv
pip3 install -r requirements.txt to install dependencies
python3 python_selenium_example.py

Refer to Python3 project examples to more detail
Create new Python3 virtual environment

python3 -m venv venv

Activate the virtual environment
. venv/bin/activate

Install DeathByCaptcha library from pypi

pip install deathbycaptcha-official

Create our python3 script

import  deathbycaptcha
# don't forget to import deathbycaptcha library
username = 'username'
password = 'password'
authtoken =  ''
...

use the DeathByCaptcha python http client
http_client = deathbycaptcha.HttpClient(username, password, authtoken)
or use the DeathByCaptcha python sockets client
socket_client = deathbycaptcha.SocketClient(username, password, authtoken)

Refer to Python3 project examples to more detail.
Create new Maven project

mvn archetype:generate
-DgroupId=examples
-DartifactId=deathbycaptcha-examples
-DarchetypeArtifactId=maven-archetype-quickstart
-DarchetypeVersion=1.4
-DinteractiveMode=false

Include the following dependencies on maven pom.xml file

<dependencies>
<dependency>
<groupId>io.github.deathbycaptcha</groupId>
<artifactId>deathbycaptcha-java-library</artifactId>
<version>0.43</version>
</dependency>
</dependencies>

if the pom.xml is correct.
We can use the imports on our java files.

import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
...

Clean and build the project
mvn clean install -U
Run the project
mvn exec:java -Dexec.mainClass="examples.GetBalance" -Dexec.args=""
mvn exec:java -Dexec.mainClass="examples.ExampleFuncaptcha"
mvn exec:java -Dexec.mainClass="examples.ExampleHcaptcha"
mvn exec:java -Dexec.mainClass="examples.ExampleRecaptchaV2"
...

Refer to Java and Maven project examples to more detail

Cuando use clientes de Socket API, asegúrese de no tener conexiones TCP salientes a los puertos 8123-8130 mediante Firewall. Use clientes de API HTTP si los clientes API de socket no funcionan para usted. El rango de puertos 8123-8130 es solo para API de socket, no intente usarlo con la API HTTP!

Tenga en cuenta que la llamada a la función/método de decodificación puede devolver un valor nulo si se alcanza el tiempo de espera antes de que se resuelva la captcha. Si esto sucede a menudo, aumente el tiempo de espera utilizado.

Para obtener más detalles, consulte ejemplos incluidos en cada paquete de cliente API y verifique el código fuente del cliente.

  1. Para verificar su saldo, ejecute:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -b
    O usando token de autenticación
    deathbycaptcha.exe -a AUTHTOKEN -b
    Su saldo se guardará en el archivo balance.txt y saldra imprimido en la salida estándar.
  2. Para subir un captcha, ejecute:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -c CAPTCHA_FILE_NAME [-t TIMEOUT]
    O usando token de autenticación
    deathbycaptcha.exe -a AUTHTOKEN -c CAPTCHA_FILE_NAME [-t TIMEOUT]
    El tiempo de espera de resolución de captcha predeterminado es de 60 segundos.
    Si se resuelve, el ID del Captcha se guardará en id.txt , el texto del Captcha se guardará en respuesta.txt , y tanto ID como texto se imprimirán en el Salida estándar separada por un espacio.
  3. Para informar un captcha resuelto incorrectamente, ejecute:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
    O usando token de autenticación
    deathbycaptcha.exe -a AUTHTOKEN -n CAPTCHA_ID

Antes de implementar su propio Death By Captcha Cliente HTTP API, por favor considere seriamente el uso de la API de socket con uno de nuestros clientes oficiales mencionados anteriormente.

La URL de la API es http://api.dbcapi.me/api/. La ruta de url cambia dependiendo de la acción deseada. Todas las respuestas de las solicitudes realizadas a la API tienen dos campos comunes:

  • status — estado de la solicitud. 0 Si no hubo errores durante el procesamiento de solicitudes internos, 255 de lo contrario.
  • error — Breve explicación del error ocurrido. Solo se tiene cuando el estado es 255.

Para obtener detalles sobre la ruta de URL correcta y otros campos devueltos para una acción específica, consulte su sección a continuación.

All API responses are returned URL-encoded by default. If JSON encoding is desired, include application/json in the Accept header of your request. Note that boolean true will be returned as 1 in URL-encoded responses and as true in JSON-encoded responses. Boolean false will be returned as 0 in URL-encoded responses and as false in JSON-encoded responses.

¿Qué son los desafíos de "captcha normal"?

Esta forma de CAPTCHA se basa en imágenes y requiere ingresar una secuencia de letras o números de una imagen distorsionada.

Para subir un captcha, emita una solicitud POST multipart/form-data a http://api.dbcapi.me/api/captcha. La solicitud debe contener los siguientes campos:

  • username — Tu nombre de usuario Death By Captcha.
  • password — Su contraseña Death By Captcha.
  • captchafile — la imagen de Captcha.

En caso de que esté utilizando la autenticación de token:

  • authtoken — Tu token de autenticación Death By Captcha.
  • captchafile — la imagen de Captcha.

captchafile Debe ser un archivo de imagen CAPTCHA sin procesar o una imagen CAPTCHA codificada en base64, con el prefijo base64: agregado. El tamaño del archivo de imagen está limitado a menos de 180 KB. Cuando la imagen se codifica en base64, su tamaño debe ser menor a 120 KB. Los formatos de imagen admitidos son JPG, PNG, GIF y BMP.

Aquí está el formulario HTML que hace el truco:

<form action="http://api.dbcapi.me/api/captcha"method="post" enctype="multipart/form-data">
    <input type="text"     name="username" value="">
    <input type="password" name="password" value="">
    <input type="file"     name="captchafile">
</form>

O usando la autenticación de token:

<form action="http://api.dbcapi.me/api/captcha"method="post" enctype="multipart/form-data">
    <input type="text"     name="authtoken" value="">
    <input type="file"     name="captchafile">
</form>

Aquí está el comando curl equivalente:

curl --header 'Expect: ' -F username=YOUR_USERNAME  -F password=YOUR_PASSWORD  -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha

O usando la autenticación de token:

curl --header 'Expect: ' -F authtoken=YOUR_AUTHTOKEN  -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha

El campo base64-encoded captchafile debería verse así:

base64:R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==

Obtendrá una de las siguientes respuestas HTTP:

  • 303 See Other Si su Captcha se cargó correctamente, el encabezado HTTP Location le indicará la página de estado del captcha subido, puede seguir la ubicación que obtenga del estado de captcha subido. Además, se devolverán los siguientes campos:
    • captcha — ID del captcha subido.
    • is_correct — 1 Si se ha identificado una respuesta para este captcha o si todavía se está procesando, 0 si el procesamiento termina y no se pudo encontrar ninguna respuesta.
    • text — Respuesta de Captcha. Una cadena vacía significa que el Captcha aún no está resuelto.
    Ejemplo codificado de URL:
    status=0&captcha=123&is_correct=1&text=
    Ejemplo con codificación JSON:
    { "status": 0, "captcha": 123, "is_correct": 1, "text": "" }
  • 403 Forbidden Si sus credenciales Death By Captcha fueron rechazadas o no tiene suficientes créditos.
  • 400 Bad Request Si su solicitud no siguió la especificación anterior, o el Captcha fue rechazado por no ser una imagen válida.
  • 500 Internal Server Error Si algo sucedió de nuestro lado evitando que suba la captcha; Si está seguro de que está enviando solicitudes correctamente estructuradas con imágenes Captcha válidas, pero el problema persiste, comuníquese con nuestro soporte en vivo y dígales en detalle cómo reproducir el problema.
  • 503 Service Temporarily Unavailable Cuando nuestro servicio esté sobrecargado, intente nuevamente más tarde.

En este punto, el CAPTCHA que acaba de subir puede no haber sido resuelto todavía! Si no recibió la respuesta en el campo text de la respuesta del servidor, debe consultarlo. Consulte Consulta para el estado del CAPTCHA cargado para obtener más detalles.

Para obtener el estado de un captcha cargado, emita una solicitud GET para obtener http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%, Donde %CAPTCHA_ID% es la identificación de su CAPTCHA cargado adquirida al cargar el CAPTCHA. Esta vez no tiene que proporcionar sus credenciales Death By Captcha. La respuesta será una respuesta HTTP 200 OK con los mismos campos descritos para el 303 Ver Otro de la sección Carga de CAPTCHA.

Si el captcha aún no se resuelve, text vendrá vacío. Tendrás que seguir consultando para esta respuesta. Respuestas de ejemplo:

  • Respuesta codificada por URL de un captcha correctamente resuelto
    status=0&captcha=1234&is_correct=1&text=tyrone+slothrop
  • Respuesta codificada por JSON de un captcha correctamente resuelto
    { "captcha": 1234, "is_correct": true,"status": 0, "text": "tyrone slothrop" }
  • Respuesta codificada por JSON de un captcha resuelto incorrectamente
    { "captcha": 1234, "is_correct": false, "status": 0, "text": "?" }
  • Respuesta codificada por JSON de una captcha inexistente
    { "captcha": 0, "status": 0 }
    Si obtiene esta respuesta, confirme que la ID de la Captcha que está utilizando para consultar la respuesta es la misma que se devuelve cuando se cargó. Si el problema persiste, no dude en contáctarnos.

Por favor, no consulte un estado de captcha más de una vez en un par de segundos.
Esto se considera abusivo y podría llevarte a ser baneado.
Conserva tu ancho de banda y el nuestro.

Si cree que su captcha se resolvió incorrectamente, infórmelo a Death By Captcha para recuperar su dinero. Para hacerlo, emita una solicitud POST a http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%/report con los siguientes campos:

  • username — Tu nombre de usuario Death By Captcha.
  • password — Su contraseña Death By Captcha.

O usando token de autenticación:

  • authtoken — Tu token de autenticación Death By Captcha.

La respuesta será:

  • 200 OK Si se completó el reporte. En este caso, sus créditos serán reembolsados. El cuerpo de respuesta será el mismo que para una consulta (o subida) pero el campo is_correct será 0. Ejemplo:
    { "captcha": 1234, "is_correct": false,"status": 0, "text": "tyrone slothrop" }
  • 503 Service Unavailable Si el reporte no pudiera completarse. Esto podría deberse a que:
    1) Captcha correspondiente al ID proporcionado no fue cargado por el usuario que lo informó;
    2) Su usuario está baneado;
    3) El informe se realizó más de una hora después de que se cargó. En este caso, no serás reembolsado.

¡Abusar de esta característica te baneara!

Para verificar su saldo de crédito, emita una solicitud GET a http://api.dbcapi.me/api con los siguientes campos:

  • username — Tu nombre de usuario Death By Captcha.
  • password — Su contraseña Death By Captcha.

O usando token de autenticación:

  • authtoken — Tu token de autenticación Death By Captcha.

En la autenticación exitosa, obtendrá 200 OK Respuesta con sus Detalles de la cuenta Death By Captcha, ya sea en codificación de URL o JSON, con los siguientes campos:

  • user — su ID de cuenta Death By Captcha;
  • rate — Cuánto le cobramos por un Captcha correctamente resuelto, en US¢;
  • balance — Su saldo de crédito actual, en US¢.
  • is_banned — 1 Si el usuario está baneado, 0 si no.

Ejemplo de respuesta codificada por JSON:

{ "is_banned": false, "status": 0, "rate": 0.139,"balance": 455.23, "user": 43122 }

Para recibir el estado actual del servidor, emita una solicitud GET a http://api.dbcapi.me/api/status. La respuesta tendrá los siguientes campos:

  • todays_accuracy — número que representa la precisión en el porcentaje (por ejemplo, 99.6 representa el 99.6%)
  • solved_in — Tiempo de resolución promedio en segundos
  • is_service_overloaded — 1 Si el servicio está sobrecargado, 0 de lo contrario

Ejemplo de respuesta codificada por JSON:

{ "status": 0, "todays_accuracy": 99.9, "solved_in": 5.3,"is_service_overloaded": false }
Death By Captcha API también es compatible con la autenticación de tokens (tanto Socket como HTTP), Aprenda a usar la autenticación de tokens con nuestra API .

Estado: OK

Los servidores están completamente operativos con un tiempo de respuesta más rápido que el promedio.
  • Tiempo medio de resolución
  • 6 segundos - Normal CAPTCHAs (1 min. atrás)
  • 28 segundos - reCAPTCHA V2, V3, etc (1 min. atrás)
  • 16 segundos - hCAPTCHA & otros (1 min. atrás)
Chrome and Firefox logos
Extensiones de navegador disponibles

Actualizaciones

  1. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly
  2. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf
  3. Nov 01: Today our Socket API was affected by a technical issue for a few hours. It's now sorted and back to 100%, working optimally. We sincerely apologize for the inconvenience this may have caused you. If you were affected, please don't hesitate to contact us: https://deathbycaptcha.com/contact and we'll be happy to assist/compensate you!

  4. Actualizaciones anteriores…

Apoyo

Nuestro sistema está diseñado para ser completamente fácil de usar. Si tiene algún problema con él, simplemente envíenos un correo electrónico a Correo electrónico de soporte técnico de DBC com, y un agente de soporte se comunicará con usted lo antes posible.

Soporte en vivo

Disponible de lunes a viernes (10 am a 4 pm EST) Live support image. Link to live support page