BestCaptchaSolver Java API wrapper



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

git clone

org.apache.httpcomponents:httpclient org.json:json

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.