API2023-02-07T16:47:12+00:00

Death By Captcha - API

Death By Captcha API (Condensed)

OVERVIEW

The Death By Captcha API allows you to bypass the most popular captchas in a simple and effective manner. We retrieve most of the captchas with just the URL and Sitekey, there are some other captchas which require an image(s) to be uploaded. Featuring support for Text Captcha, reCaptcha, Funcaptcha and many other.

API KEY?

We make it easier, you can use your Death By Captcha username and password, no need for an API Key. 2FA can be enabled and then configured to be used instead of your username and password for higher security levels.

OUR SERVERS

http://api.deathbycaptcha.com/

http://api.dbcapi.me/

If you need to allow our IP addresses in your firewall you can use the IP address lookup tool of your preference to locate the current IPs of our servers.

ENDPOINTS

GET

Used to check Death By Captcha server status, accuracy rate, average solving time:

http://api.dbcapi.me/api/status


GET

Used to check balance, account status:

http://api.dbcapi.me/api/user?username={yourUsername}&password={yourPassword}

Balance is displayed in US¢ (cents).


POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha


GET

Used to check captcha status and text of the solved captcha:

http://api.dbcapi.me/api/captcha/{captcha_id}


POST

Report a captcha that has been incorrectly solved:

http://api.dbcapi.me/api/captcha/{captcha_id}/report

COMMON API EXCEPTIONS

500: Insufficient balance, incorrect credentials.

Could as well be caused due to IP issues, please contact support if you have enough balance and the right credentials are being used.

503: Captcha rejected due to server overload.

This is a temporary server side issue, at that moment our servers are running at top capacity due to high demand levels, you can still solve captchas however some of them may take longer to be resolved or get rejected (in which case you are not billed for them).

255: Not logged in. Make sure the right username and password are being used.

400, 413: Captcha was rejected by the service, check image is valid.

Connection lost/not established: Our SOCKET client needs port range 8123–8130. TCP outgoing traffic should be allowed for those ports (only for SOCKET, not HTTP API).

RATES
Type Rate (cost per each 1,000 captchas solved)

Text | Math Captcha

$1.39

ReCaptcha v2 via Token

$2.89

ReCaptcha v2 via Image Groups | Coordinates

$3.99

ReCaptcha v3

$2.89

Funcaptcha

$3.99

hCaptcha

$1.79

Geetest

$2.89

Text | Math Captcha

OVERVIEW

Text captcha is usually represented as text which is blurry or distorted, on the other hand Math Captcha contains a simple arithmetic problem that needs to be solved, we can solve both with the same API, you need to upload the captcha image to our client and then we produce the resolution text and return it to you, that response should be submitted to the target website via DOM manipulation or via form submission with a POST request to complete the automation process.

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS

We need your Death By Captcha credentials/Authentication token and the image file. All parameters are required. We expect an image in any of the following file formats: JPG, PNG, GIF and BMP, TXT (base64 encoded image).

Required Parameters:

username (String)

password (String)

captchafile (File)

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Note: Base64 encoded images should include the prefix "base64:" and then the encoded string of text (the string could be shorter or longer depending on the image size, your images should be smaller than 180 KB).

Format:

base64:4AAQSkZJ…PyoA//2Q==

HERE  you can download a model of an encoded image.


SOLVING TEXT CAPTCHA EXAMPLE
SOLVING CAPTCHAS WITH CMD

Commands:

Check balance:

        deathbycaptcha.exe -l '{username}' -p '{password}'

Solve captcha:

        deathbycaptcha.exe -l '{username}' -p '{password}' -c '{captcha_img_name}'

NOTE:  You can append '-t {timeout} -d '{directory}'' to the captcha upload command if preferred.

Report captcha:

        deathbycaptcha.exe -l '{username}' -p '{password}' -n '{captcha_id}'

If using 2FA use -a '{authtoken}' instead of -l '{username}' -p '{password}' .Ex:

        deathbycaptcha.exe -a '{authtoken}' -c '{captcha_img_name}'

ReCaptcha v2 (New reCaptcha)

OVERVIEW

ReCaptcha v2 also known as "I'm not a robot" captchas can be bypassed through our service, we can retrieve it with the URL of the webpage where the reCaptcha is located at and the Sitekey. You can use a proxy along with your API request (you can check our recommended proxy providers) to lower the changes of captcha rejections due to IP conflicts. Using a proxy is optional however. ReCaptchas are solved in 30-120 seconds, by default if the resolution takes longer than that captchas just time out and a question mark is returned (?) indicating an empty response.

There's an invisible version for reCaptcha v2 as well (it's identical to reCaptcha v3, check Image 1.0) and it is also solved using the method explained bellow.

  Image 1.0

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data type Value Example sub-keys and sub-values Use
username String

{DBC username}

Required
password String

{DBC password}

Required
type Integer 4 Required
token_params

File | JSON

{payload}

{

“proxy”: “http://username:password@proxy_server”,

“proxytype”: “http”,

“googlekey”: “6LeEnRsTAAAAAPHVIS06iy22BKCiUsqAyC7IrTVi“,

“pageurl”: “http://web-page-with-recaptcha.com/uri”

}

