API referenceTask typesreCAPTCHA v3

reCAPTCHA v3

No challenge and nothing to click. v3 scores the visit in the background and the site decides what to do with the number. The action name matters more here than anywhere else.

Task types

Type stringProxyUse it for
ReCaptchaV3TaskProxyLessNoneThe ordinary case.
ReCaptchaV3TaskYoursSites that score the asking address as well as the token.

Task object

FieldTypeRequiredWhat it is
typeStringYesOne of the two above.
websiteURLStringYesThe page carrying the captcha.
websiteKeyStringYesThe site key.
pageActionStringNoThe action the page names. Get this right; see below.
proxyStringOn ReCaptchaV3TaskThe type without the ProxyLess suffix requires one, in either shape.
isSessionBoolNoReturns the recaptcha-ca-t cookie value.
apiDomainStringNoOnly set it if the page loads from recaptcha.net.

The action name

v3 ties the score to an action string. Submit a token minted for homepage against a form expecting checkout and the site will refuse it, even though the token itself is valid.

  1. Search the page for grecaptcha.execute.
  2. The second argument holds the action, usually as { action: "login" }.
  3. Copy that string into pageAction exactly, including case.

Example

POST/createTask

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaV3TaskProxyLess",
    "websiteURL": "https://example.com/checkout",
    "websiteKey": "6LcR_okUAAAAAPYr...",
    "pageAction": "checkout"
  }
}

JSON

{
  "errorId": 0,
  "taskId": "8d0d2b1c-5b9f-4c2a-9c1a-0242ac110006",
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "3AHJ...",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...",
    "expireTime": 1671615324290
  }
}

Put gRecaptchaResponse wherever the page would have put it, which for v3 is usually a hidden field or a JSON body rather than a form control.

About the score

v3 returns a number between 0.0 and 1.0 to the site, not to you. We do not see it and cannot promise one. What we can do is mint a token that looks like an ordinary visit, which is what the score is reading.

If a site rejects tokens that a browser session passes, the difference is usually the address or the user agent, not the token. Send the userAgent we return, and put an address of yours behind it with ReCaptchaV3Task.

Last updated 21 September 2026