Changelog
2.0.0 - 2025-05-09
Added
Add
AsyncAnticaptchaClientandAsyncJobfor async/await usage withhttpx(pip install python-anticaptcha[async])Rename
base.py→sync_client.pyfor symmetry withasync_client.py; backward-compatiblebase.pyshim preservedRename sync example files with
sync_prefix to matchasync_examplesAdd context manager support to
AnticaptchaClient(__enter__,__exit__,close)Add
ANTICAPTCHA_API_KEYenvironment variable fallback forAnticaptchaClientAdd
Proxyfrozen dataclass withparse_url()andto_kwargs()methodsAdd snake_case aliases:
create_task,create_task_smee,get_balance,get_app_statsAdd
py.typedmarker and complete type annotations (#124)Add
__repr__toJob,AnticaptchaClient, andBaseTask(#123)Add optional
on_checkcallback toJob.join()(#125)ImageToTextTasknow accepts file paths (str/Path), raw bytes, or file-like objects
Changed
Breaking: Minimum Python version increased from 2.7+ to 3.9+
Migrate from
setup.py/setup.cfgtopyproject.toml(PEP 621) (#122)Switch README from RST to Markdown (#126)
Switch test runner from nose2 to pytest
Switch PyPI publishing to trusted publishing via GitHub Actions (#114)
Fix
RecaptchaV2EnterpriseTaskmissing proxyless base class inheritanceFix
ImageToTextTask.serialize()sendingNonevaluesFix
GeeTestTaskincorrect inheritanceFix
AntiGateTaskProxylesssuper() callRemove redundant cookies serialization in
ProxyMixinUse Python 3
super()without arguments throughout codebase
Removed
Breaking: Drop Python 2.7 and Python 3.4-3.8 support
Remove
sixdependency (replaced with stdliburllib.parse)Remove
compat.pymoduleRemove legacy
setup.pyandsetup.cfg
1.0.0 - 2022-03-28
Added
Add new tasks:
AntiGateTaskandAntiGateTaskProxylessRecaptchaV2EnterpriseTaskandRecaptchaV2EnterpriseTaskProxylessGeeTestTaskandGeeTestTaskProxylessRecaptchaV2Task(alias ofNoCaptchaTask) andRecaptchaV2TaskProxyless(alias ofNoCaptchaTaskProxyless)
Add example for
AntiGateTaskProxylessAdd optional parameters
comment,websiteUrltoImageToTextTaskAdd optional parameter
funcaptchaApiJSSubdomain,datatoFunCaptchaTask*Add optional parameter
isEnterprisetoRecaptchaV3Task*
Removed
Drop tasks unsupported upstream:
CustomCaptchaTask,SquareNetTask
Changed
Internal refactor to extract
UserAgentMixin,CookieMixinUse nose2 for tests
0.7.1 - 2020-07-17
Added
Added examples for proxy mode including hcaptcha_request_proxy
Changed
Fix inheritance of FunCaptchaTask
Added FunCaptchaTask to e2e tests
0.7.0 - 2020-06-08
Added
Added parameter recaptchaDataSValue in NoCaptchaTask*
Thanks to this change added support for additional “data-s” used by some custom ReCaptcha deployments, which is in fact a one-time token and must be grabbed every time you want to solve a Recaptcha. <div class=”g-recaptcha” data-sitekey=”some sitekey” data-s=”THIS_TOKEN”></div>
Changed
Fixed deprecated method report_incorrect. You should currently use report_incorrect_image instead already.
0.6.0 - 2020-04-13
Added
Added custom timeout for
createTaskSmee. Use asclient.createTaskSmee(task, timeout=5*60). Default timeout is 5 minutes.Added
squarenet_validatorfor usage with thread pool for concurrent execution
Changed
Default 5 seconds timeout apply to all API request.
0.5.1 - 2020-03-31
Changed
Fix import of package
0.5.0 - 2020-03-30
Added
Added
HCaptchaTaskProxylessandHCaptchaTaskfor support hCaptcha . Seeexamples/hcaptcha_request.pyfor detailed usage example.Added
SquareNetTask. Seeexamples/squarenet.pyfor detailed usage example.Added
Job.report_incorrect_recaptchaandJob.report_incorrect_image.
Changed
Exposed
FunCaptchaProxylessTaskaspython_anticaptcha.FunCaptchaProxylessTaskExposed
CustomCaptchaTaskaspython_anticaptcha.CustomCaptchaTaskFormated code via Black
Move constant monitoring to GitHub Actions
Deprecated
Job.report_incorrect. Usereport_incorrect_imageinstead.
0.4.2 - 2019-10-27
Added
Added example
remote_image.py
Changed
Switch CI from TravisCI to GitHub Actions
Automate PyPI releases
Use
use_scm_versionfor versioningDrop
use_2to3insetup.py
0.4.1 - 2019-07-09
Added
Added
python_anticaptcha.__version__to provide version signature (see PEP396)
Changed
python_anticaptcha.AnticaptchaClient.createTaskSmeeuse shared session & keep connection.
0.4.0 - 2019-06-28
Added
- Added
python_anticaptcha.AnticaptchaClient.createTaskSmeeto receive responses without polling The method, which is based on the callback result of captcha / task factory to Smee.io, which immediately transfers it to library. Allows to significantly shorten the waiting time for a response and to reduce load the network connection. The method is in beta and the way it works may change. All comments are welcome.
- Added
Recaptcha V3 is now officially supported by Anti-Captcha. Added
python_anticaptcha.RecaptchaV3TaskProxyless.
0.3.2 - 2018-10-17
Added
Added support for
IsInvisibleflag inNoCaptchaTaskProxylessTaskandNoCaptchaTask
0.3.1 - 2018-03-18
Changed
Replaced
python_anticaptcha.AnticatpchaExceptiontopython_anticaptcha.AnticaptchaExceptiondue typo
Added
Added
python_anticaptcha.exceptions.AnticatpchaExceptionAdded docs about error handling
Removed
Deprecated
python_anticaptcha.exceptions.AnticatpchaException