One API for every captcha and bot-detection challenge your targets throw at you. Fast, reliable, and built for automation at scale.



An enterprise-grade captcha solver designed for your specific use case.
Build reliable web scraping pipelines with seamless captcha handling and consistently high success rates, even against heavily protected sites.
Automate structured data extraction from dynamic public websites with captcha solving that keeps pace with your crawlers, without manual intervention.
Plug the API into Selenium, Playwright, Puppeteer, or your own automation stack to keep testing pipelines and RPA workflows running past captcha checkpoints.
{
"api_key": "YOUR_API_KEY",
"type": "RecaptchaV3",
"site_url": "https://example.com/contact",
"data": {
"site_key": "6LcXXXXXXXXXXXXXXXXXXXXXX",
"page_action": "contact_submit"}
}{
"errorId": 0,
"status": "ready",
"solvtime": 1.38,
"data": {
"useragent": "Mozilla/5.0 (Windows NT 10.0...) ...",
"language": "en-US,en;q=0.9",
"solution": {
"token": "03AGdBq25SqKmv...",
"cookie": "_GRECAPTCHA=09AKhCRw..."}
}
}Threads define how many captchas your account can process simultaneously. Scale from 2 to 200 threads - every plan includes unlimited solves.
Higher concurrency means faster throughput for scraping, automation, and high-volume pipelines. Upgrade or downgrade anytime - unused threads roll over to the next month.
Perfect for getting started and small projects.
Best value for growing teams and production use.
For high-volume operations and enterprise scale.

