Solve Captcha

API Methods

Captcha Types

createTask
create a captcha task

Address: https://solvecaptcha.net/api/createTask
Method: POST
Content-type: application-json

Request properties

Property Type Required Purpose
YOUR_API_KEY String Yes
task Object Yes

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV2Task",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX"
                    },
                "affiliate_id":0
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

getTaskResult
request a task result

Address: https://solvecaptcha.net/api/getTaskResult
Method: POST
Content-type: application-json

Request properties

Property Type Required Purpose
YOUR_API_KEY String Yes
task_id Integer Yes

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                    "task_id":12345
                }'
               https://solvecaptcha.net/api/getTaskResult
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Response example

getBalance
retrieve account balance

Address: https://solvecaptcha.net/api/getBalance
Method: GET
Content-type: application-json

Request properties

Property Type Required Purpose
YOUR_API_KEY String Yes

Request example

CURL
          
            curl 
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              https://solvecaptcha.net/api/getBalance
            
            


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Error Types
list of API Errors
Code Description
ERROR_KEY_DOES_NOT_EXIST Account authorization key not found in the system or has incorrect format (length is not )
ERROR_ZERO_CAPTCHA_FILESIZE The size of the captcha you are uploading is less than 100 bytes
ERROR_TOO_BIG_CAPTCHA_FILESIZE The size of the captcha you are uploading is more than 50,000 bytes
ERROR_ZERO_BALANCE Account has zero balance
ERROR_IP_NOT_ALLOWED Request with current account key is not allowed from your IP
ERROR_CAPTCHA_UNSOLVABLE This type of captchas is not supported by the service or the image does not contain an answer, perhaps it is too noisy. It could also mean that the image is corrupted or was incorrectly rendered
ERROR_NO_SUCH_CAPCHA_ID, WRONG_CAPTCHA_ID The captcha that you are requesting was not found. Make sure you are requesting a status update only within 5 minutes of uploading
CAPTCHA_NOT_READY The captcha has not yet been solved
ERROR_IP_BANNED You have exceeded the limit of requests with the wrong api key, check the correctness of your api key in the control panel and after some time, try again
ERROR_NO_SUCH_METHOD This method is not supported or empty
ERROR_TOO_MUCH_REQUESTS You have exceeded the limit of requests to receive an answer for one task. Try to request the result of the task no more than 1 time in 2 seconds
RecaptchaV2Task
solving Google recaptcha

The object contains data for Google ReCaptcha2 solving task. To provide solid universality for solving this type of task we have reproduce every piece of environment used for an automation task you plan to complete. This includes:

  • proxy access
  • browser's user-agent
  • (optionally) cookies

Before performing this type of task our proxy checker might check your proxy parameters for validity by making a test request. If this test request fails, your task will be marked with ERROR_PROXY_TIMEOUT or similar error and will be canceled. During solution process your proxy also might fail and our API will produce other proxy errors.

Object structure

Parameter Type Required Value
method String Yes RecaptchaV2Task
page_url String Yes
site_key String Yes Recaptcha website key.
data_s String No Some custom implementations may contain additional "data-s" parameter in ReCaptcha2 div, which is in fact a one-time token and must be grabbed every time you want to solve a ReCaptcha2.
<div class="g-recaptcha" data-sitekey="some sitekey" data-s="THIS_ONE"></div>
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".
cookies String No

Additional cookies which we must use during interaction with target page or Google.

Format: cookiename1=cookievalue1; cookiename2=cookievalue2

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV2Task",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX",
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE",
                        "cookie":"cookiename1=cookievalue1; cookiename2=cookievalue2"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for ReCaptcha2. You will get response within 10 - 80 secs period depending on service workload.

Property Type Purpose
gRecaptchaResponse String Token string which is required for interacting with submit form on target website.

Response example

RecaptchaV2TaskProxyless
bypass Google Recaptcha automatically without proxies

The object contains data for Google ReCaptcha2 solving task. This task will be executed by our service using our own proxy servers.

Object structure

Parameter Type Required Value
method String Yes RecaptchaV2TaskProxyless
page_url String Yes
site_key String Yes Recaptcha website key.
data_s String No Some custom implementations may contain additional "data-s" parameter in ReCaptcha2 div, which is in fact a one-time token and must be grabbed every time you want to solve a ReCaptcha2.
<div class="g-recaptcha" data-sitekey="some sitekey" data-s="THIS_ONE"></div>
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".
cookies String No

