Документация
Справочник по API и руководство по интеграции
ОбзорFunCaptchaFunCaptcha ProxylessFunCaptcha BDACastlereCAPTCHA v2reCAPTCHA v2 EnterprisereCAPTCHA v3reCAPTCHA v3 EnterpriseTurnstilehCaptchaCloudflareImage→TextMath ImageFC ClassificationDataDome
FunCaptcha BDA
Отдаём только готовый BDA (зашифрованный отпечаток браузера для Arkose) и сам отпечаток. Картинки мы не решаем и токен не получаем — BDA вы отправляете в Arkose сами (параметр c в /fc/gt2/public_key/<key>). BDA собирается тем же путём, что в нашем FunCaptchaTask.
Цена за 1000 успешных запросов:$0.45 / 1k
Параметры task
HTTP
POST https://api.funsolver.com/createTask
Content-Type: application/json
{
"clientKey": "fsk_abc...",
"task": {
"type": "FunCaptchaBDA",
"websiteURL": "https://www.roblox.com/login",
"websitePublicKey": "476068BF-9607-4799-B53D-966BE98E2B81",
"proxy": "http://user:pass@host:port"
}
}typestringrequired
"FunCaptchaBDA"websiteURLstringrequired
Страница, на которой стоит FunCaptcha.
websitePublicKeystringrequired
Публичный ключ Arkose (sitekey).
proxystringrequired
Прокси, с которого вы будете отправлять BDA. Из него берутся гео и часовой пояс, зашитые в BDA — отправляйте с того же IP.
datastring
Не нужен: blob (
data[blob]) передаётся в /fc/gt2 отдельно от BDA — подставьте свой.Ответ getTaskResult
JSON
{
"errorId": 0,
"status": "ready",
"solution": {
"type": "FunCaptchaBDA",
"bda": "uOncvI+V3jr77vPqLvVowGjq...",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:150.0) Gecko/20100101 Firefox/150.0",
"capiVersion": "4.5.0",
"headers": {
"user-agent": "Mozilla/5.0 (...) Firefox/150.0",
"accept-language": "en-US,en",
"x-ark-esync-value": "1790143200",
"ark-build-id": "...",
"Origin": "https://www.roblox.com",
"Referer": "https://www.roblox.com/"
},
"fingerprint": { "os": "...", "navigator": {}, "canvas": {}, "webGL": {}, "fonts": [] },
"bdaPlain": [ { "key": "api_type", "value": "js" }, { "key": "enhanced_fp", "value": [] } ]
},
"processingTime": 1.2
}bdastring
Зашифрованный BDA — значение параметра
c для /fc/gt2.userAgentstring
UA, под который собран BDA. Слать строго с ним (и в заголовке, и в
userbrowser).capiVersionstring
Значение
capi_version для /fc/gt2.headersobject
Заголовки, с которыми отправлять запрос в
/fc/gt2. Особенно важен x-ark-esync-value — BDA зашифрован под него.fingerprintobject
Отпечаток браузера, под который собран BDA (навигатор, canvas, WebGL, шрифты, экран и т.д.).
bdaPlainarray
Содержимое BDA в открытом виде — ровно то, что зашифровано в
bda.Отправка BDA в Arkose
Python
sol = result["solution"]
body = {
"c": sol["bda"],
"public_key": "476068BF-9607-4799-B53D-966BE98E2B81",
"site": "https://www.roblox.com",
"userbrowser": sol["userAgent"],
"capi_version": sol["capiVersion"],
"capi_mode": "inline",
"style_theme": "default",
"rnd": str(random.random()),
"data[blob]": blob, # your blob, if the site requires one
}
r = session.post(
"https://roblox-api.arkoselabs.com/fc/gt2/public_key/476068BF-9607-4799-B53D-966BE98E2B81",
data=body,
headers=sol["headers"], # same UA / x-ark-esync-value / ark-build-id
proxies={"https": PROXY}, # same proxy as in the task
)BDA одноразовый и быстро устаревает (привязан к x-ark-esync-value) — используйте его сразу после получения.
Заметил ошибку в доке? Напиши в саппорт.
Для ИИ-агентов: машиночитаемый справочник — /llms.txt