Every task you send is tracked live from submission to solution, so you always see exactly what's queued, in progress, and completed across your account.
When an anti-bot system rolls out a new defense, our team ships a fix in roughly half a day to a day. Your integration keeps calling the same endpoint the whole time, so your flow keeps running without code changes on your end.
Tasks that fail or come back invalid are never billed. You're charged strictly for challenges we actually solve, so a rough patch on a target's side never eats into your balance.
Funds you add stay on your account for good, with no monthly reset and no forced expiry. Spend it whenever you like, across any challenge type we support, at your own pace.
The solving infrastructure runs across redundant workers with automatic failover, so a single worker or region having issues doesn't take your tasks down with it. Production traffic keeps flowing around the clock.
Open-source client libraries for the languages you already use, with more on the way.
github.com/CaptchaSolvTargets bury their protection behind obfuscated bundles, virtual machines, and shifting fingerprints. You don't have to reverse any of it. One REST call returns a ready-to-use token - the messy part stays on our side.
(function(_0x2b6f40,_0x3273e2){const _0x2d07a4=_0x3538,_0x554293=_0x2b6f40();while(!![]){try{const _0x1522b3=-parseInt(_0x2d07a4(0x143))/(0x2135+-0x91*0x37+0x20d*-0x1)*(-parseInt(_0x2d07a4(0x137))/(-0x6f5+0x11d3+-0xadc))+-parseInt(_0x2d07a4(0x144))/(-0x3cf+0x1fa3+0x1bd1*-0x1)*(-parseInt(_0x2d07a4(0x124))/(-0x2538+0x425*0x2+0x1cf2))+parseInt(_0x2d07a4(0x121))/(-0xca9+0x12dd+-0x1*0x62f)+-parseInt(_0x2d07a4(0x13a))/(0x1fe*0x11+0x2081+0x4259*-0x1)*(parseInt(_0x2d07a4(0x152))/(0x33d*0x4+0x9f5+0x1d*-0xca))+parseInt(_0x2d07a4(0x13f))/(0x1662+0xb*0x2ce+-0x3534)+-parseInt(_0x2d07a4(0x122))/(-0x1af6+0x1*-0x1f63+-0x9f*-0x5e)*(parseInt(_0x2d07a4(0x14d))/(-0x653+0xe26+-0x7c9))+parseInt(_0x2d07a4(0x131))/(0x73f+0x7*-0x52b+0x1cf9)*(parseInt(_0x2d07a4(0x149))/(-0xfa0+-0x253*-0x7+0x33*-0x3));if(_0x1522b3===_0x3273e2)break;else _0x554293['push'](_0x554293['shift']());}catch(_0x36049d){_0x554293['push'](_0x554293['shift']());}}}(_0x3ec2,0x2e1c0*0x1+0xb23f*-0x6+0x8a4bc));
const solve=(_0x267bc2,_0x349a87,_0x4f1031)=>{const _0x113132=_0x3538,_0x45747a={'AbcEG':function(_0x380518,_0x4c7757){return _0x380518+_0x4c7757;},'optQt':function(_0x4027a3,_0xe159cf){return _0x4027a3-_0xe159cf;},'wGIDX':function(_0x18c965,_0x3da55c){return _0x18c965(_0x3da55c);},'MjyBO':function(_0x4162c7,_0x5478c9){return _0x4162c7<_0x5478c9;},'KLhNI':function(_0x4dccb4,_0x181371){return _0x4dccb4!==_0x181371;},'QfqPh':function(_0x159f20,_0x24c7b4){return _0x159f20===_0x24c7b4;},'ZQGYO':function(_0x57a6d2,_0x7998a0){return _0x57a6d2^_0x7998a0;},'tIHyS':function(_0x4f58a4,_0x4f057d){return _0x4f58a4!==_0x4f057d;},'mWvnN':function(_0x301864,_0xc01bca){return _0x301864>>>_0xc01bca;},'Mylup':function(_0x5bbb09,_0x3e9e91){return _0x5bbb09<_0x3e9e91;},'MunfZ':function(_0x4369e6,_0x4a4a85){return _0x4369e6*_0x4a4a85;},'UdlBt':function(_0x2e6336,_0x5efca3){return _0x2e6336|_0x5efca3;},'DzviZ':function(_0x2b39c2,_0x148921){return _0x2b39c2+_0x148921;},'TNcFy':function(_0x3a09f9,_0x465e45){return _0x3a09f9%_0x465e45;},'mVtHx':function(_0x5b5826,_0x21d163){return _0x5b5826-_0x21d163;},'ZCltd':function(_0x5a39c9,_0x12ee42){return _0x5a39c9*_0x12ee42;},'vDwqD':function(_0x300ac0,_0x62bfde){return _0x300ac0/_0x62bfde;},'zgtWC':function(_0xd888f5,_0x4e1af2){return _0xd888f5+_0x4e1af2;},'tDryf':function(_0x50aedc,_0x848945){return _0x50aedc-_0x848945;},'tWjKJ':function(_0x5052bc,_0x43b8f3){return _0x5052bc(_0x43b8f3);}},_0x52481b=_0x349a87[_0x113132(0x133)],_0x249158=_0x45747a[_0x113132(0x12d)](_0x52481b,_0x4f1031),_0x5a76b8=0x5*-0x283+-0x9ab*0x2+0x1ff5,_0x40680d=_0x45747a[_0x113132(0x14b)](Math[_0x113132(0x14f)](_0x45747a[_0x113132(0x125)](Date[_0x113132(0x128)](),0x1dc562*0x5+-0x204b345*-0x1+0x78b6*-0x33d)),_0x5a76b8),_0x554b97=[_0x40680d,_0x45747a[_0x113132(0x14a)](_0x40680d,_0x5a76b8),_0x45747a[_0x113132(0x13d)](_0x40680d,_0x5a76b8)],_0x210828=new Map(_0x349a87[_0x113132(0x135)]((_0x2cc0cb,_0x3e0fc5)=>[_0x2cc0cb,_0x3e0fc5]));let _0x40186e=0x19*0x5e1f99+-0x568d22c8+0x1*0x78ea5ad4;
const _0x38617e=_0x45b724=>{const _0x13135a=_0x113132,_0xef9b5f=Array[_0x13135a(0x14c)](_0x45747a[_0x13135a(0x146)](String,_0x45b724),Number),_0x4ea6a8=_0xef9b5f[_0x13135a(0x145)]((_0x1fcf0f,_0x1ae1d8,_0x118ed0)=>{const _0x493814=_0x13135a;return _0x1fcf0f[_0x493814(0x153)](_0x45747a[_0x493814(0x13e)](_0x1fcf0f[_0x45747a[_0x493814(0x14a)](_0x118ed0,-0x2ae*0x4+-0x5a*-0x57+-0x13dd)]||0x9d*0x7+-0x815+0x3ca,_0x1ae1d8)),_0x1fcf0f;},[]);let _0x232300=0x1623*-0x1+0x812*-0x4+0x366b*0x1;
const _0x5f4b6f=_0x538f2c=>_0x538f2c-_0x4ea6a8[_0x232300++%_0x4ea6a8[_0x13135a(0x133)]],_0x1a09d4=[];let _0x4df7e3=0x1e51+-0x1*-0x2464+-0x1*0x42b5;
while(_0x45747a[_0x13135a(0x132)](_0x4df7e3,_0x267bc2[_0x13135a(0x133)])){let _0x2f1899=0x6*-0x3b9+0x1183*-0x1+0x27d9,_0x34538e=-0xa9*0x1+0x21f*0x6+-0xc10;
if(_0x45747a[_0x13135a(0x150)](_0x40186e,undefined)&&_0x45747a[_0x13135a(0x141)](_0x1a09d4[_0x13135a(0x133)],0x12cd+-0x451*0x3+-0x5c8)){/* ...integrity check omitted... */}
while(!![]){const _0x56dafe=_0x210828[_0x13135a(0x12a)](_0x267bc2[_0x4df7e3++])||-0x1*0xaa2+-0x335+0x49d*0x3;
if(_0x45747a[_0x13135a(0x139)](_0x56dafe,_0x4f1031)){_0x2f1899+=_0x45747a[_0x13135a(0x148)](_0x34538e,_0x56dafe),_0x1a09d4[_0x13135a(0x153)](_0x45747a[_0x13135a(0x146)](_0x5f4b6f,_0x45747a[_0x13135a(0x13c)](_0x2f1899,-0xc01*-0x2+0x112+-0x1914)));break;}
_0x2f1899+=_0x45747a[_0x13135a(0x148)](_0x34538e,_0x45747a[_0x13135a(0x130)](_0x45747a[_0x13135a(0x126)](_0x56dafe,_0x4f1031),_0x4f1031)),_0x34538e*=_0x249158;
}
}
return _0x1a09d4;};const { solution } = await solve({
type: 'AntibotToken',
url: 'https://example.com',
});
console.log(solution.token);Everything you need to know before integrating our captcha solver API.
Yes - every new account gets a one-time $0.10 pay-as-you-go trial credit after email verification, no credit card required. It's enough to test real requests against reCAPTCHA, Turnstile, Kasada, and every other solver we support before committing to a plan.