What is FunCaptcha (Arkose Labs)?
FunCaptcha (by Arkose Labs) presents interactive puzzles: rotating 3D objects to match a target, selecting matching images, or identifying objects in scenes. FunCaptcha is considered one of the harder captchas to solve automatically due to its visual complexity.
How It Works
Send Task
POST your FunCaptchaTaskProxyLess with the target URL and sitekey to our API. We'll queue it instantly.
We Solve
Capzy's proprietary solver returns valid FunCaptcha tokens for rotation, matching, and selection puzzles. Designed for authorized testing and automation.
Get Token
Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.
Quick Integration
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": "FunCaptchaTaskProxyLess",
"websiteKey": "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC",
"websiteURL": "https://example.com"
}
}).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 FunCaptchaTask instead of FunCaptchaTaskProxyLess 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.
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": "FunCaptchaTask",
"proxyPort": "8080",
"proxyType": "http",
"proxyLogin": "user",
"websiteKey": "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC",
"websiteURL": "https://example.com",
"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 socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the tokentask parameters.
typetypestringreqyesFunCaptchaTaskProxyLess or FunCaptchaTaskwebsiteURLtypestringreqyesThe page URLwebsiteKeytypestringreqyesThe public key (found in the FunCaptcha init call)subdomaintypestringreqnoCustom API subdomain if the site uses onesolution response.
tokentypestringThe solved FunCaptcha tokenFeatures
ProxyLess Task Type
FunCaptchaTaskProxyLessWith Proxy
FunCaptchaTaskFrequently Asked Questions
start solving funcaptcha (arkose labs).
$0.10 in free credits — no card. ~250 free solves to test before you spend.