Skip to main content
Real-time captcha-to-text decodings
===================================

.. image:: https://api.travis-ci.org/gotlium/antigate.png?branch=master
:alt: Build Status
:target: https://travis-ci.org/gotlium/antigate
.. image:: https://coveralls.io/repos/gotlium/antigate/badge.png?branch=master
:target: https://coveralls.io/r/gotlium/antigate?branch=master
.. image:: https://img.shields.io/badge/python-2.6,2.7,3.3,3.4,3.5-blue.svg
:alt: Python 2.6, 2.7, 3.3, 3.4, 3.5
:target: https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/v/antigate.svg
:alt: Current version on PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/dm/antigate.svg
:alt: Downloads from PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/badge/license-GPLv2-green.svg
:target: https://pypi.python.org/pypi/antigate/
:alt: License



Documentation available `here <https://pythonhosted.org/antigate/>`_.


Installation
------------

From source:

.. code-block:: bash

$ git clone https://github.com/gotlium/antigate.git

$ cd antigate && python setup.py install

From PyPi:

.. code-block:: bash

$ pip install antigate


**Requirements:**

You can use grab/requests/urllib as http backends.

`Grab` installation:

.. code-block:: bash

pip install grab pycurl


`Requests` installation:

.. code-block:: bash

pip install requests


`UrlLib` used by default.


Usage
-----

.. code-block:: python

>>> from antigate import AntiGate # AntiCaptcha

# per line example
>>> print AntiGate('API-KEY', 'captcha.jpg') # AntiCaptcha('API-KEY', filename or base64 or bytes)

# or like this
>>> gate = AntiGate('API-KEY') # AntiCaptcha('API-KEY')
>>> captcha_id = gate.send('captcha.jpg')
>>> print gate.get(captcha_id)


If you wish to complain about a mismatch results, use ``abuse`` method:

.. code-block:: python

>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY', 'captcha.jpg')
>>> if str(gate) != 'qwerty':
>>> gate.abuse()

After all manipulations, you can get your account balance:

.. code-block:: python

>>> print gate.balance()


Or get your statistics data:

.. code-block:: python

>>> print gate.stats()


System load info:

.. code-block:: python

>>> print gate.load()


Customizing requests to API
---------------------------

Customize grab-lib preferences:

.. code-block:: python

>>> from antigate import AntiGate
>>> config = {'connect_timeout': 5, 'timeout': 60}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', grab_config=config)
>>> print gate

Additional options for sending Captcha:

.. code-block:: python

>>> from antigate import AntiGate
>>> config = {'min_len': '3', 'max_len': '5', 'phrase': '2'}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', send_config=config)
>>> print gate

Use all methods manually:

.. code-block:: python

>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get(captcha_id1)
>>> print gate.get(captcha_id2)

Get results for multiple ids:

.. code-block:: python

>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get_multi([captcha_id1, captcha_id2])


If you want use bytes or base64:

.. code-block:: python

# Per line binary example
>>> print AntiGate('API-KEY', fp.read())

# Per line base64 example
>>> print AntiGate('API-KEY', b64encode(fp.read()))

# Custom requests
>>> gate = AntiGate('API-KEY')

# base64
>>> captcha_id = gate.send(b64encode(fp.read()))

# or stream
>>> captcha_id = gate.send(fp.read())

>>> print gate.get(captcha_id)


Api documentation
-----------------
https://anti-captcha.com/apidoc / http://antigate.com/?action=api#algo


Compatibility
-------------
* Python: 2.6, 2.7, 3.3, 3.4, 3.5


.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/antigate/trend.png
:alt: Bitdeli badge
:target: https://bitdeli.com/free

Metadata

Release files for antigate 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for antigate 1.4.0
File Size Uploaded
antigate-1.4.0.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for antigate 1.4.0
File Interpreter ABI Platform
antigate-1.4.0-py2-none-any.whl Python 2 none any Details

Total release size: 14.4 kB

Release files / antigate-1.4.0.tar.gz

Download URL antigate-1.4.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2c4ac59d2b749e0bd4cad3371f4d178c829328a310a970fbf3b52a573c3543e9
BLAKE2b-256 checksum
How to use checksums
1960adf040568a18edc04a2c3ce23ef58b436c8f2f11b101666978e7dfda44e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / antigate-1.4.0-py2-none-any.whl

Download URL antigate-1.4.0-py2-none-any.whl
Size 8.8 kB
Tags Python 2
SHA-256 checksum
How to use checksums
dcd96426bbdb4a39d4f686dd339f59b88ee1d6aea20a065496afd9e033d76c9a
BLAKE2b-256 checksum
How to use checksums
55a05b5a077ad51db91afaba9a4dbb6850b849c6bfd37c5d631801e2b9225cb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

1 release file

1.3

1 release file

1.2.1

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page