Captcha bypass tutorials

Was this helpful?

How to Solve reCAPTCHA v3 Enterprise on waze.com

Kate Push

Technical engineer

Introduction

This guide describes integration with 2Captcha for bypassing reCAPTCHA v3 Enterprise on https://www.waze.com/live-map.

Key point: reCAPTCHA v3 returns a token with a score. Waze makes decisions based on this score, so the minScore parameter is critical. Start with 0.3 and adjust if needed.

General Information

Waze uses the Enterprise version of reCAPTCHA v3. You can tell by the enterprise.js script being loaded instead of api.js.

Important notes:

  • The token is valid only for a specific websiteURL and websiteKey
  • The minScore parameter affects token quality and solving time
  • After receiving the token, you must verify it on the target site and send feedback to 2Captcha

Environment Setup

You will need:

  • API key from your 2Captcha account dashboard
  • HTTP client for POST requests with JSON (curl, Postman, requests, etc.)

Analyzing waze.com

Extract the following parameters from https://www.waze.com/live-map:

  1. websiteKey — for example 6Lf4WdUqAAAAAEUYUvzyLYIkO3PoFAqi8ZHGiDLW
    • Search the source code for data-sitekey or network requests for the k parameter
  2. websiteURLhttps://www.waze.com/live-map
  3. pageAction — often not explicitly set, use verify as default
  4. isEnterprise — set to true, since Waze uses the Enterprise version

Implementation

Step 1. Creating the Task

Send a POST request to https://api.2captcha.com/createTask.

Example Request for Waze:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "RecaptchaV3TaskProxyless",
        "websiteURL": "https://www.waze.com/live-map",
        "websiteKey": "6Lf4WdUqAAAAAEUYUvzyLYIkO3PoFAqi8ZHGiDLW",
        "minScore": 0.9,
        "pageAction": "verify",
        "isEnterprise": true
    }
}

Example Response:

json Copy
{
    "errorId": 0,
    "taskId": 74455221488
}

Save the taskId to poll for the result.

Step 2. Polling the Result

Poll https://api.2captcha.com/getTaskResult.

Example Request:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Response When Ready:

json Copy
{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "gRecaptchaResponse": "03ADUVZwB7eLoqnBxvi5H...kA4Si3qH0rR0g"
    }
}

Response If Task Is Still Processing:

json Copy
{
    "errorId": 0,
    "status": "processing"
}

Keep polling until status becomes ready.

Step 3. Using the Token in a Request to Waze

Add the received token to the g-recaptcha-response parameter when making a request to the Waze API:

Copy
GET https://www.waze.com/live-map/api/georss?top=-26.54&bottom=-28.31&left=151.65&right=154.03&env=row&types=alerts,traffic&g-recaptcha-response=03ADUVZwB7eLoqnBxvi5H...kA4Si3qH0rR0g

Analyze the response:

  • 200 OK — token accepted, send reportCorrect
  • 403/429 — token rejected, send reportIncorrect

Step 4. Sending Feedback

If Waze Accepted the Token:

json Copy
POST https://api.2captcha.com/reportCorrect

{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

If Waze Rejected the Token:

json Copy
POST https://api.2captcha.com/reportIncorrect

{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Sending reports improves solution quality and allows refunds for incorrect tokens.

Parameter Explanations

Parameter Value for Waze Note
type RecaptchaV3TaskProxyless Use Proxyless, since using proxies with this captcha type worsens minScore
websiteURL https://www.waze.com/live-map Must exactly match the address where the captcha loads
websiteKey From page source code Changes rarely, but check periodically
minScore 0.3 Start with a low value and adjust if needed
pageAction verify If not explicitly set on the page, try omitting it
isEnterprise true Required for Waze

Common Errors

Error Cause Solution
ERROR_WRONG_USER_KEY Invalid API key Check the key in your 2Captcha dashboard
ERROR_NO_SLOT_AVAILABLE High load Retry after 10 to 30 seconds
ERROR_ZERO_BALANCE Insufficient funds Top up your balance
Token rejected (403) Low score or wrong action Increase minScore to 0.9, check pageAction
isEnterprise not set Waze requires Enterprise version Add "isEnterprise": true
Overusing reportIncorrect Many complaints with low conversion Check your token validation logic before sending reports

Additional Resources

Checklist

  • API key obtained from 2Captcha account dashboard
  • websiteKey and websiteURL extracted from Waze page
  • isEnterprise: true added to the task
  • minScore: 0.3 set (can be adjusted)
  • Token passed in request via g-recaptcha-response parameter
  • Sending reportCorrect / reportIncorrect implemented after checking Waze response
  • Logging configured for debugging

Conclusion

To bypass reCAPTCHA v3 Enterprise on Waze, use the RecaptchaV3TaskProxyless task with isEnterprise: true and minScore: 0.3. After receiving the token, always verify it on the target endpoint and send feedback to 2Captcha.

Experiment with minScore if tasks take too long or are frequently rejected. Do not forget about error handling and logging, this will ensure stable integration performance.