reCAPTCHA v3
reCAPTCHA v3 is Google’s invisible, score-based CAPTCHA system. Unlike v2, it does not present a visual challenge to the user. Instead, it assigns a score between 0.0 and 1.0 based on user behavior, where 1.0 indicates a very likely human interaction. It is commonly used on login pages, payment forms, and other sensitive endpoints where a seamless user experience is required.
Supported Types
Section titled “Supported Types”| Type | Proxy | Description |
|---|---|---|
ReCaptchaV3TokenProxyLess | No | Standard (recommended) |
ReCaptchaV3Token | Yes | With proxy |
ReCaptchaV3EnterpriseProxyLess | No | Enterprise, no proxy |
ReCaptchaV3Enterprise | Yes | Enterprise with proxy |
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Task type from the table above |
websiteURL | string | Yes | URL of the target page |
websiteKey | string | Yes | reCAPTCHA v3 site key |
minScore | number | No | Minimum score 0.1—0.9 (default: 0.3) |
pageAction | string | No | Action parameter (found in the grecaptcha.execute call) |
apiDomain | string | No | API domain override (e.g., www.recaptcha.net) |
Enterprise Parameters
Section titled “Enterprise Parameters”These parameters apply only to the enterprise task types.
| Parameter | Type | Required | Description |
|---|---|---|---|
enterprisePayload | object | No | Additional enterprise parameters (e.g., { "s": "value" }) |
Proxy Parameters
Section titled “Proxy Parameters”Required when using a proxy task type (ReCaptchaV3Token, ReCaptchaV3Enterprise).
| Parameter | Type | Required | Description |
|---|---|---|---|
proxyType | string | Yes | http, socks4, or socks5 |
proxyAddress | string | Yes | Proxy IP or hostname |
proxyPort | integer | Yes | Proxy port |
proxyLogin | string | No | Proxy username |
proxyPassword | string | No | Proxy password |
Create Task
Section titled “Create Task”Request
Section titled “Request”{ "clientKey": "YOUR_API_KEY", "task": { "type": "ReCaptchaV3TokenProxyLess", "websiteURL": "https://example.com/login", "websiteKey": "6LdyC2cUAAAAACGuDKpXeDorzUDWa_K25mXHlg3Y", "minScore": 0.7, "pageAction": "login" }}Response
Section titled “Response”{ "errorId": 0, "taskId": "abc-123-def"}Solution Object
Section titled “Solution Object”{ "gRecaptchaResponse": "03AGdBq24PBCbwiDRaS_MJ7Z...7Pqz6Jhp2gFnuhaTf3o"}| Field | Type | Description |
|---|---|---|
gRecaptchaResponse | string | The reCAPTCHA v3 response token |
How to Use
Section titled “How to Use”The gRecaptchaResponse token is used identically to reCAPTCHA v2:
- Form submission — Set the hidden
g-recaptcha-responsefield value and submit the form. - Callback function — Pass the token to the site’s reCAPTCHA callback.
- XHR/Fetch — Include the token in the request body if the site validates via an API call.
Code Examples
Section titled “Code Examples”Python
Section titled “Python”import requestsimport time
API_KEY = "YOUR_API_KEY"
# Create taskresponse = requests.post("https://api.ucaptcha.net/createTask", json={ "clientKey": API_KEY, "task": { "type": "ReCaptchaV3TokenProxyLess", "websiteURL": "https://example.com/login", "websiteKey": "6LdyC2cUAAAAACGuDKpXeDorzUDWa_K25mXHlg3Y", "minScore": 0.7, "pageAction": "login" }})task_id = response.json()["taskId"]
# Poll for resultwhile True: result = requests.post("https://api.ucaptcha.net/getTaskResult", json={ "clientKey": API_KEY, "taskId": task_id }).json()
if result["status"] == "ready": token = result["solution"]["gRecaptchaResponse"] print("Token:", token) break elif result["status"] == "failed": print("Error:", result.get("errorDescription")) break
time.sleep(5)JavaScript
Section titled “JavaScript”const API_KEY = "YOUR_API_KEY";
const { taskId } = await fetch("https://api.ucaptcha.net/createTask", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ clientKey: API_KEY, task: { type: "ReCaptchaV3TokenProxyLess", websiteURL: "https://example.com/login", websiteKey: "6LdyC2cUAAAAACGuDKpXeDorzUDWa_K25mXHlg3Y", minScore: 0.7, pageAction: "login" } })}).then(r => r.json());
while (true) { const result = await fetch("https://api.ucaptcha.net/getTaskResult", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ clientKey: API_KEY, taskId }) }).then(r => r.json());
if (result.status === "ready") { console.log("Token:", result.solution.gRecaptchaResponse); break; } else if (result.status === "failed") { console.error("Error:", result.errorDescription); break; }
await new Promise(r => setTimeout(r, 5000));}# Create taskcurl -X POST https://api.ucaptcha.net/createTask \ -H "Content-Type: application/json" \ -d '{ "clientKey": "YOUR_API_KEY", "task": { "type": "ReCaptchaV3TokenProxyLess", "websiteURL": "https://example.com/login", "websiteKey": "6LdyC2cUAAAAACGuDKpXeDorzUDWa_K25mXHlg3Y", "minScore": 0.7, "pageAction": "login" } }'
# Poll for result (replace TASK_ID with the taskId from above)curl -X POST https://api.ucaptcha.net/getTaskResult \ -H "Content-Type: application/json" \ -d '{ "clientKey": "YOUR_API_KEY", "taskId": "TASK_ID" }'Provider Coverage
Section titled “Provider Coverage”- 2Captcha
- CapSolver
- Anti-Captcha
- CapMonster
- DeathByCaptcha
- RiskByPass
- 2Crawler
- Multibot
Aliases
Section titled “Aliases”The following legacy type names are also accepted for backward compatibility:
RecaptchaV3TaskProxyless