Additional cookies which we must use during interaction with target page or Google.

Format: cookiename1=cookievalue1; cookiename2=cookievalue2

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV2TaskProxyless",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for ReCaptcha2. You will get response within 10 - 80 secs period depending on service workload.

Property Type Purpose
gRecaptchaResponse String Token string which is required for interacting with submit form on target website.

Response example

RecaptchaV3TaskProxyless
Solving Google Recaptcha V3 automatically without proxies

The object contains data for Google ReCaptcha V3 solving task. This task will be executed by our service using our own proxy servers. Please note that there's a difference between Recaptcha V2-invisible and Recaptcha V3. They look the same, and it might be confusing.
When creating a task, unlike ReCaptcha2, you must additionally pass two parameters - page_action and min_score.

Object structure

Parameter Type Required Value
method String Yes RecaptchaV3TaskProxyless
page_url String Yes
site_key String Yes Recaptcha website key.
https://www.google.com/recaptcha/api.js?render="THAT_ONE"
min_score Double Yes Value from 0.1 to 0.9.
page_action String No Recaptcha's "action" value. Website owners use this parameter to define what users are doing on the page.
Example:
grecaptcha.execute('site_key', {action:'login_test'}).

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV3TaskProxyless",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX",
                        "min_score": 0.3,
                        "page_action": "myverify"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for ReCaptcha3. You will get response within 10 - 80 secs period depending on service workload.

Property Type Purpose
gRecaptchaResponse String Token string which is required for interacting with submit form on target website.

Response example

RecaptchaV2EnterpriseTask
solving Google recaptcha

The object contains data for Google reCAPTCHA Enterprise solving task. To provide solid universality for solving this type of task we have reproduce every piece of environment used for an automation task you plan to complete. This includes:

  • proxy access
  • browser's user-agent
  • (optionally) cookies

This approach will eliminate all possible obstacles which Google might implement in the future.
This type of captcha might be solved a bit longer than usual image captcha, but this issue is compensated by the fact that g-captcha-response value we send to you is valid for the next 60 seconds after we solves your ReCaptcha2.

Before performing this type of task our proxy checker might check your proxy parameters for validity by making a test request. If this test request fails, your task will be marked with ERROR_PROXY_TIMEOUT or similar error and will be canceled. During solution process your proxy also might fail and our API will produce other proxy errors.

Object structure

Parameter Type Required Value
method String Yes RecaptchaV2EnterpriseTask
page_url String Yes
site_key String Yes Recaptcha website key.
<div class="g-recaptcha" data-sitekey="THAT_ONE"></div>
or
<iframe title="reCAPTCHA" src="...;k=6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH&amp;...>
where site_key is 6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH
enterprisePayload String No Some implementations of the reCAPTCHA Enterprise widget may contain additional parameters that are passed to the “grecaptcha.enterprise.render” method along with the sitekey.
For example:
grecaptcha.enterprise.render("some-div-id", { sitekey: "6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH", theme: "dark", s: "2JvUXHNTnZl1Jb6WEvbDyBMzrMTR7oQ78QRhBcG07rk9bpaAaE0LRq1ZeP5NYa0N...ugQA" });
apiDomain String No Domain address from which to load reCAPTCHA Enterprise.
For example:
  • www.abc.com
  • www.test.net
Don't use a parameter if you don't know why it's needed.
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".
cookies String No

Additional cookies which we must use during interaction with target page or Google.

Format: cookiename1=cookievalue1; cookiename2=cookievalue2

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV2EnterpriseTask",
                        "page_url":"https://websitehub.com/page-with-recaptcha-enterprise",
                        "site_key":"6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH",
                        "enterprisePayload": {
                            "s": "SOME_ADDITIONAL_TOKEN"
                        },
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE",
                        "cookie":"cookiename1=cookievalue1; cookiename2=cookievalue2"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for ReCaptcha2. You will get response within 10 - 80 secs period depending on service workload.

Property Type Purpose
gRecaptchaResponse String Hash which should be inserted into Recaptcha2 submit form in <textarea id="g-recaptcha-response" ..></textarea> .
It has a length of 500 to 2190 bytes.

