Was this helpful?
How to Solve reCAPTCHA v3 Enterprise on waze.com
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
websiteURLandwebsiteKey - The
minScoreparameter 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:
- websiteKey — for example
6Lf4WdUqAAAAAEUYUvzyLYIkO3PoFAqi8ZHGiDLW- Search the source code for
data-sitekeyor network requests for thekparameter
- Search the source code for
- websiteURL —
https://www.waze.com/live-map - pageAction — often not explicitly set, use
verifyas default - 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
{
"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
{
"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
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Response When Ready:
json
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03ADUVZwB7eLoqnBxvi5H...kA4Si3qH0rR0g"
}
}
Response If Task Is Still Processing:
json
{
"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:
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
POST https://api.2captcha.com/reportCorrect
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
If Waze Rejected the Token:
json
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
- reCAPTCHA v3 API Documentation
- reportIncorrect Method
- reportCorrect Method
- Code Examples on GitHub
- 2Captcha Support
Checklist
- API key obtained from 2Captcha account dashboard
-
websiteKeyandwebsiteURLextracted from Waze page -
isEnterprise: trueadded to the task -
minScore: 0.3set (can be adjusted) - Token passed in request via
g-recaptcha-responseparameter - Sending
reportCorrect/reportIncorrectimplemented 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.