Required

Finding the Sitekey: You can open the Developer Tools of your favorite browser and on the "Elements" or "Inspector" tab search for "data-sitekey". If it can't be found then search for "iframe" (make sure that's the iframe tag that corresponds to the reCaptcha) and you will find it appended to the URL.

NOTES:

Using a proxy is optional, if you opt by not using one you can use empty strings as value for 'proxy' and 'proxytype' parameters.

Copy to Clipboard

If the reCaptchas are attempting to solve are the ones that appear while you are browsing the web with a message that reads "Unusual traffic from your computer network" and they are not getting solved with the method above then that's because they're subject to the new Google update and an additional (data-s) parameter should be added to your payload.

Finding data-s:

Then your JSON should look as follows:

Copy to Clipboard
RESOLVING RECAPTCHA V2

The process can be broken down in two modules:

  a) Receiving a token for the target website reCaptcha

       You should expect a 484 character long token from us after successful solution.

  b) Submitting the token to the target website.

       Can either be done by:

         a) Manipulating the DOM elements (JavaScript, WebDriver).

         b) POST form submission.

         c) Invoking the 'callback' function. In those scenarios where the reCaptcha doesn't have a Submit button or it's not contained in a HTML form.

       We will illustrate all three methods bellow.

PYTHON + SELENIUM CODE EXAMPLE

(DOM Manipulation)(Browser Automation)

      PYTHON + SELENIUM (Download our Python client, extract and replace 'new_recaptcha_token_image.py' with this content):

Copy to Clipboard

Expected output (wait to see output after balance is retrieved):

DBC PHP CLIENT + POST FORM SUBMISSION CODE EXAMPLE:

      PHP client +POST form submission (Download our PHP client, extract and replace 'example.newrecaptcha.token.php' content with this content):

Copy to Clipboard

Expected output (PHP & POST):

FINDING CALLBACK FUNCTION NAME

On the 'Elements' tab of your Development Tools press CTRL+F and search for 'data-callback'.

If there is not a HTML property with that name then go to the 'Console' tab, we need to make use of the variable 'callback' to find the function name. To call that variable we need to insert its path. So, the structure is as follows '___grecaptcha_cfg.clients[0].c.l.J.callback'. The path may change from site to site, so, we will show you how to find yours.

Once in the 'Console' tab paste: ___grecaptcha_cfg.clients[0]

'___grecaptcha_cfg' Is an array of objects for that reason you will need to use ___grecaptcha_cfg.clients[n] ('n' being any number (1, 2...)) traversing the array, if there are no elements in the first position, then trying with second position and so on. Once an element is found then we need the path of the object. The object path is usually 3 characters long, can be shorter.

We need to find the path of the object that contains the Sitekey. To find the object path we need expand each element and sub-element until the Sitekey is found.

In this case due to that each sub-path is represented by 'A' the complete path is: '___grecaptcha_cfg.clients[0].A.A.callback'. Insert it in console press 'Enter' and the name of the callback will display. On this example the name is 'onSubmit'.

JAVASCRIPT (FETCH API) CLIENT + CALLBACK

Required dependencies: json-object, node-fetch, form-data.

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

First let's run the client code above... Let's confirm the name of the callback function on the webpage, then copy the token produced by our API and insert it to the 'g-recaptcha-response' element. Finally invoke your callback function.

ReCaptcha v3

OVERVIEW

The invisible captcha or ReCaptcha v3 adds more complexity to the captcha bypass process, nothing to worry about however, we got you covered. If you've used our reCaptcha v2 API you are half way already, only two additional parameters are needed to complete their resolution with our service. You need to find the 'action' parameter on the target website and use 0.3 as value for the final parameter 'min_score' which is the score in which we can most optimally resolve them.

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data type Value Example sub-keys and sub-values Use
username String

{DBC username}

Required
password String

{DBC password}

Required
type Integer 5 Required
token_params

File | JSON

{payload}

{

“proxy”: “http://username:password@proxy_server”,

“proxytype”: “http”,

“googlekey”: “6LeEnRsTAAAAAPHVIS06iy22BKCiUsqAyC7IrTVi“,

“pageurl”: “http://web-page-with-recaptcha.com/uri”,

“action”: “verify”,

“min_score”: 0.3

}

Required

Finding the Sitekey: You can open the Developer Tools of your favorite browser and on the "Elements" or "Inspector" tab search for "data-sitekey". If it can't be found then search for "iframe" (make sure that's the iframe tag that corresponds to the reCaptcha) and you will find it appended to the URL.

Finding the 'action': It's very important finding the exact name of the 'action', an incorrect name could lead to empty responses from our server.

It's not always easy finding the 'action' name. However you can use your browser Developer Tools and on the elements of the page do a search (CTRL+F) for the method call "grecaptcha.execute" and you will find 'action' and its name inside of brackets.

NOTE ('action' parameter):

If you can't find the 'action' parameter on the target website you can use "verify" as the value in the payload which is the default value, in some cases "verify" will work as the action name.

NOTES:

