Arkose Labs captcha (FunCaptcha) bypass API service
You need to locate two values on the page with Arkose Labs FunCaptcha
Public key
Service URL (surl)
Public key can be found inside
data-pkeyparameter of funcaptcha'sdivelement or inside aninputelement with namefc-token- just extract the key indicated afterpkfrom the value of this element.Service Url can be also found in
fc-token- that is a value ofsurlparameter.Service Url is optional parameter and if you don't provide it we use a default value that is valid for most cases, but we recommend you to provide it.
Submit a HTTP
GETorPOSTrequest to our API URL:http://2captcha.com/in.phpwith method set tofuncaptcha, provide values found on previous step forpublickeyandsurlparameter and full page URL as value forpageurl. You can find the full list of parameters in the table below.Request URL example ->
http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=funcaptcha&publickey=12AB34CD-56F7-AB8C-9D01-2EF3456789A0&surl=https://client-api.arkoselabs.com&pageurl=http://mysite.com/page/with/funcaptcha/If everything is fine server will return the
IDof your captcha as plain text, like:OK|2122988149or as JSON{"status":1,"request":"2122988149"}if json parameter was used. Otherwise server will return an error code.Make a 10-20 seconds timeout then submit a HTTP
GETrequest to our API URL:http://2captcha.com/res.phpto get the result. The full list of parameters is in the table below.If captcha is already solved server will respond in plain text or JSON and return the answer token that looks like ->
If captcha is not solved yet server will return
CAPCHA_NOT_READYresult. Repeat your request in 5 seconds.If something went wrong server will return an error code.
3084f4a302b176cd7.96368058|r=ap-southeast-1|guitextcolor=%23FDD531|metabgclr=%23FFFFFF|metaiconclr=%23202122|meta=3|lang=en|pk=12AB34CD-56F7-AB8C-9D01-2EF3456789A0|cdn_url=https://cdn.funcaptcha.com/fc|surl=https://funcaptcha.comLocate the element with id
fc-tokenand put the token into value of this element.Do the rest what you need to do on the website: submit a form or click on a button or something else.
Code examples:
Read more - API dоcumentation.
// https://github.com/2captcha/2captcha-php require(__DIR__ . '/../src/autoloader.php'); $solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY'); try { $result = $solver->funcaptcha([ 'sitekey' => '69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC', 'url' => 'https://mysite.com/page/with/funcaptcha', ]); } catch (\Exception $e) { die($e->getMessage()); } die('Captcha solved: ' . $result->code);# https://github.com/2captcha/2captcha-python import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from twocaptcha import TwoCaptcha api_key = 'YOUR_API_KEY' solver = TwoCaptcha(api_key) try: result = solver.funcaptcha(sitekey='69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC', url='https://mysite.com/page/with/funcaptcha', surl='https://client-api.arkoselabs.com') except Exception as e: sys.exit(e) else: sys.exit('result: ' + str(result))// https://github.com/2captcha/2captcha-csharp using System; using System.Linq; using TwoCaptcha.Captcha; namespace TwoCaptcha.Examples { public class FunCaptchaExample { public void Main() { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); FunCaptcha captcha = new FunCaptcha(); captcha.SetSiteKey("69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"); captcha.SetUrl("https://mysite.com/page/with/funcaptcha"); try { solver.Solve(captcha).Wait(); Console.WriteLine("Captcha solved: " + captcha.Code); } catch (AggregateException e) { Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message); } } } }// https://github.com/2captcha/2captcha-java package examples; import com.twocaptcha.TwoCaptcha; import com.twocaptcha.captcha.FunCaptcha; public class FunCaptchaExample { public static void main(String[] args) { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); FunCaptcha captcha = new FunCaptcha(); captcha.setSiteKey("69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"); captcha.setUrl("https://mysite.com/page/with/funcaptcha"); try { solver.solve(captcha); System.out.println("Captcha solved: " + captcha.getCode()); } catch (Exception e) { System.out.println("Error occurred: " + e.getMessage()); } } }// https://github.com/2captcha/2captcha-go package main import ( "fmt" "log" "github.com/2captcha/2captcha-go" ) func main() { client := api2captcha.NewClient("API_KEY") captcha := api2captcha.FunCaptcha{ SiteKey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC", Url: "https://mysite.com/page/with/funcaptcha", Surl: "https://client-api.arkoselabs.com", Data: map[string]string{"anyKey":"anyValue"}, } code, err := client.Solve(captcha.ToRequest()) if err != nil { log.Fatal(err); } fmt.Println("code "+code) }// https://github.com/2captcha/2captcha-cpp #include <cstdio> #include "curl_http.hpp" #include "api2captcha.hpp" int main (int ac, char ** av) { api2captcha::curl_http_t http; http.set_verbose (true); api2captcha::client_t client; client.set_http_client (&http); client.set_api_key (API_KEY); api2captcha::funcaptcha_t captcha; captcha.set_site_key ("69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"); captcha.set_url ("https://mysite.com/page/with/funcaptcha"); captcha.set_surl ("https://client-api.arkoselabs.com"); try { client.solve (cap); printf ("code '%s'\n", cap.code ().c_str ()); } catch (std::exception & e) { fprintf (stderr, "Failed: %s\n", e.what ()); } return 0; }require 'api_2captcha' client = Api2Captcha.new("YOUR_API_KEY") result = client.funcaptcha({ publickey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC", pageurl: "https://mysite.com/page/with/funcaptcha", surl: "https://client-api.arkoselabs.com" })