Response example

RecaptchaV2EnterpriseTaskProxyless
solving Google recaptcha

The object contains data for Google reCAPTCHA Enterprise solving task. This task will be executed by our service using our own proxy servers.

Object structure

Parameter Type Required Value
method String Yes RecaptchaV2EnterpriseTaskProxyless
page_url String Yes
site_key String Yes Recaptcha website key.
<div class="g-recaptcha" data-sitekey="THAT_ONE"></div>
or
<iframe title="reCAPTCHA" src="...;k=6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH&amp;...>
where site_key is 6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH
enterprisePayload String No Some implementations of the reCAPTCHA Enterprise widget may contain additional parameters that are passed to the “grecaptcha.enterprise.render” method along with the sitekey.
For example:
grecaptcha.enterprise.render("some-div-id", { sitekey: "6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH", theme: "dark", s: "2JvUXHNTnZl1Jb6WEvbDyBMzrMTR7oQ78QRhBcG07rk9bpaAaE0LRq1ZeP5NYa0N...ugQA" });
apiDomain String No Domain address from which to load reCAPTCHA Enterprise.
For example:
  • www.abc.com
  • www.test.net
Don't use a parameter if you don't know why it's needed.

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"RecaptchaV2EnterpriseTaskProxyless",
                        "page_url":"https://websitehub.com/page-with-recaptcha-enterprise",
                        "site_key":"6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH",
                        "enterprisePayload": {
                            "s": "SOME_ADDITIONAL_TOKEN"
                        }
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for ReCaptcha2. You will get response within 10 - 80 secs period depending on service workload.

Property Type Purpose
gRecaptchaResponse String Hash which should be inserted into Recaptcha2 submit form in <textarea id="g-recaptcha-response" ..></textarea> .
It has a length of 500 to 2190 bytes.

Response example

GeeTestTask
Solve captcha from geetest.com with proxy

This type of task is for solving GeeTest captcha using your proxies.Your application should send the site address, public domain key (gt), key (challenge) and proxy. The result of solving the problem is three tokens for submitting the form.

Object structure

Parameter Type Required Value
method String Yes GeeTestTask
page_url String Yes
gt String Yes The GeeTest identifier key for the domain. Static value, rarely updated.
challenge String Yes A dynamic key.
Each time our API is called, we need to get a new key value. If the captcha is loaded on the page, then the challenge value is no longer valid.
It is necessary to examine the requests and find the one in which this value is returned and, before each creation of the recognition task, execute this request and parse the challenge from it.
geetestApiServerSubdomain String No Optional parameter. May be required for some sites.
geetestGetLib String No Optional parameter. May be required for some sites.
Send JSON as a string.
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"GeeTestTask",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "gt":"81dc9bdb52d04dc20036dbd8313edXXX",
                        "challenge":"d93591bdf7860e1e4ee2fca799911299",
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for GeeTest recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
challenge String Hash string required for interacting with the submit form on the target website.
validate String Hash string which is also required.
seccode String Another required hash string; we have no idea why there are 3 of them.

Response example

GeeTestTaskProxyless
GeeTest captcha recognition without proxy

This type of task is for solving GeeTest. This task will be performed by our service using our own proxy servers. Your application should send the site address, public domain key (gt), key (challenge).

The result of solving the task is three tokens for submitting the form.

Object structure

Parameter Type Required Value
method String Yes GeeTestTaskProxyless
page_url String Yes
gt String Yes The GeeTest identifier key for the domain. Static value, rarely updated.
challenge String Yes A dynamic key.
Each time our API is called, we need to get a new key value. If the captcha is loaded on the page, then the challenge value is no longer valid.
It is necessary to examine the requests and find the one in which this value is returned and, before each creation of the recognition task, execute this request and parse the challenge from it.
geetestApiServerSubdomain String No Optional parameter. May be required for some sites.
geetestGetLib String No Optional parameter. May be required for some sites.
Send JSON as a string.
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"GeeTestTaskProxyless",
                        "page_url":"https://websitehub.com/recaptcha/test.php",
                        "gt":"81dc9bdb52d04dc20036dbd8313edXXX",
                        "challenge":"d93591bdf7860e1e4ee2fca799911299"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for GeeTest recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
