Документация
Справочник по API и руководство по интеграции
FunCaptcha
Цена за 1000 успешных решений:$1.40 / 1k
Пример тела createTask
{
"clientKey": "fsk_your_api_key_here",
"task": {
"type": "FunCaptchaTask",
"websiteURL": "https://account.battle.net/recovery/ru/identify-account.html",
"websitePublicKey": "9C3260E3-AD4C-6719-E0A9-56D21BFB0BCD",
"proxy": "http://user:pass@host:port",
"funcaptchaApiJSSubdomain": "blizzard-api.arkoselabs.com"
}
}Параметры task
type"FunCaptchaTask"websiteURLwebsitePublicKeyproxyhttp://user:pass@host:port. Поддерживаются http, https, socks5.funcaptchaApiJSSubdomaindata"{"blob":"..."}". Требуется только для некоторых сайтов (см. карточки ниже).userAgentcookies"name=val; name2=val2" или объект {"name":"val"}. Для Uber — обязательно для стабильного решения без волн.Известные интеграции
Если работаешь с одним из этих сайтов — скопируй готовое тело createTask. Конфигурация для известных sitekey подставляется автоматически.
Battle.net Login
https://account.battle.net/login/en-us/
Battle.net Register
https://account.battle.net/creation/flow/creation-full
Roblox Register
https://www.roblox.com/CreateAccount
Roblox Recovery
https://www.roblox.com/login/forgot-password
Roblox Login
https://www.roblox.com/login
AT&T Sign-in
https://signin.att.com/dynamic/iamLRR/LrrController
AT&T Sign-in (key 2)
https://signin.att.com/dynamic/iamLRR/LrrController
GitHub Signup
https://github.com/signup
Twitter / X Signup
https://iframe.arkoselabs.com/2CB16598-CB82-4CF7-B332-5990DB66F3AB/index.html
Vinted Signup
https://www.vinted.com/member/signup/select_type
HBO Max Login
https://auth.hbomax.com/login
Uber Login
https://auth.uber.com/login
Tinder Login
https://tinder.com/
Outlook
https://iframe.arkoselabs.com/FB98C7DB-7AFF-DD4C-A55B-6CF11267BC91/index.html
Полный пример (Python)
import requests, time
API = "https://api.funsolver.com"
KEY = "fsk_your_api_key_here"
create = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "FunCaptchaTask",
"websiteURL": "https://account.battle.net/recovery/ru/identify-account.html",
"websitePublicKey": "9C3260E3-AD4C-6719-E0A9-56D21BFB0BCD",
"proxy": "http://user:pass@host:port",
},
}).json()
task_id = create["taskId"]
while True:
r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task_id}).json()
if r.get("status") == "ready":
print("token:", r["solution"]["token"])
break
if r.get("errorId"):
raise RuntimeError(r["errorCode"], r.get("errorDescription"))
time.sleep(1.5)