Skip to content
../products
Yandex SmartCaptchaYandexSmartCaptchaTaskProxyLess

Yandex SmartCaptcha Solver, solved in 5.0s.

Solve Yandex SmartCaptcha (checkbox + audio/text challenges). Returns a validation token. Routed through residential by default.

$2.00per 1,000
~5.0savg solve
99%+success
12/mthroughput
websiteKey: ysc1_bFdbbET5WBnPTvoE5jTXxxx…0.00s
POST/createTask type=YandexSmartCaptchaTaskProxyLess
taskId tsk_80z6ftzd
POLL/getTaskResult status=processing
status ready
token 0xea0d82b5e677e...
type: YandexSmartCaptchaTaskProxyLess● running on production solvers

What is Yandex SmartCaptcha?

Yandex SmartCaptcha is used by Yandex services and Russian websites. It presents a checkbox ('I'm not a robot') and escalates to a synthetic-tone audio challenge or visual puzzle when it detects suspicious traffic. Tokens are single-use with a 5-minute TTL. The customer validates them server-side via Yandex's API.

How it works

1

Send Task

POST your YandexSmartCaptchaTaskProxyLess with the target URL and sitekey to our API. We'll queue it instantly.

2

We Solve

Capzy's proprietary solver returns valid Yandex SmartCaptcha tokens. ProxyLess is routed for you; YandexSmartCaptchaTask with your own proxy gives the highest success rate.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick integration

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "YandexSmartCaptchaTaskProxyLess",
        "websiteKey": "ysc1_bFdbbET5WBnPTvoE5jTXxxxx",
        "websiteURL": "https://example.ru/login"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

# Step 3: Use the result — paste the token into g-recaptcha-response
token = result["solution"]["gRecaptchaResponse"]
# Browser side: document.querySelector('textarea[name="g-recaptcha-response"]').value = token
# Or include it in your form POST:
resp = requests.post("https://target.example.com/login", data={
    "username": "...",
    "password": "...",
    "g-recaptcha-response": token,
})
print(resp.status_code)

Using your own proxy

Use YandexSmartCaptchaTask instead of YandexSmartCaptchaTaskProxyLess to route the solve through your own proxy. This is useful when the target site checks the IP that solved the captcha matches the IP submitting the form.

solve_proxy.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "YandexSmartCaptchaTask",
        "proxyPort": "8080",
        "proxyType": "http",
        "proxyLogin": "user",
        "websiteKey": "ysc1_bFdbbET5WBnPTvoE5jTXxxxx",
        "websiteURL": "https://example.ru/login",
        "proxyAddress": "123.45.67.89",
        "proxyPassword": "pass"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

# Step 3: Use the result — paste the token into g-recaptcha-response
token = result["solution"]["gRecaptchaResponse"]
# Browser side: document.querySelector('textarea[name="g-recaptcha-response"]').value = token
# Or include it in your form POST:
resp = requests.post("https://target.example.com/login", data={
    "username": "...",
    "password": "...",
    "g-recaptcha-response": token,
})
print(resp.status_code)

additional proxy parameters

proxyTypetypestringreqyesProxy protocol: http or https
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the token

Task parameters

typetypestringreqyesYandexSmartCaptchaTaskProxyLess or YandexSmartCaptchaTask
websiteURLtypestringreqyesThe page URL
websiteKeytypestringreqyesThe sitekey (starts with ysc1_ or demo format)

Solution response

tokentypestringThe Yandex SmartCaptcha clearance token. Drop into the `smart-token` or `yandex-captcha-token` form field, depending on the integration.
gRecaptchaResponsetypestringAlias of `token`. Some sites integrate Yandex SmartCaptcha through a reCAPTCHA-compatible wrapper that expects this field name — submit either, whichever the form expects.

Example response

Full getTaskResult response shape. The fields in the table above describe what's inside solution — the outer envelope (errorId, status) is identical for every captcha type.

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "dD9KbWxoLlh5Pm83cw==.long_yandex_smart_token_string",
    "gRecaptchaResponse": "dD9KbWxoLlh5Pm83cw==.long_yandex_smart_token_string"
  }
}

Error response

Failures use the same envelope with errorId: 1 plus errorCode + errorDescription. See the error-code reference for the full list.

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up — automatically refunded."
}

Pending response

While the solver is still working, getTaskResult returns status: "processing". Poll every 1–2 seconds until ready or failed.

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

Features

Solves checkbox + audio challenges
Token single-use, 5-min TTL
Use your own proxy on the Task variant for the highest success rate

task types

proxyless: YandexSmartCaptchaTaskProxyLess

with proxy: YandexSmartCaptchaTask

Frequently asked questions

start solving yandex smartcaptcha.

$0.10 in free credits — no card. ~250 free solves to test before you spend.