Loading ...
SignUp Login

Image Captcha API Information

To Help Developers who have already implemented the Death By Captcha API our API implementes the entire Death By Captcha API. If you have implemented the Death By Captcha API all you need to do is replace the Death By Captcha endpoint [ http://api.dbcapi.me ] with our endpoint [ http://captcha.api.blazingseollc.com ] and use your licenseKey in the username and password fields.

1. Uploading a CAPTCHA

To upload a CAPTCHA, issue a multipart/form-data POST request to http://captcha.api.blazingseollc.com/api/captcha. The request must contain the following fields:

  • licenseKey - your captcha license key;
  • captchafile - the CAPTCHA image.

You'll get one of the following HTTP responses:

  • 303 See Other if your CAPTCHA was successfully uploaded: Location HTTP header will point you to the uploaded CAPTCHA status page, you may follow the Location to get the uploaded CAPTCHA status or parse the CAPTCHA unique ID out of Location URL - the scheme is http://captcha.api.blazingseollc.com/api/captcha/%ID%;
  • 400 Forbidden if your credentials were missing;
  • 403 Forbidden because you currently have to many open threads

1a. noCaptcha

noCaptcha requires a few extra parameters.

  • type - set this to 3 for noCaptcha
  • banner_text - set this the question that comes from the no captcha Ex: "Select all images of taxis."

1b. reCaptcha Audio / SolveMedia Audio

audio requires you to specify the type parameter

  • type - set this to 4 for reCaptcha audio. MAJOR NOTE: Our current solving time for reCaptcha Audio is ~8 seconds. This means you MUST add a delay to your software before submitting the answer otherwise Google will block your IP and your answer. Why? How could a human solve an audio file that is 30 seconds in length (most reCaptcha audios are this long), in only 8 seconds? He couldn’t, Google isn’t dumb :).
  • type - set this to 5 for SolveMedia audio

2. Polling for uploaded CAPTCHA status

To get an uploaded CAPTCHA status, issue a GET request to http://captcha.api.blazingseollc.com/api/captcha/%ID%, where %ID% is your uploaded CAPTCHA ID acquired during the 1st step.

You'll get one of the following HTTP responses:

  • 200 OK with your uploaded CAPTCHA details (see below);
  • 404 Not Found if no CAPTCHAs with %CAPTCHA_ID% ID were found.

CAPTCHA details are made of the following fields:

  • captcha - CAPTCHA unique ID;
  • text - CAPTCHA text (empty string if not solved yet);
  • is_correct - flag whether the CAPTCHA was correctly solved.

By default you'll get the CAPTCHA details URL-encoded, like this:

captcha=1234&is_correct=1&text=tyrone+slothrop

However it is also possible to receive JSON-encoded details, like this:
{"captcha": 1234, "is_correct": true, "text": "tyrone slothrop"}

To do so, add application/json to your request's Accept HTTP header.

Please don't poll for a CAPTCHA status more than once in a couple of seconds.

2a. noCaptcha results

noCaptcha results are return as at least two numbers (1 - 9) corresponding to the image you should select. The numbers go from left to right top to bottom. So the top left picture is 1, the top right picture is 3, the bottom left picture is 7 and the bottom right picture is 9.

PHP Example - Sending the Captcha

This code initiates a curl request, sends the file and retrieves the redirect url. This example is an audio captcha. If you are sending a standard captcha do not include the type.

                   
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://captcha.api.blazingseollc.com/api/captcha");
curl_setopt($ch, CURLOPT_POST, 1);

$file = curl_file_create('audio.mp3');
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'username' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'captchafile' => $file,
    'type' => 4 //Do not include this for a standard captcha
));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
$last_url = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
                    

PHP Example - Retrieving the Captcha


$redirectCurl = curl_init();
curl_setopt($redirectCurl, CURLOPT_URL, $last_url); //Last URL comes from the previous example
curl_setopt($redirectCurl, CURLOPT_RETURNTRANSFER, true);    
$answered = false;
do {
    $output = curl_exec($redirectCurl);
    $status_code = curl_getinfo($redirectCurl, CURLINFO_HTTP_CODE);
    if ($status_code == 200) {
        $values = [];
        parse_str($output, $values);
        if ($values['text']) {
            $answer = $values['text'];
            $answered = true;
        }
    } else {
        $answer = false;
        break;
    }
        
    sleep(1);
} while(!$answered);

echo $answer;

Text Captcha API Information

To solve questions with the text captcha api make a POST request to http://tcaptcha.blazingseollc.com:5000/question with your question and your license key json encoded.

PHP Example


$url = 	'http://tcaptcha.blazingseollc.com:5000/question';
$data = array(
	"licenseKey" => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
	"question" => "what color is the sky?"
);		
$data_json = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                         
	'Content-Type: application/json',                                                                               
	'Content-Length: ' . strlen($data_json)
));
$return = json_decode(curl_exec($ch), true);		
echo $return['answer'];
					
SignUp Login

Control Panel