Contact Us  Affiliates  FAQ  API & Integration
Text Captcha Solving

Helping more than 8,890 happy customers for the last 10.42 years!


Sign Up Now      Sign In


API Documentation
This page is for software and applications developers who want to integrate our Text Captcha Solving services into their own software or service!

Click Here for SEO Tools Integration Guides

The TextCaptchaSolver API provides an easy interface for programmers to embed our Text Captcha Solving functions in their own programs or online services directly.

In case You are in need of a test API Key to test Your code implementations and integration simply register Yourself an account (it is absolutely free to register) and then Contact Us to set Your account to a developer one!


API URL
http://api.textcaptchasolver.com/


GET/POST METHOD

You may use HTTP POST or HTTP GET methods when communicating with our API. POST method is preferred!


PARAMETERS
Name Type Description
key string User's API Key. Each user can find his API Key at the Dashboard within his account at our website
question string The text Captcha question to be solved


QUERIES

There are 2 types of queries that can be run through our API

1. BALANCE - Used for checking user's remaining daily solves balance. Alternatively it can be used for checking if authentication is successfull. Only the key variable needs to be passed for this query!
http://api.textcaptchasolver.com/?key=YOUR_API_KEY_HERE


2. SOLVE CAPTCHA - Used for solving a captcha question. Both the key and question variables need to be passed for this query! The content of the question variable need to be URL-Encoded according to RFC 3986. Please refer here for more details
http://api.textcaptchasolver.com/?key=YOUR_API_KEY_HERE&question=CAPTCHA_QUESTION_HERE


RESPONSES

Any API response is in plan text format!

If some error occured our API will return a response starting with ERROR: followed by the exact error message

If everything went fine, our API will return the following:
- Balance Query - returns the number of daily solves remaining

- Solve Captcha Query - returns the captcha answer if solved correctly, or empty string if the question was not solved


To better understand the API if You are not familiar with it already, check the example source codes provided for the various programming languages. Simply click on the tabs on top of this screen!

Having problems implementing Your code to use with Our API? You discovered a bug in our API? Don't hesitate to Contact Us

Don't forget to Contact Us once You integrated our API into Your software or online service and do some link exchanges and cross promotion of our products for even bigger audience!
You can use a simple HTML web form to send Captchas to our service

Simply copy the HTML code below and paste it into a file named textcaptchasolver.html for example

<form method="post" action="http://api.textcaptchasolver.com/">
API Key: <input type="text" name="key" value="YOUR_API_KEY_HERE">
Question: <input type="text" name="question" value="">
<input type="submit" value="Send">
</form>
You can use cross platform command line tool cURL to send Captchas to our service

Check Integration / Get Balance
curl http://api.textcaptchasolver.com/ -F key=YOUR_API_KEY_HERE


Solve Captcha
curl http://api.textcaptchasolver.com/ -F key=YOUR_API_KEY_HERE -F question="CAPTCHA_QUESTION_HERE"
Check Integration (function=balance)
<?php

$postData=array();
$postData['key']='YOUR_API_KEY_HERE';

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://api.textcaptchasolver.com/');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$response=curl_exec($ch);
curl_close($ch);

echo $response;
?>


Solve Captcha
<?php

$postData=array();
$postData['key']='YOUR_API_KEY_HERE';
$postData['question']=rawurlencode('CAPTCHA_QUESTION_HERE');

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://api.textcaptchasolver.com/');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$response=curl_exec($ch);
curl_close($ch);

echo $response;
?>
The following Python example requires the Requests module which is not a built in one and You need to manually install it.

#!/usr/bin/env python

import requests

api_url="http://api.textcaptchasolver.com/"
api_key="YOUR_API_KEY_HERE"

# FUNCTION TO CHECK INTEGRATION / BALANCE
def get_balance():
        global api_url,api_key;

        data = {"key": api_key }

        request = requests.post(api_url, data)

        return request.content
# FUNCTION TO CHECK INTEGRATION / BALANCE

# FUNCTION TO SOLVE CAPTCHA
def solve_captcha(captcha_question=""):
        global api_url,api_key;

        data = {"key": api_key,
                "question": captcha_question}

        request = requests.post(api_url, data)

        return request.content
