Solve standard reCAPTCHA v3 with the API

By solvethree3 min read

For standard reCAPTCHA v3, set recaptchaType to v3 in the task body. For reCAPTCHA Enterprise v3, use enterprise-v3, which is also the default when you omit the field.

On this page

Prepare the profile, hostname, action and proxy

Standard v3 still requires an active site profile available to your workspace. Set up the target site in the console before creating a task; sending a hostname and action doesn't create the profile.

  • site: the target hostname, such as accounts.example.com, not a full page URL.
  • action: the action used by the target's reCAPTCHA integration. Replace the example's login if the target uses something else. See how to find the action.
  • proxy or proxyCandidates: supply exactly one. The example uses a single proxy. If you use candidates instead, the list accepts at most six distinct HTTP or HTTPS proxy URLs, without a path, query or fragment.

Send the standard v3 task

Send this JSON body to POST https://api.solvethree.com/v1/tasks. Authenticate with a workspace API key in the Authorization header using the Bearer scheme. Keep the key on your server.

Standard v3 · task body
{
  "site": "accounts.example.com",
  "action": "login",
  "recaptchaType": "v3",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "v3-login-001"
}

recaptchaType belongs at the top level, alongside site, action and proxy. Don't add a type or url field for reCAPTCHA.

Replace the sample hostname, action and proxy with your target's values. Use a new requestId for each new logical solve. If creation times out, resend the same task body with the same ID to recover the existing task rather than creating another one. Reusing that ID with different inputs conflicts.

Wait for ready, then submit the token

  1. 1.

    Check the HTTP response first

    Handle a non-success HTTP response before reading the body as a task result. Check the status and fix the reported request error.

  2. 2.

    Retrieve the task until it finishes

    Creation waits up to 15 seconds by default; allow extra time in your client timeout for network overhead. If the status is pending or solving, retrieve the task with GET /v1/tasks/:id. GET polling doesn't wait by default; for long polling, pass waitMs up to 15000 as a URL query parameter, not a JSON field. Stop polling on ready or failed. For failed, inspect errorCode and error before deciding whether another attempt makes sense.

  3. 3.

    Use the ready solution

    Submit solution.token to the intended target—not the task ID. Use the returned userAgent and secChUa, together with the successful proxy. Don't switch IPs or substitute an unrelated browser identity between solving and submission.

A ready token isn't proof of a particular reCAPTCHA score or target acceptance. reCAPTCHA v3 produces a risk score and action that the target evaluates on its backend; check the target's response to the request that submits the token.

Run your first task.

Start with $5 in workspace credit.

Create a workspace