Skip to main content

python3-anticaptcha

PyPI version Python versions Downloads Static Badge Test Lint codecov

Python 3 client library for AntiCaptcha service - solve reCAPTCHA, hCaptcha, image captchas, and more programmatically.

Why use this library?

AntiCaptcha is a paid captcha solving service. This library provides a clean Python interface to:

  • Submit captchas to AntiCaptcha's worker network
  • Poll for results automatically
  • Handle proxy rotation for high-volume requests
  • Support both synchronous and asynchronous workflows

Supported Captcha Types

Type Class Use Case
reCAPTCHA v2 ReCaptchaV2 Google reCAPTCHA V2 checkbox/invisible
reCAPTCHA v3 ReCaptchaV3 Google reCAPTCHA V3 score-based
Image Captcha ImageToText Classic text-from-image captchas
Image Coordinates ImageToCoordinates Click-on-image captchas
FunCaptcha FunCaptcha Arkose Labs (formerly FunCaptcha)
GeeTest GeeTest Chinese GeeTest captcha
Turnstile Turnstile Cloudflare Turnstile
FriendlyCaptcha FriendlyCaptcha FriendlyCaptcha puzzles
Prosopo Prosopo Prosopo captcha
Amazon WAF AmazonWAF AWS WAF Captcha

Quick Start

1. Install

pip install python3-anticaptcha

2. Get Your API Key

  1. Log into AntiCaptcha
  2. Copy your API key from the "Setup" section

3. Solve a reCAPTCHA

from python3_anticaptcha import ReCaptchaV2
from python3_anticaptcha.core.enum import CaptchaTypeEnm

# Basic usage (no proxy)
result = ReCaptchaV2(
    api_key="YOUR_API_KEY",
    captcha_type=CaptchaTypeEnm.RecaptchaV2TaskProxyless,
    websiteURL="https://example.com/page-with-captcha",
    websiteKey="6LeIxAKTAAAAAJ309xRj9YBN2aaaaaaaaa",  # sitekey from the page
).captcha_handler()

print(result["solution"]["gRecaptchaResponse"])

4. Solve with Proxy

from python3_anticaptcha import ReCaptchaV2
from python3_anticaptcha.core.enum import CaptchaTypeEnm, ProxyTypeEnm

result = ReCaptchaV2(
    api_key="YOUR_API_KEY",
    captcha_type=CaptchaTypeEnm.RecaptchaV2Task,
    websiteURL="https://example.com/page-with-captcha",
    websiteKey="6LeIxAKTAAAAAJ309xRj9YBN2aaaaaaaaa",
    proxyType=ProxyTypeEnm.HTTP,
    proxyAddress="123.45.67.89",
    proxyPort=8080,
    proxyLogin="proxy_user",
    proxyPassword="proxy_pass",
    userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
).captcha_handler()

5. Async Usage

import asyncio
from python3_anticaptcha import ReCaptchaV2
from python3_anticaptcha.core.enum import CaptchaTypeEnm

async def solve():
    result = await ReCaptchaV2(
        api_key="YOUR_API_KEY",
        captcha_type=CaptchaTypeEnm.RecaptchaV2TaskProxyless,
        websiteURL="https://example.com/page-with-captcha",
        websiteKey="6LeIxAKTAAAAAJ309xRj9YBN2aaaaaaaaa",
    ).aio_captcha_handler()
    return result

result = asyncio.run(solve())

Environment Variable

Set API_KEY to avoid passing it in code:

export API_KEY="your_api_key_here"
# Now you can omit api_key parameter
from python3_anticaptcha import ImageToText

result = ImageToText(captcha_file="captcha.png").captcha_handler()

Configuration Options

All captcha classes support these common parameters:

Parameter Type Description
api_key str Your AntiCaptcha API key (or set API_KEY env var)
sleep_time int Seconds between result polls (default: 10)

Documentation

Development

Install uv and create the project environment with all development extras:

uv sync --all-extras

The Makefile provides the standard project commands:

# Run tests
make tests

# Run Ruff checks
make lint

# Build package
make build

# Build documentation
make doc

Ruff is the formatter and linter. To apply its safe fixes and formatting, run:

make refactor

Contacts


Love Rust? Check out Rust-AntiCaptcha - same API for Rust projects.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python3_anticaptcha-2.3.0.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python3_anticaptcha-2.3.0-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file python3_anticaptcha-2.3.0.tar.gz.

File metadata

  • Download URL: python3_anticaptcha-2.3.0.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for python3_anticaptcha-2.3.0.tar.gz
Algorithm Hash digest
SHA256 d9f9c9e164f101d9b4d6736103fbb64534fbf7823321e3fc314a9695f0ec5c24
MD5 0e479f65f0c4d7eff75bb2ab8fb69c07
BLAKE2b-256 2651d4218627962d7978ddd658fec1d44830a860a8173f83b148e65b5ab389c5

See more details on using hashes here.

File details

Details for the file python3_anticaptcha-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: python3_anticaptcha-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for python3_anticaptcha-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8b7400141a09bf2c8d6c076a0732ec139c12e3e57b53c4878704d07245e6121
MD5 2560a33a48e3095966c9692f389699a3
BLAKE2b-256 053cebe6bbeb026b91172d89e768d95896d8e02008ff3e67d83589fe311311f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page