
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
python-anticaptcha
Advanced tools
.. image:: https://github.com/ad-m/python-anticaptcha/workflows/Python%20package/badge.svg :target: https://github.com/ad-m/python-anticaptcha/actions?workflow=Python+package
.. image:: https://img.shields.io/pypi/v/python-anticaptcha.svg :target: https://pypi.org/project/python-anticaptcha/ :alt: Python package
.. image:: https://badges.gitter.im/python-anticaptcha/Lobby.svg :target: https://gitter.im/python-anticaptcha/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link :alt: Join the chat at https://gitter.im/python-anticaptcha/Lobby
.. image:: https://img.shields.io/pypi/pyversions/python-anticaptcha.svg :target: https://github.com/ad-m/python-anticaptcha/blob/master/setup.py :alt: Python compatibility
.. introduction-start
Client library for solve captchas with Anticaptcha.com support_.
The library supports both Python 2.7 and Python 3.
The library is cyclically and automatically tested for proper operation. We are constantly making the best efforts for its effective operation.
In case of any problems with integration - read the documentation, create an issue, use Gitter_ or contact privately.
.. _read the documentation: http://python-anticaptcha.readthedocs.io/en/latest/ .. _Anticaptcha.com support: http://getcaptchasolution.com/i1hvnzdymd .. _create an issue: https://github.com/ad-m/python-anticaptcha/issues/new .. _Gitter: https://gitter.im/python-anticaptcha/Lobby
.. introduction-end
.. getting-started-start
Install as standard Python package using::
pip install python-anticaptcha
.. getting-started-end
.. usage-start
To use this library do you need Anticaptcha.com_ API key.
Solve recaptcha ###############
Example snippet for Recaptcha:
.. code:: python
from python_anticaptcha import AnticaptchaClient, NoCaptchaTaskProxylessTask
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' # grab from site
url = 'https://www.google.com/recaptcha/api2/demo'
client = AnticaptchaClient(api_key)
task = NoCaptchaTaskProxylessTask(url, site_key)
job = client.createTask(task)
job.join()
print job.get_solution_response()
The full integration example is available in file examples/recaptcha.py.
If you only process few page many times to increase reliability, you can specify
whether the captcha is visible or not. This parameter is not required, as is the
system detects invisible sitekeys automatically, and needs several recursive
measures for automated training and analysis. For provide that pass
is_invisible parameter to NoCaptchaTaskProxylessTask or NoCaptchaTask eg.:
.. code:: python
from python_anticaptcha import AnticaptchaClient, NoCaptchaTaskProxylessTask
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = '6Lc-0DYUAAAAAOPM3RGobCfKjIE5STmzvZfHbbNx' # grab from site
url = 'https://losangeles.craigslist.org/lac/kid/d/housekeeper-sitting-pet-care/6720136191.html'
client = AnticaptchaClient(api_key)
task = NoCaptchaTaskProxylessTask(url, site_key, is_invisible=True)
job = client.createTask(task)
job.join()
print job.get_solution_response()
Solve text captcha ##################
Example snippet for text captcha:
.. code:: python
from python_anticaptcha import AnticaptchaClient, ImageToTextTask
api_key = '174faff8fbc769e94a5862391ecfd010'
captcha_fp = open('examples/captcha_ms.jpeg', 'rb')
client = AnticaptchaClient(api_key)
task = ImageToTextTask(captcha_fp)
job = client.createTask(task)
job.join()
print job.get_captcha_text()
Solve funcaptcha ################
Example snippet for funcaptcha:
.. code:: python
from python_anticaptcha import AnticaptchaClient, FunCaptchaTask, Proxy
UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 ' \
'(KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = 'DE0B0BB7-1EE4-4D70-1853-31B835D4506B' # grab from site
url = 'https://www.google.com/recaptcha/api2/demo'
proxy = Proxy.parse_url("socks5://login:password@123.123.123.123")
client = AnticaptchaClient(api_key)
task = FunCaptchaTask(url, site_key, proxy=proxy, user_agent=user_agent)
job = client.createTask(task)
job.join()
print job.get_token_response()
Report incorrect image ######################
Example snippet for reporting an incorrect image task:
.. code:: python
from python_anticaptcha import AnticaptchaClient, ImageToTextTask
api_key = '174faff8fbc769e94a5862391ecfd010'
captcha_fp = open('examples/captcha_ms.jpeg', 'rb')
client = AnticaptchaClient(api_key)
task = ImageToTextTask(captcha_fp)
job = client.createTask(task)
job.join()
print job.get_captcha_text()
job.report_incorrect()
Setup proxy ###########
The library is not responsible for managing the proxy server. However, we point to the possibility of simply launching such a server by:
.. code::
pip install mitmproxy
mitmweb -p 9190 -b 0.0.0.0 --ignore '.' --socks
Next to in your application use something like:
.. code:: python
proxy = Proxy.parse_url("socks5://123.123.123.123:9190")
We recommend entering IP-based access control for incoming addresses to proxy. IP address required by
Anticaptcha.com_ is:
.. code::
69.65.41.21
209.212.146.168
.. _Anticaptcha.com: http://getcaptchasolution.com/p9bwplkicx
Error handling ##############
In the event of an application error, the AnticaptchaException exception is thrown. To handle the exception, do the following:
.. code:: python
from python_anticaptcha import AnticatpchaException, ImageToTextTask
try:
# any actions
except AnticatpchaException as e:
if e.error_code == 'ERROR_ZERO_BALANCE':
notify_about_no_funds(e.error_id, e.error_code, e.error_description)
else:
raise
.. usage-end
We use SemVer_ for versioning. For the versions available, see the
tags on this repository_.
ad-m_See also the list of contributors_ who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md_
file for details
.. _SemVer: http://semver.org/ .. _tags on this repository: https://github.com/ad-m/python-anticaptcha/tags .. _ad-m: https://github.com/ad-m .. _contributors: https://github.com/ad-m/python-anticaptcha/contributors .. _LICENSE.md: LICENSE.md
FAQs
Client library for solve captchas with Anticaptcha.com support.
We found that python-anticaptcha demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.