From 2Captcha
Drop-in replacement for https://api.2captcha.com and https://2captcha.com. We speak both transports — the modern JSON v2 protocol and the legacy in.php / res.php plain-text wire — under the same /2captcha/… prefix. Pick the one your SDK already targets.
Modern JSON v2
Used by newer 2Captcha SDKs and code shared from CapSolver examples.
Switch in two lines
Change the base URL
https://api.2captcha.com → https://captcha.solvium.io/2captcha
Use your Solvium key as clientKey
Issue one via @solvium_crypto_bot. Pass it where the SDK expects clientKey — same field, same place.
Request and response shapes match 2Captcha's JSON v2 docs field-for-field — createTask, getTaskResult, getBalance are all mounted under /2captcha/….
Legacy in.php / res.php
Used by virtually every existing 2Captcha SDK in the wild — Python's 2captcha-python, the PHP / Node / .NET clients, and most of the copy-paste solutions you'll find online.
Switch the host
https://2captcha.com → https://captcha.solvium.io/2captcha
The full paths are https://captcha.solvium.io/2captcha/in.php and …/res.php. Same plain-text responses by default (OK|<id>, CAPCHA_NOT_READY, ERROR_*), JSON when you pass json=1. GET, POST form-data, and POST JSON bodies are all accepted.
Auth: pass your Solvium API key as the key query/form parameter.
Example
The official 2captcha-python package — flip the host and you're done:
from twocaptcha import TwoCaptcha
solver = TwoCaptcha("YOUR_API_KEY", server="captcha.solvium.io/2captcha")
result = solver.turnstile(
sitekey="0x4AAAAAAA-3X4Nd7hf3mNGx",
url="https://example.com",
)
print(result["code"])Error codes
Errors translate to 2Captcha's ERROR_* strings on both the legacy and JSON v2 protocols:
| What happened | Legacy / JSON v2 |
|---|---|
| API key missing or unknown | ERROR_KEY_DOES_NOT_EXIST |
| Account balance below task price | ERROR_ZERO_BALANCE |
method / type not supported | ERROR_NO_SUCH_METHOD / ERROR_TASK_NOT_SUPPORTED |
| Body missing required fields | ERROR_BAD_PARAMETERS |
id unknown / belongs to another account | ERROR_NO_SUCH_CAPCHA_ID |
| Solve attempt failed terminally | ERROR_CAPTCHA_UNSOLVABLE |
| Result not ready yet (legacy only) | CAPCHA_NOT_READY |