
Rajinder Singh
Deep Learning Researcher

When dealing with complex anti-bot and CAPTCHA challenges, especially Google's reCAPTCHA, simply providing the sitekey and pageurl is often not enough to successfully obtain a valid g-recaptcha-response. Many websites leverage additional parameters to enhance their security, requiring our automation solutions to accurately identify and submit this hidden data.
This article provides an in-depth exploration of the common extra parameters in reCAPTCHA, guides you on how to use professional tools like CapSolver to identify them, and offers a complete API submission example.
These parameters are typically set by websites to distinguish between normal users and automated programs. Their presence depends on the specific site configuration and the version of reCAPTCHA being used.
reCAPTCHA comes in several main types, each with different parameter requirements:
| Version Name | Core Feature | Common Associated Parameters | Use Case |
|---|---|---|---|
| reCAPTCHA v2 Normal | "I'm not a robot" checkbox, requires user interaction (e.g., clicking images). | sitekey, pageurl |
Standard website protection |
| reCAPTCHA v2 Invisible | No checkbox, runs in the background, and uses risk analysis. | isInvisible: true, sitekey, pageurl |
Improved user experience, low-friction protection |
| reCAPTCHA v2 Enterprise | Paid enterprise version with advanced risk analysis and customization. | isEnterprise: true, enterprisePayload (s-data), apiDomain |
High-security, large-scale applications |
| reCAPTCHA v3 | Completely invisible, returns a score (0.0 - 1.0) to assess user risk. | pageAction (action), sitekey, pageurl |
Behavior analysis, scoring mechanism |
| Parameter Name | Value/Type | Description |
|---|---|---|
| pageAction | String (action value) |
Used only for reCAPTCHA v3. It identifies the specific action the user is performing on the page (e.g., login, submit, purchase) and is a key input for v3's risk analysis. |
| enterprisePayload | String (s-data value) |
Specific to reCAPTCHA Enterprise. This is an encrypted string containing additional client-side data used by the enterprise version for more in-depth risk assessment. |
| apiDomain | URL String | Specifies the domain from which to load the reCAPTCHA Enterprise script. For example, some sites might use www.recaptcha.net instead of the default www.google.com. Use only when explicitly specified by the website. |
| Anchor | String | Additional data detected by the CapSolver extension, potentially related to the specific anchor point or context of the reCAPTCHA widget on the page. |
| Reload | String | Additional data detected by the CapSolver extension, possibly related to the reCAPTCHA's reloading mechanism or dynamic loading. |
Important Note: You should only include a parameter in your submission if you know its exact purpose and have confirmed its presence using a detection tool. Blindly adding parameters can lead to failed validation.
The best way to identify these hidden parameters is by using a browser extension provided by a professional CAPTCHA solving service, such as CapSolver's Captcha Solver Auto Solve extension.
F12 or right-click on the page and select "Inspect" to open the Developer Tools.
Once the parameters are successfully captured, the CapSolver extension panel will immediately display the necessary information in JSON format. This JSON can be used directly in your API request, ensuring your task submission is complete and accurate.