challenge String Hash string required for interacting with the submit form on the target website.
validate String Hash string which is also required.
seccode String Another required hash string; we have no idea why there are 3 of them.

Response example

FunCaptchaTask
Solve captcha from FunCaptcha with proxy

This type solving task FunCaptcha. Your app submits website address, public key and proxy. The result of solving task is a token for the submit form.

Object structure

Parameter Type Required Value
method String Yes FunCaptchaTask
page_url String Yes
sub_domain String No A special subdomain of funcaptcha.com, from which the JS captcha widget should be loaded.
Most FunCaptcha installations work from shared domains, so this option is only needed in certain rare cases.
site_key String Yes FunCaptcha website key.
<div id="funcaptcha" data-pkey="THAT_ONE"></div>
data_s String No Additional parameter that may be required by FunCaptcha implementation.
Use this property to send "blob" value as a stringified array. See example how it may look like.
{"\blob\":\"HERE_COMES_THE_blob_VALUE\"}
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"FunCaptchaTask",
                        "page_url":"https://test.com/fc/api/nojs/?pkey=69A21A01-CC7B-xxx",
                        "sub_domain":"mywebsite-api.funcaptcha.com",
                        "data_s": "{\"blob\":\"dyXvXANMbHj1iDyz.Qj97JtSqR2n%2BuoY1V%2FbdgbrG7p%2FmKiqdU9AwJ6MifEt0np4vfYn6TTJDJEfZDlcz9Q1XMn9przeOV%2FCr2%2FIpi%2FC1s%3D\"}",
                        "site_key":"69A21A01-CC7B-xxx",
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for FunCaptcha recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
token String FunCaptcha token that needs to be substituted into the form.

Response example

FunCaptchaTaskProxyless
Solve captcha from FunCaptcha without proxy

This type solving task FunCaptcha. This task will be executed by our service using our own proxy servers. The result of solving task is a token for the submit form.

Object structure

Parameter Type Required Value
method String Yes FunCaptchaTaskProxyless
page_url String Yes
sub_domain String No A special subdomain of funcaptcha.com, from which the JS captcha widget should be loaded.
Most FunCaptcha installations work from shared domains, so this option is only needed in certain rare cases.
site_key String Yes FunCaptcha website key.
<div id="funcaptcha" data-pkey="THAT_ONE"></div>
data_s String No Additional parameter that may be required by FunCaptcha implementation.
Use this property to send "blob" value as a stringified array. See example how it may look like.
{"\blob\":\"HERE_COMES_THE_blob_VALUE\"}

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"FunCaptchaTaskProxyless",
                        "page_url":"https://test.com/fc/api/nojs/?pkey=69A21A01-CC7B-xxx",
                        "sub_domain":"mywebsite-api.funcaptcha.com",
                        "data_s": "{\"blob\":\"dyXvXANMbHj1iDyz.Qj97JtSqR2n%2BuoY1V%2FbdgbrG7p%2FmKiqdU9AwJ6MifEt0np4vfYn6TTJDJEfZDlcz9Q1XMn9przeOV%2FCr2%2FIpi%2FC1s%3D\"}",
                        "site_key":"69A21A01-CC7B-xxx"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for FunCaptcha recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
token String FunCaptcha token that needs to be substituted into the form.

Response example

HCapchaTask
hCaptcha puzzle solving

This type of task is for solving hCaptcha using your proxies.Your application should send the site address, hCaptcha website key and proxy.

Object structure

Parameter Type Required Value
method String Yes HCaptchaTask
page_url String Yes
site_key String Yes hCaptcha website key.
isInvisible Bool No Use true for invisible version of hcaptcha
data_s String No Custom data that is used in some implementations of hCaptcha, mostly with isInvisible=true. In most cases you see it as rqdata inside network requests.
IMPORTANT: you MUST provide userAgent if you submit captcha with data parameter. The value should match the User-Agent you use when interacting with the target website.
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".
cookies String No Additional cookies which we must use during interaction with target page.
Format: cookiename1=cookievalue1; cookiename2=cookievalue2

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"HCaptchaTask",
                        "page_url":"https://websitehub.com/hcaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX",
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE",
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for hCaptcha recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
hCaptchaResponse String Hash which should be inserted into hCaptcha submit form on target website.
user_agent String During submitting, you should use the same User Agent with which hCaptcha was solved.
respKey String The result of the "window.hcaptcha.getRespKey()" function when available. Some sites use this value for additional verification.

Response example

HCapchaTask
hCaptcha puzzle solving

This type of task is for solving hCaptcha using our own proxy servers.Your application should send the site address, hCaptcha website key.

Object structure

Parameter Type Required Value
method String Yes HCaptchaTaskProxyless
page_url String Yes
site_key String Yes hCaptcha website key.
isInvisible Bool No Use true for invisible version of hcaptcha
data_s String No Custom data that is used in some implementations of hCaptcha, mostly with isInvisible=true. In most cases you see it as rqdata inside network requests.
IMPORTANT: you MUST provide userAgent if you submit captcha with data parameter. The value should match the User-Agent you use when interacting with the target website.
cookies String No Additional cookies which we must use during interaction with target page.
Format: cookiename1=cookievalue1; cookiename2=cookievalue2

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"HCaptchaTaskProxyless",
                        "page_url":"https://websitehub.com/hcaptcha/test.php",
                        "site_key":"6LfI9IsUAAAAAKuvopU0hfY8pWADfR_XXXXXXX",
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for hCaptcha recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
hCaptchaResponse String Hash which should be inserted into hCaptcha submit form on target website.
user_agent String During submitting, you should use the same User Agent with which hCaptcha was solved.
respKey String The result of the "window.hcaptcha.getRespKey()" function when available. Some sites use this value for additional verification.

Response example

TurnstileTask
Solve captcha from Cloudflare Turnstile with proxy

All Cloudflare Turnstile subtypes are automatically supported: manual, non-interactive and invisible. Therefore, there is no need to specify a subtype.

Object structure

Parameter Type Required Value
method String Yes TurnstileTask
page_url String Yes
site_key String Yes Turnstile key
proxy_type String Yes

Type of the proxy

  • http - usual http/https proxy
  • https - try this only if "http" doesn't work (required by some custom proxy servers)
  • socks4 - socks4 proxy
  • socks5 - socks5 proxy
proxy_address String Yes

Proxy IP address IPv4/IPv6. Not allowed to use:

  • host names instead of IPs
  • transparent proxies (where client IP is visible)
  • proxies from local networks (192.., 10.., 127...)
proxy_port Integer Yes Proxy port
proxy_login String No Login for proxy which requires authorizaiton (basic)
proxy_password String No Proxy password
user_agent String No Browser's User-Agent which is used in emulation. It is required that you use a signature of a modern browser, otherwise Google will ask you to "update your browser".

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"TurnstileTask",
                        "page_url":"https://test.com",
                        "site_key":"0x4AAAAAAABUYP0XeMJF0xoy",
                        "proxy_type":"http",
                        "proxy_address":"8.8.8.8",
                        "proxy_port":8080,
                        "proxy_login":"proxyLoginHere",
                        "proxy_password":"proxyPasswordHere",
                        "user_agent":"MODERN_USER_AGENT_HERE"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for Turnstile recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
token String Turnstile token that needs to be substituted into the form.

Response example

TurnstileTaskProxyless
Solve captcha from Cloudflare Turnstile with proxy

All Cloudflare Turnstile subtypes are automatically supported: manual, non-interactive and invisible. Therefore, there is no need to specify a subtype.
This task will be executed by our service using our own proxy servers.

Object structure

Parameter Type Required Value
method String Yes TurnstileTaskProxyless
page_url String Yes
site_key String Yes Turnstile key

Request example

CURL
          
            curl
              -H "Accept: application/json" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -X POST -d 
                '{
                "task":
                    {
                        "method":"TurnstileTaskProxyless",
                        "page_url":"https://test.com",
                        "site_key":"0x4AAAAAAABUYP0XeMJF0xoy"
                    }
                }'
               https://solvecaptcha.net/api/createTask
            
          


Response structure

Property Type Purpose
error_id Integer Error identifier.
0 - no errors, the operation completed successfully.
Otherwise - error identifier. Error code and short description transferred in error_code and error_description properties.
error_code String
error_description String Short description of the error
task_id Integer

Response example

Getting result

Use the method getTaskResult to request answer for Turnstile recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

Property Type Purpose
token String Turnstile token that needs to be substituted into the form.

Response example