# FUNCTION TO SOLVE CAPTCHA

# USAGE OF THE FUNCTIONS
balance = get_balance()
print(balance)

solved=solve_captcha("CAPTCHA_QUESTION_HERE")
print(solved)
The following Perl example works on Perl 5+ and requires the libwww-perl library installed

#!/usr/bin/perl

use warnings;
use strict;
use LWP::UserAgent;
use HTTP::Request::Common;

my $api_url='http://api.textcaptchasolver.com/';
my $api_key='YOUR_API_KEY_HERE';

# FUNCTION TO CHECK INTEGRATION / BALANCE
sub get_balance
{
        my $ua = LWP::UserAgent->new();
        my $response = $ua->request(POST $api_url, Content => [
                                 key => $api_key,
                                ]);

        if ($response->is_error())
        {
                return $response->status_line;
        } else {
                return $response->content();
        }
}
# FUNCTION TO CHECK INTEGRATION / BALANCE

# FUNCTION TO SOLVE CAPTCHA
sub solve_captcha
{
        my $ua = LWP::UserAgent->new();

        my $response = $ua->request(POST $api_url, Content => [
                                 key => $api_key,
                                 question => $_[0],
                                ]);

        if ($response->is_error())
        {
                return $response->status_line;
        } else {
                return $response->content();
        }
}
# FUNCTION TO SOLVE CAPTCHA

# USAGE OF THE FUNCTIONS
printf get_balance();

printf "\n";

printf solve_captcha("CAPTCHA_QUESTION_HERE");
The example provided might not work "as is" for everyone due to the different .NET frameworks and different development environment.
You may need to tweak it!

Check Integration / Get Balance
Dim API_Key As String = "YOUR_API_KEY_HERE"

Dim Qstring As String = "key=" & API_Key

Try
Dim wb As WebClient = New WebClient
wb.Proxy = Nothing
wb.UploadString("http://api.textcaptchasolver.com/", "POST", Qstring)
Catch ex As WebException
End Try


Solve Captcha
Dim API_Key As String = "YOUR_API_KEY_HERE"
Dim Captcha_Question As String="CAPTCHA_QUESTION_HERE"

Dim Qstring As String = "key=" & API_Key & "&question=" & UrlEncode(Captcha_Question)

Try
Dim wb As WebClient = New WebClient
wb.Proxy = Nothing
wb.UploadString("http://api.textcaptchasolver.com/", "POST", Qstring)
Catch ex As WebException
End Try
The example provided might not work "as is" for everyone due to the different .NET frameworks and different development environment.
You may need to tweak it!

Check Integration / Get Balance
string API_Key = "YOUR_API_KEY_HERE";

string Qstring = "key=" + UrlEncode(API_Key);

try {
WebClient wb = new WebClient();
wb.Proxy = null;
wb.UploadString("http://api.textcaptchasolver.com/", "POST", Qstring);
} catch (WebException ex) {
}


Solve Captcha
string API_Key = "YOUR_API_KEY_HERE";
string Captcha_Question="CAPTCHA_QUESTION_HERE";

string Qstring = "key=" + UrlEncode(API_Key) + "&question=" + UrlEncode(Captcha_Question);

try {
WebClient wb = new WebClient();
wb.Proxy = null;
wb.UploadString("http://api.textcaptchasolver.com/", "POST", Qstring);
} catch (WebException ex) {
}
Solve Captcha
SET !EXTRACT_TEST_POPUP NO
TAB T=1
URL GOTO=http://api.textcaptchasolver.com/form.html

TAG POS=1 TYPE=INPUT ATTR=NAME:key CONTENT="YOUR_API_KEY_HERE"

TAG POS=1 TYPE=INPUT ATTR=NAME:question CONTENT="what color is the sky?"

TAG POS=1 TYPE=INPUT ATTR=TYPE:submit
SET !EXTRACT NULL
TAG POS=1 TYPE=HTML ATTR=* EXTRACT=TXT
SET CaptchaAnswer {{!EXTRACT}}