BestCaptchaSolver Java API wrapper


bestcaptchasolverapi is a super easy to use bypass captcha Java API wrapper for captcha service

git clone


How to use?
Simply import the library, set the auth details and start using the captcha service:
import com.bestcaptchasolver.BestCaptchaSolverAPI;

Set access_token or username and password (legacy) for authentication
String access_token = "your_access_key";
BestCaptchaSolverAPI bcs = new BestCaptchaSolverAPI(access_token);

Once you've set your authentication details, you can start using the API

Get balance
String balance = bcs.account_balance();
System.out.println(String.Format("Balance: %s", balance));

Submit image captcha
Map<String, String> d = new HashMap<String, String>();
d.put("image", "/home/me/Desktop/captcha.png");     // give it an ABSOLUTE path or b64encoded string
// d.put("is_case", "true");        // if case sensitive set to true, default: false, optional
// d.put("is_phrase", "true");      // if phrase, set to true, default: false, optional
// d.put("is_math", "true");        // true if captcha is math, default: false, optional
// d.put("alphanumeric", "1");      // 1 (digits only) or 2 (letters only), default: all characters, optional
// d.put("minlength", "2");         // minimum length of captcha text, default: any, optional
// d.put("maxlength", "4");         // maximum length of captcha text, default: any, optional
// d.put("affiliate_id", "your_affiliate_id");      // get it from /account
int id = bcs.submit_image_captcha(d);     // works with 2nd parameter as well, case sensitivty
Once you have the captchaID, you can check for it's completion
String image_text = "";
    image_text = bcs.retrieve(id).getString("text");
Submit recaptcha details
For recaptcha submission there are two things that are required and some that are optional
  • page_url
  • site_key
  • type (optional, defaults to 1 if not given)
    • 1 - v2
    • 2 - invisible
    • 3 - v3
    • 4 - enterprise v2
    • 5 - enterprise v3
  • v3_action (optional)
  • v3_min_score (optional)
  • data_s (optional)
  • cookie_input (optional)
  • user_agent (optional)
  • affiliate_id (optional)
  • proxy (optional)
For more details about the parameters check /api page
Map<String,String> rd = new HashMap<String, String>();
rd.put("page_url", PAGE_URL);
rd.put("site_key", SITE_KEY);
id = bcs.submit_recaptcha(rd);     // works with proxy as well, check bottom of page file for examples
Same as before, this returns an ID which is used to regulary check for completion.