capmonster.cloud library/package for Python
Project description
Capmonster Python
A modern, strongly-typed Python SDK for CapMonster Cloud — solve reCAPTCHA, Turnstile, GeeTest, and 20+ other CAPTCHA types with both sync and async support.
Installation
pip install capmonster_python
[!IMPORTANT] This is v4 of Capmonster Python, which includes breaking changes from v3.x. For the legacy API:
pip install capmonster_python==3.2
Quick Start
from capmonster_python import CapmonsterClient, RecaptchaV2Task
client = CapmonsterClient(api_key="YOUR_API_KEY")
task = RecaptchaV2Task(
websiteURL="https://example.com",
websiteKey="SITE_KEY_HERE"
)
result = client.solve(task)
print(result) # {"gRecaptchaResponse": "03AGdBq24..."}
Async
import asyncio
from capmonster_python import CapmonsterClient, RecaptchaV3Task
async def main():
async with CapmonsterClient(api_key="YOUR_API_KEY") as client:
task = RecaptchaV3Task(
websiteURL="https://example.com",
websiteKey="SITE_KEY_HERE",
minScore=0.5,
pageAction="verify"
)
result = await client.solve_async(task)
print(result)
asyncio.run(main())
With Proxy
from capmonster_python import CapmonsterClient, RecaptchaV2Task, ProxyPayload
client = CapmonsterClient(api_key="YOUR_API_KEY")
task = RecaptchaV2Task(
websiteURL="https://example.com",
websiteKey="SITE_KEY_HERE",
proxy=ProxyPayload(
proxyType="http",
proxyAddress="1.2.3.4",
proxyPort=8080,
proxyLogin="user",
proxyPassword="pass"
)
)
result = client.solve(task)
Client API
CapmonsterClient(api_key, timeout=30.0, max_retries=120, retry_delay=2.0)
| Method | Description |
|---|---|
solve(task) |
Create task and poll until solved |
create_task(task) |
Create a task, returns task_id |
join_task_result(task_id) |
Poll until result is ready |
get_task_result(task_id) |
Single poll (no waiting) |
get_balance() |
Get account balance |
get_user_agent() |
Get current valid User-Agent string |
report_incorrect_image(task_id) |
Report bad image captcha solution |
report_incorrect_token(task_id) |
Report bad token captcha solution |
All methods have async variants with the _async suffix (e.g. solve_async, get_balance_async).
Both sync and async context managers are supported for proper connection cleanup.
Supported CAPTCHA Types
reCAPTCHA
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| reCAPTCHA v2 | RecaptchaV2Task |
Optional |
| reCAPTCHA v2 Enterprise | RecaptchaV2EnterpriseTask |
Optional |
| reCAPTCHA v3 | RecaptchaV3Task |
No |
| reCAPTCHA v3 Enterprise | RecaptchaV3EnterpriseTask |
No |
| reCAPTCHA Click | RecaptchaClickTask |
Optional |
Cloudflare
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| Turnstile | TurnstileTask |
No |
| Turnstile Challenge (cf_clearance) | TurnstileCloudFlareTask |
Required |
| Turnstile Waiting Room | TurnstileWaitingRoomTask |
Required |
Image-Based
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| Image-to-Text OCR | ImageToTextTask |
No |
| Complex Image (reCAPTCHA grid) | ComplexImageRecaptchaTask |
No |
| Complex Image Recognition | ComplexImageRecognitionTask |
No |
Behavioral / Interactive
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| GeeTest v3 | GeeTestV3Task |
Optional |
| GeeTest v4 | GeeTestV4Task |
Optional |
| FunCaptcha (Arkose Labs) | FunCaptchaTask |
Optional |
| Hunt | HuntTask |
Optional |
Enterprise Protection
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| DataDome | DataDomeTask |
Required |
| Imperva (Incapsula) | ImpervaTask |
Required |
| Amazon WAF | AmazonTask |
Optional |
| TSPD | TSPDTask |
Optional |
Platform-Specific
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| Binance | BinanceTask |
Required |
| Temu | TemuTask |
No |
| TenDI | TenDITask |
Required |
Other
| CAPTCHA Type | Class | Proxy |
|---|---|---|
| Altcha | AltchaTask |
No |
| Basilisk | BasiliskTask |
No |
| Castle | CastleTask |
No |
| MTCaptcha | MTCaptchaTask |
Optional |
| Prosopo | ProsopoTask |
Optional |
| Yidun | YidunTask |
Optional |
Don't see your captcha type? Use
VanillaTaskPayloadto build custom task payloads without waiting for an SDK update.
Advanced Usage
Callback URLs
result = client.solve(task, callback_url="https://yoursite.com/callback")
Report Incorrect Solutions
task_id = client.create_task(task)
result = client.join_task_result(task_id)
# If the token was rejected by the target site:
client.report_incorrect_token(task_id)
Fresh Token Generation
Use nocache=True on reCAPTCHA tasks to prevent cached token reuse:
task = RecaptchaV2Task(
websiteURL="https://example.com",
websiteKey="SITE_KEY_HERE",
nocache=True
)
Documentation
Full API reference available at alperensert.github.io/capmonster_python.
Support
- Found a bug? Open an issue
- Contact: business@alperen.io
[!NOTE] Support is limited to questions and issues related to this project. Custom integrations and application-specific logic are outside the scope of support.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file capmonster_python-5.0.0.tar.gz.
File metadata
- Download URL: capmonster_python-5.0.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d362147ea524282b5f067715fa68afb6257024c4092224ca40d44180ca2a98c0
|
|
| MD5 |
fd8ce690f15ec8363f69cd6248fbfd4a
|
|
| BLAKE2b-256 |
0c1b2b989c7d46c5169537d9ea3168d23162e2c781f50d2bc7436bd53ae67dbc
|
File details
Details for the file capmonster_python-5.0.0-py3-none-any.whl.
File metadata
- Download URL: capmonster_python-5.0.0-py3-none-any.whl
- Upload date:
- Size: 35.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef480deeb9a6a475072522e8b8202ba3a4bf5634c75a7cc5bf62e781e080a0a5
|
|
| MD5 |
c108d2215b1a22549bf2ab3bb8e83345
|
|
| BLAKE2b-256 |
7ed018a8bef4b1833ec53c99b76427c45d17aef357442c46aecdb2c78622e702
|