List of Detectable Parameters:
Website URLSite KeyisInvisiblepageActionisEnterpriseisSRequired (indicates if s-data/enterprisePayload is needed)isReCaptchaV3Api DomainAnchorReloadCapSolver's API is designed to let you submit all detected parameters through a unified interface. Below is a Python example using the requests library to submit a reCAPTCHA Enterprise task, including extra parameters like enterprisePayload and apiDomain.
import requests
import time
# Your CapSolver API Key
API_KEY = "YOUR_CAPSOLVER_API_KEY"
# API endpoints
CREATE_TASK_URL = "https://api.capsolver.com/createTask"
GET_TASK_RESULT_URL = "https://api.capsolver.com/getTaskResult"
# Parameters detected by the CapSolver extension
site_key = "6Lc_a_xxxxxxxxxxxxxxxxxxxxxxx"
page_url = "https://example.com/login"
enterprise_payload = "s-data-payload-from-extension"
def solve_recaptcha():
# 1. Create the task
task_payload = {
"clientKey": API_KEY,
"task": {
"type": "ReCaptchaV2EnterpriseTask",
"websiteURL": page_url,
"websiteKey": site_key,
"enterprisePayload": {
"s": enterprise_payload
},
"apiDomain": "www.recaptcha.net"
}
}
try:
response = requests.post(CREATE_TASK_URL, json=task_payload)
response.raise_for_status()
task_data = response.json()
if task_data.get("errorId") == 0:
task_id = task_data.get("taskId")
print(f"Task created successfully. Task ID: {task_id}")
# 2. Poll for the result
while True:
result_payload = {
"clientKey": API_KEY,
"taskId": task_id
}
result_response = requests.post(GET_TASK_RESULT_URL, json=result_payload)
result_response.raise_for_status()
result_data = result_response.json()
if result_data.get("errorId") == 0:
status = result_data.get("status")
if status == "ready":
# Success! Get the token.
token = result_data["solution"]["gRecaptchaResponse"]
print(f"CAPTCHA solved! Token: {token[:30]}...")
return token
elif status == "processing":
print("Task is still processing, waiting...")
time.sleep(5) # Wait for 5 seconds before checking again
else:
print(f"Task failed. Status: {status}")
return None
else:
print(f"Error getting result: {result_data.get('errorDescription')}")
return None
else:
print(f"Error creating task: {task_data.get('errorDescription')}")
return None
except requests.exceptions.RequestException as e:
print(f"An error occurred during the API request: {e}")
return None
if __name__ == '__main__':
solve_recaptcha()
Q1: Why do I need to submit extra parameters?
A: Many websites use advanced features of reCAPTCHA, such as the Enterprise version or v3's behavior analysis, to enhance security. These features require additional context data from the client (like enterprisePayload or pageAction) to function correctly. If these parameters are missing, the reCAPTCHA service cannot properly evaluate the request, leading to task failure.
Q2: If I don't know if a parameter exists, should I try submitting it anyway?
A: This is not recommended. You should only submit a parameter when you have confirmed it is required using a tool like the CapSolver extension and have obtained its valid value. Submitting unnecessary or incorrect parameters can cause the API request to fail or return an invalid token.
Q3: What are the Anchor and Reload parameters? Do I need to parse them myself?
A: Anchor and Reload are auxiliary data points captured by the CapSolver extension in specific scenarios. You do not need to parse them manually. The value of the CapSolver extension is that it automatically detects and provides these parameters in a ready-to-use JSON format. Simply submit the complete parameter set provided by the extension to the CapSolver API.
Q4: What is the difference between reCAPTCHA v3's pageAction and v2's sitekey?
A:
sitekey (v2/v3): This identifies the website and is a fundamental parameter required for all reCAPTCHA versions.pageAction (v3): This identifies the specific action the user is performing on the current page (e.g., login, checkout). reCAPTCHA v3 uses this action, along with the user's behavior, to return a risk score. This parameter is not used in v2.Mastering the identification and submission of reCAPTCHA's extra parameters is crucial for successful automation. By leveraging professional tools and APIs like those from CapSolver, you can confidently tackle even the most complex CAPTCHA challenges.
Recommended Reading:
Redeem Your CapSolver Bonus Code
Don’t miss the chance to further optimize your operations! Use the bonus code CAPN when topping up your CapSolver account and receive an extra 5% bonus on each recharge, with no limits. Visit the CapSolver to redeem your bonus now!
Understand reCAPTCHA v3 score range (0.0 to 1.0), its meaning, and how to improve your score. Learn how to handle low scores and optimize user experience.

Facing "reCAPTCHA Invalid Site Key" or "invalid reCAPTCHA token" errors? Discover common causes, step-by-step fixes, and troubleshooting tips to resolve reCAPTCHA verification failed issues. Learn how to fix reCAPTCHA verification failed please try again.
