Skip to content
../products
● fastest in class

Capy Puzzle Solver, solved in 5.0s.

Solve Capy jigsaw puzzle captchas used on Japanese sites. Returns captchakey, challengekey, and answer tokens.

per 1,000$2.00
avg solve~5.0s
success99%+
throughput12/m
websiteKey: PUZZLE_abc123def456…0.00s
POST/createTask type=CapyTaskProxyLess
taskId tsk_1l1q4ms3
POLL/getTaskResult status=processing
status ready
token 0x950df1d6876d8...
type: CapyTaskProxyLess● running on production solvers

What is Capy Puzzle?

Capy (capy.me) is a Japanese captcha service that presents a jigsaw puzzle — the user drags a puzzle piece to complete an image. It's used primarily on Japanese websites and some international sites.

How It Works

1

Send Task

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

2

We Solve

Capzy's proprietary solver returns the Capy Puzzle solution payload ready for direct submission. Designed for authorized testing and automation.

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": "CapyTaskProxyLess",
        "websiteKey": "PUZZLE_abc123def456",
        "websiteURL": "https://example.jp/form"
    }
}).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)

Using Your Own Proxy

Use CapyTask instead of CapyTaskProxyLess 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": "CapyTask",
        "proxyPort": "8080",
        "proxyType": "http",
        "proxyLogin": "user",
        "websiteKey": "PUZZLE_abc123def456",
        "websiteURL": "https://example.jp/form",
        "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)

additional proxy parameters

proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5
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.

typetypestringreqyesCapyTaskProxyLess or CapyTask
websiteURLtypestringreqyesThe page URL
websiteKeytypestringreqyesThe sitekey (starts with PUZZLE_)

solution response.

captchakeytypestringChallenge identifier
challengekeytypestringPer-session challenge value
answertypestringHex-encoded solved puzzle answer

Features

OpenCV puzzle solving
Rare-coverage captcha — most solvers don't support it
Japanese site compatibility
Human-like drag simulation

ProxyLess Task Type

CapyTaskProxyLess

With Proxy

CapyTask

start solving capy puzzle.

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