reCAPTCHA V3 Enterprise
reCAPTCHA v3 Enterprise is Google's advanced, score-based bot detection system that evaluates user interactions in the background using adaptive risk analysis and behavioral signals — without visible challenges. CaptchaAI handles token generation and score validation for enterprise-grade workflows.
Overview
reCAPTCHA V3 Enterprise differs from standard V3 in that it:
- Uses enterprise-level ML models with more detailed risk signals
- Returns a score-based token — no visual challenge for users
- Requires the solver's User-Agent when submitting the token
- Loaded via
enterprise.jsinstead of the standardapi.js - Score ranges from 0.1 (bot) to 0.9 (human)

Example: reCAPTCHA V3 Enterprise verification
json=1With reCAPTCHA V3 Enterprise, always use json=1 when polling the result. The response includes the solver's User-Agent which must be used with the token when submitting to the target website.
How to Solve reCAPTCHA V3 Enterprise
Step 1: Identify the Enterprise Parameters
Confirm the page uses reCAPTCHA V3 Enterprise:
- Look for
enterprise.jsbeing loaded:https://www.google.com/recaptcha/enterprise.js?render=SITEKEY - Find the sitekey as the
render=parameter value or ingrecaptcha.enterprise.execute() - Find the action in the
grecaptcha.enterprise.execute()call:grecaptcha.enterprise.execute('6LdxxXXx...', {action: 'login'})
Step 2: Submit the Task to CaptchaAI
Send a POST request to https://ocr.captchaai.com/in.php with version=v3 and enterprise=1:
import requests
response = requests.post("https://ocr.captchaai.com/in.php", data={
'key': 'YOUR_API_KEY',
'method': 'userrecaptcha',
'version': 'v3',
'googlekey': '6LdxxXXxAAAAAAcXxxXxxX91xxxxxxxx8xxOx7A',
'pageurl': 'https://example.com/login',
'enterprise': 1,
'action': 'login', # from grecaptcha.enterprise.execute() call
'min_score': 0.7, # optional: target score threshold (default: 0.3)
'json': 1
})
task_id = response.json()['request']
print(f"Task ID: {task_id}")
Step 3: Retrieve the Solution
Wait 15–20 seconds, then poll with json=1 to receive both the token and the solver's User-Agent:
import time
time.sleep(20)
while True:
result = requests.get("https://ocr.captchaai.com/res.php", params={
'key': 'YOUR_API_KEY',
'action': 'get',
'id': task_id,
'json': 1
}).json()
if result['status'] == 1:
token = result['result']
user_agent = result['user_agent']
print(f"Token: {token}")
print(f"User-Agent: {user_agent}")
break
time.sleep(5)
Step 4: Submit the Token
Use the token as g-recaptcha-response (or g-recaptcha-response-100000) in your POST request to the target website, using the solver's User-Agent in your request headers:
import requests
session = requests.Session()
session.headers.update({'User-Agent': user_agent})
session.post("https://example.com/submit", data={
'g-recaptcha-response': token,
# ... other form fields
})
Always submit the token to the target website using the same User-Agent returned in the response. Mismatched User-Agents will cause token validation to fail with reCAPTCHA V3 Enterprise.
Score Notes
- Score ranges from 0.1 (bot) to 0.9 (human)
- Most sites use thresholds between 0.3 and 0.7
- CaptchaAI can reliably target scores up to 0.7 — higher scores are significantly rarer
- If a score above 0.7 is required, retry the solve request