Looking for an overview? See the reCAPTCHA v3 product page
reCAPTCHA v3 Score-Based Verification
reCAPTCHA v3 provides invisible, score-based verification without user interaction. Returns a hidden g-recaptcha-response token and a score from 0.0 (bot) to 1.0 (human). MeshPrivacy generates high-score tokens server-side through diversified profiles.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
url | string | required | Page URL containing the reCAPTCHA v3 widget |
sitekey | string | required | reCAPTCHA site key from the page source |
page_title | string | required | Document <title> of the page hosting the widget |
action | string | optional | Action name matching grecaptcha.execute() (e.g. login, submit) |
proxy_config | string | optional | Proxy in the format http://user:pass@ip:port |
user_agent | string | optional | Custom user agent string (defaults to a current Chrome desktop UA) |
page_title was added to better match the target's real page context — Google scores tokens against page metadata, so passing the actual document.title from the source page improves score consistency.
Score Interpretation
| Score Range | Interpretation | Typical Action |
|---|---|---|
| 0.0 - 0.3 | Likely bot | Block or step-up challenge |
| 0.3 - 0.7 | Suspicious behavior | Additional verification |
| 0.7 - 1.0 | Likely human | Allow |
Note: Score thresholds are configurable per site. Check site-specific documentation for exact thresholds.
Real-time API status: trust.meshprivacy.com
Token Details
Response Token
Field:
g-recaptcha-responseFormat: Base64-encoded JWT
Token TTL: ~2 hours
Action Types
homepage - Page viewlogin - Login attemptpurchase - TransactionCustom action strings
Integration Example
recaptcha-v3.js
// Submit reCAPTCHA v3 task to MeshPrivacy
const response = await fetch('https://api.meshprivacy.com/v1/tasks/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': API_KEY
},
body: JSON.stringify({
service: 'recaptchav3', // required - DB endpoint_id has NO underscore
url: 'https://target-site.com/login', // required - page URL containing reCAPTCHA v3
sitekey: '6Lc_xxxxxx...', // required - from page source
page_title: 'Sign in — Target Site', // required - <title> of the page hosting the widget
action: 'login', // optional - match the action used on the page
proxy_config: 'http://user:pass@ip:port', // optional - your proxy
user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...' // optional
})
});
const { task_id } = await response.json();
// Poll for result
const result = await fetch(`https://api.meshprivacy.com/v1/tasks/result/${task_id}`, {
headers: { 'X-API-Key': API_KEY }
});
const { token, score } = await result.json();
// token is the g-recaptcha-response value
// score is the achieved score (0.0-1.0)FAQ
v3 runs entirely in the background, analyzing user behavior patterns to calculate a probability score. This provides friction-free verification while letting site owners decide how to handle different score ranges.