Using a proxy is optional, if you opt by not using one you can use empty strings as value for 'proxy' and 'proxytype' parameters.

Copy to Clipboard

If the reCaptchas are attempting to solve are the ones that appear while you are browsing the web with a message that reads "Unusual traffic from your computer network" and they are not getting solved with the method above then that's because they're subject to the new Google update and an additional (data-s) parameter should be added to your payload.

Finding data-s:

Then your JSON should look as follows:

Copy to Clipboard
RESOLVING RECAPTCHA V3

The process can be broken down in two modules:

  a) Receiving a token for the target website reCaptcha

       You should expect a 484 character long token from us after successful solution.

  b) Submitting the token to the target website.

       Can either be done by:

         a) Manipulating the DOM elements (JavaScript, WebDriver).

         b) POST form submission.

         c) Invoking the 'callback' function. In those scenarios where the reCaptcha doesn't have a Submit button or it's not contained in a HTML form.

       We will illustrate all three methods bellow.

RECAPTCHA V3 SOLUTION EXAMPLES

Please check token submission methods for v2, the same methods can be used in most cases.

CURL RECAPTCHA V3
Copy to Clipboard
SUBMITTING TOKEN

You need to insert the token into the element 'g-recaptcha-response' or 'g-recaptcha-response-100000' via POST request.

RECAPTCHA V3 PHP + POST

Download our PHP client and open the class "example.newrecaptcha.token.php", insert type =5, add 'action' and 'min_score' parameters or just replace the code with the code bellow and customize accordingly.

Copy to Clipboard

Output:

New ReCaptcha/no Captcha

OVERVIEW

Suitable for those captchas which require manual selection of images. Can be reCaptcha or reCaptcha alike. We provide an API that can solve them with coordinates or the number corresponding to the positions on the grid which contain the image to select.

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS IMAGE GROUPS

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data Type Value Use
username String {dbc username} Required
password String {dbc password} Required
type Integer 3 Required
captchafile File {captcha file} Required
banner File {banner image} Required
banner_text String {banner text} Required
grid String {W x ht. (Ex.3×3)} Optional
SOLVING VIA IMAGE GROUPS
IMAGE GROUP EXPECTED RESPONSE

[3, 4, 7]

PARAMETERS COORDINATES

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data Type Value Use
username String {dbc username} Required
password String {dbc password} Required
type Integer 2 Required
captchafile File {captcha file} Required
SOLVING VIA COORDINATES
COORDINATES EXPECTED RESPONSE

[[23.21, 82.11]]

Funcaptcha

OVERVIEW

Most Funcaptchas are image rotation based. Images need to be aligned in the right position before the captcha can be marked as solved. We produce a token or key which satisfies the challenge and will allow you to proceed with your SEO / web scraping / automation task.

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data type Value Example sub-keys and sub-values Use
username String

{DBC username}

Required
password String

{DBC password}

Required
type Integer 6 Required

funcaptcha_params

File | JSON

{payload}

{

“proxy”: “http://username:password@proxy_server”,

“proxytype”: “http”,

“publickey”: “9F35E152-C93C-EACC-A41D-CF8ED317B796”,

“pageurl”: “http://web-page-with-funcaptcha.com/uri”

}

Required

NOTE: Using a proxy is optional, if you opt by not using one you can use empty strings as value for 'proxy' and 'proxytype' parameters.

Copy to Clipboard

Finding 'publickey': On your Development Tools go to 'Elements' tab and press CTRL+F, search for 'pkey', the public key is attached to a URL.

RESOLVING FUNCAPTCHA
FUNCAPTCHA cURL
Copy to Clipboard
EXPECTED RESPONSE

hCaptcha

OVERVIEW

Self-proclaimed a replacement for reCaptcha due to added benefits such as privacy is indeed having important websites switch from using reCaptcha to hCaptcha, the truth is it's rapidly increasing in popularity. Our API is hCaptcha ready, in fact is our newest release.

ENDPOINT

POST

Used to upload captchas:

http://api.dbcapi.me/api/captcha

PARAMETERS

If you are using 2FA you can use "authtoken" instead of "username" and "password" parameters.

Parameter Data type Value Example sub-keys and sub-values Use
username String

{DBC username}

Required
password String

{DBC password}

Required
type Integer 7 Required

hcaptcha_params

File | JSON

{payload}

{

“proxy”: “http://username:password@proxy_server”,

“proxytype”: “http”,

“sitekey”: “eaanfc67-ea9f-4844-9740-9eeff248c7dc“,

“pageurl”: “http://web-page-with-hcaptcha.com/uri”

}

Required

NOTE: Using a proxy is optional, if you opt by not using one you can use empty strings as value for 'proxy' and 'proxytype' parameters.

Copy to Clipboard

Finding 'sitekey': On your Development Tools go to 'Elements' tab and press CTRL+F, search for 'sitekey', you can easily find the property.

RESOLVING hCAPTCHA
hCAPTCHA cURL
Copy to Clipboard
EXPECTED RESPONSE

You should expect a token up to 3,342 characters long.

CONTACT US

Need help? Get in touch!

Please, refer to the Contact Us section of our website Clicking Here.