Your first CAPTCHA solve on solvethree

By solvethree4 min read

Start with one reCAPTCHA Enterprise solve, not a batch. You’ll need a workspace API key, an active site profile and your own HTTP proxy. Then submit the returned token to the target before scaling up.

On this page

1. Set up your workspace and API key

  1. 1.

    Register and set up your workspace

    Start at registration. Use the same workspace for your API key, site profile and credit.

  2. 2.

    Create a key

    Open API keys in the console. Select Create API key, enter a Key name, then select Create key.

  3. 3.

    Save the secret

    Copy the secret shown under Save your API key and store it securely before selecting I saved this key. Reveal prefixes won’t recover the complete secret later. Keep the key on your server, not in browser code.

Welcome credit is $5. If you need to add funds, the minimum deposit is $10. reCAPTCHA costs $2.00 per 1,000 solves; a ready task is billed and a failed solve is refunded.

2. Activate the target’s site profile

  1. 1.

    Add the target page

    Open Site profiles and select Add a site. Enter the target’s HTTPS Page URL and choose Enterprise v3.

  2. 2.

    Set the capture action

    Use the action required for the operation you’re integrating. The request example below uses login, so use that only if it’s the target’s actual action. Add one profile per hostname, capture action and reCAPTCHA type.

  3. 3.

    Wait for active status

    Select Add site. Some accounts will first see Add credit to continue. Depending on the submission, the profile may pass through capture, validation or review states. Continue only when it is active; there’s no guaranteed capture duration. If capture fails, read the reason before retrying.

Sending a hostname and action in a task does not create a profile. For this first solve, use the profile’s exact capture action in the task. See site profile setup for optional fields and action selection.

3. Send one Enterprise request

Send the following body to POST https://api.solvethree.com/v1/tasks. Authenticate with the Authorization header using Bearer followed by your workspace API key.

reCAPTCHA Enterprise · request shape
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}
  • Replace site with the target hostname, not its full page URL. Replace action with the action selected for your first solve.
  • Replace proxy with your HTTP proxy URL and credentials. This request uses one proxy; don’t also send proxyCandidates.
  • Choose a requestId for this logical request and keep it with the submitted inputs. It accepts 1–64 ASCII letters, numbers, underscores or hyphens.
  • Leave out type and url. With recaptchaType omitted, the request defaults to Enterprise v3.

For a complete Python implementation, use reCAPTCHA Enterprise in Python. The request here shows the values you need to prepare first.

4. Retrieve the task until it finishes

Keep the task ID returned by creation. Retrieve it with GET https://api.solvethree.com/v1/tasks/:id, replacing :id with that ID and using the same Bearer authentication.

  • Check for a non-success HTTP response before reading the body as a successful task response.
  • While status is pending or solving, continue polling. Neither status contains a usable solution.
  • When status is ready, stop polling and read solution.
  • When status is failed, stop polling and inspect errorCode and error. The failed solve is refunded.

A ready response has this shape. These token and browser-identity values are placeholders, not a live solution.

Example ready response · placeholder credentials
{
  "id": "example-task",
  "status": "ready",
  "solution": {
    "token": "EXAMPLE_TOKEN",
    "userAgent": "EXAMPLE_USER_AGENT",
    "secChUa": "EXAMPLE_CLIENT_HINTS"
  }
}

5. Submit the token with the same proxy and browser identity

  1. 1.

    Send the token, not the task ID

    Put solution.token where the intended target expects its reCAPTCHA token. Inspect the outgoing request to make sure it isn’t sending the task ID or an old token.

  2. 2.

    Use the returned browser identity

    Use solution.userAgent and solution.secChUa for the target request, together with the same proxy supplied for this solve. Don’t mix them with an unrelated browser identity or submit the token to a different target URL.

  3. 3.

    Check the target’s response

    Confirm that the target accepted the intended operation. A ready task means solvethree generated a solution; it doesn’t guarantee that the target accepts your subsequent request.

Before starting a batch, get this single request accepted by the target. If it’s rejected, check the submitted token, browser identity, proxy and target URL before buying more solves.

Run your first task.

Start with $5 in workspace credit.

Create a workspace