capmonstercloudclient 4.3.1__tar.gz → 4.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/LICENSE +1 -1
- {capmonstercloudclient-4.3.1/capmonstercloudclient.egg-info → capmonstercloudclient-4.3.2}/PKG-INFO +141 -16
- capmonstercloudclient-4.3.2/README.md +297 -0
- capmonstercloudclient-4.3.2/capmonstercloud_client/version.txt +1 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2/capmonstercloudclient.egg-info}/PKG-INFO +141 -16
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/setup.py +26 -16
- capmonstercloudclient-4.3.1/README.md +0 -177
- capmonstercloudclient-4.3.1/capmonstercloud_client/version.txt +0 -1
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/MANIFEST.in +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/CapMonsterCloudClient.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/GetResultTimeouts.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/__init__.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/captchaResult.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/clientOptions.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/exceptions.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requestController.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/AlibabaCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/AltchaCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/AmazonWafRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/BasiliskCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/BinanceTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/CastleCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/ComplexImageTaskBase.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/CustomTaskRequestBase.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/DataDomeCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/FriendlyCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/FuncaptchaComplexImageTask.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/FuncaptchaRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/GeetestRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/HcaptchaComplexImageTask.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/HcaptchaRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/HuntCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/ImageToTextRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/ImpervaCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/MTCaptchaRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/ProsopoTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecaptchaComplexImageTask.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecaptchaV2EnterpiseRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecaptchaV2Request.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecaptchaV3EnterpriseRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecaptchaV3ProxylessRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/RecognitionComplexImageTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/TemuCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/TenDiCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/TspdCustomTaskRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/TurnstileRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/YidunRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/__init__.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/baseRequest.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/baseRequestWithProxy.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/enums.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/proxy_info.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/utils.py +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloudclient.egg-info/SOURCES.txt +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloudclient.egg-info/dependency_links.txt +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloudclient.egg-info/requires.txt +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloudclient.egg-info/top_level.txt +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/pyproject.toml +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/requirements.txt +0 -0
- {capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/setup.cfg +0 -0
{capmonstercloudclient-4.3.1/capmonstercloudclient.egg-info → capmonstercloudclient-4.3.2}/PKG-INFO
RENAMED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: capmonstercloudclient
|
|
3
|
-
Version: 4.3.
|
|
4
|
-
Summary: Official
|
|
5
|
-
Home-page: https://github.com/
|
|
6
|
-
Author:
|
|
7
|
-
Author-email:
|
|
8
|
-
License:
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
Version: 4.3.2
|
|
4
|
+
Summary: Official CapMonster Cloud Python SDK: captcha solver & captcha bypass for reCAPTCHA, Cloudflare Turnstile, DataDome and GeeTest. A 2captcha and capsolver alternative.
|
|
5
|
+
Home-page: https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
|
|
6
|
+
Author: CapMonster Cloud
|
|
7
|
+
Author-email: support@capmonster.cloud
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Homepage, https://capmonster.cloud/en/
|
|
10
|
+
Project-URL: Source, https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
|
|
11
|
+
Project-URL: Issues, https://github.com/CapMonsterCloud/capmonster-python-captcha-solver/issues
|
|
12
|
+
Project-URL: Documentation, https://docs.capmonster.cloud/
|
|
13
|
+
Keywords: capmonster,capmonster-cloud,capmonstercloudclient,captcha,captcha-solver,captcha-bypass,recaptcha,cloudflare-turnstile,geetest,datadome,web-scraping,python3,2captcha-alternative,capsolver-alternative
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
15
|
Classifier: Programming Language :: Python
|
|
12
16
|
Classifier: Programming Language :: Python :: 3
|
|
13
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -69,11 +73,14 @@ Dynamic: home-page
|
|
|
69
73
|
Dynamic: keywords
|
|
70
74
|
Dynamic: license
|
|
71
75
|
Dynamic: license-file
|
|
76
|
+
Dynamic: project-url
|
|
72
77
|
Dynamic: requires-dist
|
|
73
78
|
Dynamic: requires-python
|
|
74
79
|
Dynamic: summary
|
|
75
80
|
|
|
76
|
-
# CapMonster Cloud Python SDK: AI Captcha Solver &
|
|
81
|
+
# CapMonster Cloud Python SDK: AI Captcha Solver & Captcha Bypass
|
|
82
|
+
|
|
83
|
+
> **🔄 Migrating from 2Captcha or Capsolver?** CapMonster Cloud is a fast, cost-effective **2captcha alternative** and **capsolver alternative**: reCAPTCHA v3 from **$0.90 per 1,000 solves**, which is **up to 38% cheaper than 2Captcha** and **10% cheaper than Capsolver**, with an API response time of **≤ 2 s**. Already have software built for 2Captcha? CapMonster Cloud [supports the 2Captcha API format](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Moving your Python code takes just a few lines: see the **Migration examples** below. Full comparison and disclaimer are in the comparison section below.
|
|
77
84
|
|
|
78
85
|
<p align="center">
|
|
79
86
|
<a href="https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme">
|
|
@@ -97,17 +104,52 @@ Dynamic: summary
|
|
|
97
104
|
|
|
98
105
|
Official asynchronous Python SDK for [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Easily plug ultra-fast AI captcha recognition into **Playwright, Selenium, Puppeteer, Scrapy, BeautifulSoup, and Requests** automation workflows without human-in-the-loop delays.
|
|
99
106
|
|
|
107
|
+
The CapMonster Cloud Python SDK (`capmonstercloudclient`, also known as the CapMonster SDK for Python) is a captcha solver and captcha bypass client for Python 3.6+. Use it to bypass reCAPTCHA v2, v3 and Enterprise, solve Cloudflare Turnstile, DataDome, GeeTest and Amazon WAF, and recognize image-to-text captchas in web scraping and automation, as a cost-effective 2captcha alternative and capsolver alternative.
|
|
108
|
+
|
|
100
109
|
**[👉 Get your Free API Key & Free Trial Balance on CapMonster Cloud](https://dash.capmonster.cloud/Account/SignUp?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)**
|
|
101
110
|
|
|
102
111
|
---
|
|
103
112
|
|
|
104
113
|
## ⚡ Highlights & Benchmarks
|
|
105
114
|
|
|
106
|
-
- ⚡ **
|
|
115
|
+
- ⚡ **Fast Solving:** Automated AI models solve captchas in 300 ms to 6 seconds depending on the system load.
|
|
107
116
|
- 🤖 **Zero Human Workers:** 100% automated machine learning pipeline with no manual latencies.
|
|
108
117
|
- 🌐 **Browser Automation Ready:** Works out-of-the-box with **Playwright, Selenium, and Puppeteer**.
|
|
109
118
|
- 🛡️ **Modern Anti-Bot Bypass:** Full support for Cloudflare Turnstile, reCAPTCHA Enterprise, GeeTest, and Amazon WAF.
|
|
110
119
|
- 💰 **Cost-Effective:** Low-cost pricing structure based on pay-as-you-go balance.
|
|
120
|
+
- 📉 **Cheaper Than Alternatives:** reCAPTCHA v3 from $0.90 per 1,000 solves, versus $1.45 at 2Captcha and $1.00 at Capsolver.
|
|
121
|
+
- 🔄 **Easy Migration:** replace your 2Captcha or Capsolver solver call and keep the rest of your scraper or bot unchanged.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 📊 CapMonster Cloud vs 2Captcha vs Capsolver
|
|
126
|
+
|
|
127
|
+
Looking for a 2captcha alternative or a capsolver alternative for web scraping and automation? Compare price, speed and success rate.
|
|
128
|
+
|
|
129
|
+
### reCAPTCHA v3
|
|
130
|
+
|
|
131
|
+
| Parameter | CapMonster Cloud | 2Captcha | CapSolver | DeathByCaptcha |
|
|
132
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
133
|
+
| Price per 1,000 solves (from) | **$0.90** | $1.45 | $1.00 | $2.89 |
|
|
134
|
+
| API response time | **≤ 2 s** | ≤ 2 s | < 3 s | ≤ 3 s |
|
|
135
|
+
| Solving success rate | **up to 99%** | ~77–92% | ~95–98% | ~64–90% |
|
|
136
|
+
|
|
137
|
+
*Disclaimer: 2Captcha, CapSolver, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking conducted on 27.09.2026.*
|
|
138
|
+
|
|
139
|
+
### Cloudflare Turnstile
|
|
140
|
+
|
|
141
|
+
| Parameter | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|
|
142
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
143
|
+
| Price per 1,000 solves (from) | **$1.30** | $1.45 | $2.00 | $2.89 |
|
|
144
|
+
| Time to solve | **6.24 s\*** | 16.9 s | 20.33 s | ~13 s |
|
|
145
|
+
| Solving success rate | **99%\*** | 96% | 96% | 96% |
|
|
146
|
+
|
|
147
|
+
*Disclaimer: 2Captcha, Anti-Captcha, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking as of 12.10.2026.*
|
|
148
|
+
|
|
149
|
+
**What this means in practice:**
|
|
150
|
+
|
|
151
|
+
- **reCAPTCHA v3:** $0.90 versus $1.45 at 2Captcha is up to 38% cheaper, and $0.90 versus $1.00 at Capsolver is 10% cheaper.
|
|
152
|
+
- **Cloudflare Turnstile:** $1.30 versus $1.45 at 2Captcha is 10% cheaper, and a solving time of 6.24 s versus 16.9 s is more than 60% faster.
|
|
111
153
|
|
|
112
154
|
---
|
|
113
155
|
|
|
@@ -135,7 +177,7 @@ client = CapMonsterClient(options=options)
|
|
|
135
177
|
async def main():
|
|
136
178
|
# Build the task payload
|
|
137
179
|
request = RecaptchaV2Request(
|
|
138
|
-
websiteUrl="https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
|
|
180
|
+
websiteUrl="[https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high](https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high)",
|
|
139
181
|
websiteKey="6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
|
|
140
182
|
)
|
|
141
183
|
|
|
@@ -161,7 +203,7 @@ client = CapMonsterClient(options=options)
|
|
|
161
203
|
async def run_scraper():
|
|
162
204
|
# Solve Turnstile challenge via CapMonster Cloud
|
|
163
205
|
turnstile_req = TurnstileRequest(
|
|
164
|
-
websiteURL="https://target-website.com/login",
|
|
206
|
+
websiteURL="[https://target-website.com/login](https://target-website.com/login)",
|
|
165
207
|
websiteKey="0x4AAAAAAABnPIDnK2k_e-2"
|
|
166
208
|
)
|
|
167
209
|
solution = await client.solve_captcha(turnstile_req)
|
|
@@ -171,7 +213,7 @@ async def run_scraper():
|
|
|
171
213
|
async with async_playwright() as p:
|
|
172
214
|
browser = await p.chromium.launch(headless=False)
|
|
173
215
|
page = await browser.new_page()
|
|
174
|
-
await page.goto("https://target-website.com/login")
|
|
216
|
+
await page.goto("[https://target-website.com/login](https://target-website.com/login)")
|
|
175
217
|
|
|
176
218
|
await page.evaluate(f'document.querySelector("[name=cf-turnstile-response]").value = "{token}";')
|
|
177
219
|
await page.click("#submit-button")
|
|
@@ -183,7 +225,68 @@ if __name__ == "__main__":
|
|
|
183
225
|
|
|
184
226
|
---
|
|
185
227
|
|
|
186
|
-
##
|
|
228
|
+
## 🔄 Migrating from 2Captcha or Capsolver
|
|
229
|
+
|
|
230
|
+
Already use 2Captcha or Capsolver in your scraper or bot? Replace only the solver call and keep the rest of your parser unchanged. CapMonster Cloud follows the same flow: send the website URL and sitekey, receive the token.
|
|
231
|
+
|
|
232
|
+
### Migration from 2Captcha (2captcha-python)
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
# Before: 2Captcha
|
|
236
|
+
from twocaptcha import TwoCaptcha
|
|
237
|
+
|
|
238
|
+
solver = TwoCaptcha("YOUR_2CAPTCHA_API_KEY")
|
|
239
|
+
result = solver.recaptcha(
|
|
240
|
+
sitekey="YOUR_SITE_KEY",
|
|
241
|
+
url="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
242
|
+
)
|
|
243
|
+
token = result["code"]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
```python
|
|
247
|
+
# After: CapMonster Cloud
|
|
248
|
+
import asyncio
|
|
249
|
+
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
250
|
+
from capmonstercloudclient.requests import RecaptchaV2Request
|
|
251
|
+
|
|
252
|
+
client = CapMonsterClient(options=ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY"))
|
|
253
|
+
|
|
254
|
+
async def solve():
|
|
255
|
+
result = await client.solve_captcha(RecaptchaV2Request(
|
|
256
|
+
websiteUrl="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
257
|
+
websiteKey="YOUR_SITE_KEY",
|
|
258
|
+
))
|
|
259
|
+
return result.get("gRecaptchaResponse")
|
|
260
|
+
|
|
261
|
+
token = asyncio.run(solve())
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Migration from Capsolver (capsolver-python)
|
|
265
|
+
|
|
266
|
+
```python
|
|
267
|
+
# Before: Capsolver
|
|
268
|
+
import capsolver
|
|
269
|
+
|
|
270
|
+
capsolver.api_key = "YOUR_CAPSOLVER_API_KEY"
|
|
271
|
+
solution = capsolver.solve({
|
|
272
|
+
"type": "ReCaptchaV2TaskProxyLess",
|
|
273
|
+
"websiteURL": "[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
274
|
+
"websiteKey": "YOUR_SITE_KEY",
|
|
275
|
+
})
|
|
276
|
+
token = solution["gRecaptchaResponse"]
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
The "After" code is the same CapMonster Cloud snippet as above: only the client, the API key and the request class change, the rest of your scraper stays the same. If you use an async framework, call `await client.solve_captcha(...)` directly instead of `asyncio.run`.
|
|
280
|
+
|
|
281
|
+
### Keep existing 2Captcha-based software
|
|
282
|
+
|
|
283
|
+
Software that already speaks the 2Captcha API can work with CapMonster Cloud without code changes. See the [guide for connecting other services' APIs](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 🛡️ Supported CAPTCHA Types: reCAPTCHA, Cloudflare Turnstile, DataDome, GeeTest & More
|
|
288
|
+
|
|
289
|
+
Use this Python captcha solver for captcha bypass in web scraping and automation: reCAPTCHA bypass (v2, v3, Enterprise), Cloudflare Turnstile solver, DataDome solver, GeeTest solver, Amazon WAF bypass and image-to-text recognition.
|
|
187
290
|
|
|
188
291
|
All task types conform to the official [CapMonster Cloud API Documentation](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme):
|
|
189
292
|
|
|
@@ -212,7 +315,7 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
212
315
|
[ Extract sitekey & website URL ]
|
|
213
316
|
│
|
|
214
317
|
▼
|
|
215
|
-
[ CapMonsterClient API ] ──► POST createTask to https://api.capmonster.cloud
|
|
318
|
+
[ CapMonsterClient API ] ──► POST createTask to [https://api.capmonster.cloud](https://api.capmonster.cloud)
|
|
216
319
|
│
|
|
217
320
|
▼
|
|
218
321
|
[ Neural Network Processing ] ──► Poll getTaskResult (300ms - 6s)
|
|
@@ -231,6 +334,28 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
231
334
|
|
|
232
335
|
---
|
|
233
336
|
|
|
337
|
+
## ❓ FAQ
|
|
338
|
+
|
|
339
|
+
**Is CapMonster Cloud a 2Captcha alternative?**
|
|
340
|
+
Yes. It is a captcha solving service with an official Python SDK. For reCAPTCHA v3 it starts at $0.90 per 1,000 solves versus $1.45 at 2Captcha, which is up to 38% cheaper. For Cloudflare Turnstile it starts at $1.30 versus $1.45, which is 10% cheaper.
|
|
341
|
+
|
|
342
|
+
**Is CapMonster Cloud a Capsolver alternative?**
|
|
343
|
+
Yes. For reCAPTCHA v3 it is 10% cheaper than Capsolver ($0.90 versus $1.00 per 1,000 solves) and shows an API response time of ≤ 2 s versus < 3 s. See the comparison table above and its disclaimer.
|
|
344
|
+
|
|
345
|
+
**How do I migrate from 2Captcha or Capsolver to CapMonster Cloud in Python?**
|
|
346
|
+
Install `capmonstercloudclient`, create a `CapMonsterClient` with your API key and replace your solver call with `client.solve_captcha(...)`. See the migration examples above. Software that already supports the 2Captcha API can also be connected through the [CapMonster Cloud guide](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
347
|
+
|
|
348
|
+
**Which captchas can the Python SDK bypass?**
|
|
349
|
+
reCAPTCHA v2, v3 and Enterprise, Cloudflare Turnstile, GeeTest, Amazon WAF, DataDome, Imperva / Incapsula, Binance CAPTCHA, standard text (image-to-text) captchas and reCAPTCHA image tasks. See the supported types table.
|
|
350
|
+
|
|
351
|
+
**Which Python versions are supported?**
|
|
352
|
+
The package on PyPI requires Python 3.6 or newer.
|
|
353
|
+
|
|
354
|
+
**How do I get an API key?**
|
|
355
|
+
Register on CapMonster Cloud, top up your balance and copy your API key. The [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme) describes each step.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
234
359
|
## 📚 Official Documentation & Links
|
|
235
360
|
|
|
236
361
|
- 📖 [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -249,4 +374,4 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
249
374
|
|
|
250
375
|
## 📄 License
|
|
251
376
|
|
|
252
|
-
[MIT](./LICENSE) © [
|
|
377
|
+
[MIT](./LICENSE) © [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
# CapMonster Cloud Python SDK: AI Captcha Solver & Captcha Bypass
|
|
2
|
+
|
|
3
|
+
> **🔄 Migrating from 2Captcha or Capsolver?** CapMonster Cloud is a fast, cost-effective **2captcha alternative** and **capsolver alternative**: reCAPTCHA v3 from **$0.90 per 1,000 solves**, which is **up to 38% cheaper than 2Captcha** and **10% cheaper than Capsolver**, with an API response time of **≤ 2 s**. Already have software built for 2Captcha? CapMonster Cloud [supports the 2Captcha API format](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Moving your Python code takes just a few lines: see the **Migration examples** below. Full comparison and disclaimer are in the comparison section below.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme">
|
|
7
|
+
<img src="https://img.shields.io/badge/CapMonster%20Cloud-Python%20Captcha%20Solver-00B2FF?style=for-the-badge&logo=python&logoColor=white" alt="CapMonster Cloud Python SDK" height="40">
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<strong>Fast, AI-driven CAPTCHA solving client for Python. Seamlessly bypass Cloudflare Turnstile, reCAPTCHA v2/v3/Enterprise, DataDome, GeeTest, and Amazon WAF in web scraping and browser automation.</strong>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://pypi.org/project/capmonstercloudclient/"><img src="https://img.shields.io/pypi/v/capmonstercloudclient.svg?style=flat-square&color=blue" alt="PyPI version"></a>
|
|
17
|
+
<a href="https://pepy.tech/project/capmonstercloudclient"><img src="https://static.pepy.tech/badge/capmonstercloudclient/month" alt="PyPI downloads"></a>
|
|
18
|
+
<a href="https://pypi.org/project/capmonstercloudclient/"><img src="https://img.shields.io/pypi/pyversions/capmonstercloudclient.svg?style=flat-square" alt="Python Versions"></a>
|
|
19
|
+
<a href="https://github.com/CapMonsterCloud/capmonster-python-captcha-solver/stargazers"><img src="https://img.shields.io/github/stars/CapMonsterCloud/capmonster-python-captcha-solver?style=flat-square&color=yellow" alt="GitHub Stars"></a>
|
|
20
|
+
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-orange.svg?style=flat-square" alt="License: MIT"></a>
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Official asynchronous Python SDK for [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Easily plug ultra-fast AI captcha recognition into **Playwright, Selenium, Puppeteer, Scrapy, BeautifulSoup, and Requests** automation workflows without human-in-the-loop delays.
|
|
26
|
+
|
|
27
|
+
The CapMonster Cloud Python SDK (`capmonstercloudclient`, also known as the CapMonster SDK for Python) is a captcha solver and captcha bypass client for Python 3.6+. Use it to bypass reCAPTCHA v2, v3 and Enterprise, solve Cloudflare Turnstile, DataDome, GeeTest and Amazon WAF, and recognize image-to-text captchas in web scraping and automation, as a cost-effective 2captcha alternative and capsolver alternative.
|
|
28
|
+
|
|
29
|
+
**[👉 Get your Free API Key & Free Trial Balance on CapMonster Cloud](https://dash.capmonster.cloud/Account/SignUp?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)**
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## ⚡ Highlights & Benchmarks
|
|
34
|
+
|
|
35
|
+
- ⚡ **Fast Solving:** Automated AI models solve captchas in 300 ms to 6 seconds depending on the system load.
|
|
36
|
+
- 🤖 **Zero Human Workers:** 100% automated machine learning pipeline with no manual latencies.
|
|
37
|
+
- 🌐 **Browser Automation Ready:** Works out-of-the-box with **Playwright, Selenium, and Puppeteer**.
|
|
38
|
+
- 🛡️ **Modern Anti-Bot Bypass:** Full support for Cloudflare Turnstile, reCAPTCHA Enterprise, GeeTest, and Amazon WAF.
|
|
39
|
+
- 💰 **Cost-Effective:** Low-cost pricing structure based on pay-as-you-go balance.
|
|
40
|
+
- 📉 **Cheaper Than Alternatives:** reCAPTCHA v3 from $0.90 per 1,000 solves, versus $1.45 at 2Captcha and $1.00 at Capsolver.
|
|
41
|
+
- 🔄 **Easy Migration:** replace your 2Captcha or Capsolver solver call and keep the rest of your scraper or bot unchanged.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 📊 CapMonster Cloud vs 2Captcha vs Capsolver
|
|
46
|
+
|
|
47
|
+
Looking for a 2captcha alternative or a capsolver alternative for web scraping and automation? Compare price, speed and success rate.
|
|
48
|
+
|
|
49
|
+
### reCAPTCHA v3
|
|
50
|
+
|
|
51
|
+
| Parameter | CapMonster Cloud | 2Captcha | CapSolver | DeathByCaptcha |
|
|
52
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
53
|
+
| Price per 1,000 solves (from) | **$0.90** | $1.45 | $1.00 | $2.89 |
|
|
54
|
+
| API response time | **≤ 2 s** | ≤ 2 s | < 3 s | ≤ 3 s |
|
|
55
|
+
| Solving success rate | **up to 99%** | ~77–92% | ~95–98% | ~64–90% |
|
|
56
|
+
|
|
57
|
+
*Disclaimer: 2Captcha, CapSolver, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking conducted on 27.09.2026.*
|
|
58
|
+
|
|
59
|
+
### Cloudflare Turnstile
|
|
60
|
+
|
|
61
|
+
| Parameter | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|
|
62
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
63
|
+
| Price per 1,000 solves (from) | **$1.30** | $1.45 | $2.00 | $2.89 |
|
|
64
|
+
| Time to solve | **6.24 s\*** | 16.9 s | 20.33 s | ~13 s |
|
|
65
|
+
| Solving success rate | **99%\*** | 96% | 96% | 96% |
|
|
66
|
+
|
|
67
|
+
*Disclaimer: 2Captcha, Anti-Captcha, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking as of 12.10.2026.*
|
|
68
|
+
|
|
69
|
+
**What this means in practice:**
|
|
70
|
+
|
|
71
|
+
- **reCAPTCHA v3:** $0.90 versus $1.45 at 2Captcha is up to 38% cheaper, and $0.90 versus $1.00 at Capsolver is 10% cheaper.
|
|
72
|
+
- **Cloudflare Turnstile:** $1.30 versus $1.45 at 2Captcha is 10% cheaper, and a solving time of 6.24 s versus 16.9 s is more than 60% faster.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 📦 Installation
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install capmonstercloudclient
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 🚀 Quick Start & Usage Examples
|
|
85
|
+
|
|
86
|
+
### 1. Asynchronous reCAPTCHA v2 Solving
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import asyncio
|
|
90
|
+
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
91
|
+
from capmonstercloudclient.requests import RecaptchaV2Request
|
|
92
|
+
|
|
93
|
+
# Initialize client with your API key from dashboard
|
|
94
|
+
options = ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY")
|
|
95
|
+
client = CapMonsterClient(options=options)
|
|
96
|
+
|
|
97
|
+
async def main():
|
|
98
|
+
# Build the task payload
|
|
99
|
+
request = RecaptchaV2Request(
|
|
100
|
+
websiteUrl="[https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high](https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high)",
|
|
101
|
+
websiteKey="6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
# Send task and receive token
|
|
105
|
+
result = await client.solve_captcha(request)
|
|
106
|
+
print("reCAPTCHA Token:", result.get("gRecaptchaResponse"))
|
|
107
|
+
|
|
108
|
+
if __name__ == "__main__":
|
|
109
|
+
asyncio.run(main())
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 2. Browser Automation (Playwright + Cloudflare Turnstile)
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
import asyncio
|
|
116
|
+
from playwright.async_api import async_playwright
|
|
117
|
+
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
118
|
+
from capmonstercloudclient.requests import TurnstileRequest
|
|
119
|
+
|
|
120
|
+
options = ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY")
|
|
121
|
+
client = CapMonsterClient(options=options)
|
|
122
|
+
|
|
123
|
+
async def run_scraper():
|
|
124
|
+
# Solve Turnstile challenge via CapMonster Cloud
|
|
125
|
+
turnstile_req = TurnstileRequest(
|
|
126
|
+
websiteURL="[https://target-website.com/login](https://target-website.com/login)",
|
|
127
|
+
websiteKey="0x4AAAAAAABnPIDnK2k_e-2"
|
|
128
|
+
)
|
|
129
|
+
solution = await client.solve_captcha(turnstile_req)
|
|
130
|
+
token = solution.get("token")
|
|
131
|
+
|
|
132
|
+
# Inject token into Playwright browser session
|
|
133
|
+
async with async_playwright() as p:
|
|
134
|
+
browser = await p.chromium.launch(headless=False)
|
|
135
|
+
page = await browser.new_page()
|
|
136
|
+
await page.goto("[https://target-website.com/login](https://target-website.com/login)")
|
|
137
|
+
|
|
138
|
+
await page.evaluate(f'document.querySelector("[name=cf-turnstile-response]").value = "{token}";')
|
|
139
|
+
await page.click("#submit-button")
|
|
140
|
+
await browser.close()
|
|
141
|
+
|
|
142
|
+
if __name__ == "__main__":
|
|
143
|
+
asyncio.run(run_scraper())
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 🔄 Migrating from 2Captcha or Capsolver
|
|
149
|
+
|
|
150
|
+
Already use 2Captcha or Capsolver in your scraper or bot? Replace only the solver call and keep the rest of your parser unchanged. CapMonster Cloud follows the same flow: send the website URL and sitekey, receive the token.
|
|
151
|
+
|
|
152
|
+
### Migration from 2Captcha (2captcha-python)
|
|
153
|
+
|
|
154
|
+
```python
|
|
155
|
+
# Before: 2Captcha
|
|
156
|
+
from twocaptcha import TwoCaptcha
|
|
157
|
+
|
|
158
|
+
solver = TwoCaptcha("YOUR_2CAPTCHA_API_KEY")
|
|
159
|
+
result = solver.recaptcha(
|
|
160
|
+
sitekey="YOUR_SITE_KEY",
|
|
161
|
+
url="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
162
|
+
)
|
|
163
|
+
token = result["code"]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
# After: CapMonster Cloud
|
|
168
|
+
import asyncio
|
|
169
|
+
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
170
|
+
from capmonstercloudclient.requests import RecaptchaV2Request
|
|
171
|
+
|
|
172
|
+
client = CapMonsterClient(options=ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY"))
|
|
173
|
+
|
|
174
|
+
async def solve():
|
|
175
|
+
result = await client.solve_captcha(RecaptchaV2Request(
|
|
176
|
+
websiteUrl="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
177
|
+
websiteKey="YOUR_SITE_KEY",
|
|
178
|
+
))
|
|
179
|
+
return result.get("gRecaptchaResponse")
|
|
180
|
+
|
|
181
|
+
token = asyncio.run(solve())
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Migration from Capsolver (capsolver-python)
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# Before: Capsolver
|
|
188
|
+
import capsolver
|
|
189
|
+
|
|
190
|
+
capsolver.api_key = "YOUR_CAPSOLVER_API_KEY"
|
|
191
|
+
solution = capsolver.solve({
|
|
192
|
+
"type": "ReCaptchaV2TaskProxyLess",
|
|
193
|
+
"websiteURL": "[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
194
|
+
"websiteKey": "YOUR_SITE_KEY",
|
|
195
|
+
})
|
|
196
|
+
token = solution["gRecaptchaResponse"]
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
The "After" code is the same CapMonster Cloud snippet as above: only the client, the API key and the request class change, the rest of your scraper stays the same. If you use an async framework, call `await client.solve_captcha(...)` directly instead of `asyncio.run`.
|
|
200
|
+
|
|
201
|
+
### Keep existing 2Captcha-based software
|
|
202
|
+
|
|
203
|
+
Software that already speaks the 2Captcha API can work with CapMonster Cloud without code changes. See the [guide for connecting other services' APIs](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 🛡️ Supported CAPTCHA Types: reCAPTCHA, Cloudflare Turnstile, DataDome, GeeTest & More
|
|
208
|
+
|
|
209
|
+
Use this Python captcha solver for captcha bypass in web scraping and automation: reCAPTCHA bypass (v2, v3, Enterprise), Cloudflare Turnstile solver, DataDome solver, GeeTest solver, Amazon WAF bypass and image-to-text recognition.
|
|
210
|
+
|
|
211
|
+
All task types conform to the official [CapMonster Cloud API Documentation](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme):
|
|
212
|
+
|
|
213
|
+
| Protection Type | Task Request Class | Proxyless Mode |
|
|
214
|
+
| :--- | :--- | :---: |
|
|
215
|
+
| **Cloudflare Turnstile** | `TurnstileRequest` | ✅ Supported |
|
|
216
|
+
| **reCAPTCHA v2** | `RecaptchaV2Request` | ✅ Supported |
|
|
217
|
+
| **reCAPTCHA v3** | `RecaptchaV3ProxylessRequest` | ✅ Supported |
|
|
218
|
+
| **reCAPTCHA Enterprise** | `RecaptchaV2EnterpriseProxylessRequest` / `RecaptchaV2EnterpriseRequest` | ✅ Supported |
|
|
219
|
+
| **GeeTest (v3, v4)** | `GeeTestProxylessRequest` / `GeeTestRequest` | ✅ Supported |
|
|
220
|
+
| **Amazon WAF** | `AmazonWafRequest` | ✅ Supported |
|
|
221
|
+
| **DataDome** | `DataDomeCustomTaskRequest` | 🌐 Proxy Required |
|
|
222
|
+
| **Imperva / Incapsula** | `ImpervaCustomTaskRequest` / `ImpervaCustomTaskProxylessRequest` | ✅ Supported |
|
|
223
|
+
| **Binance CAPTCHA** | `BinanceTaskRequest` / `BinanceTaskProxylessRequest` | ✅ Supported |
|
|
224
|
+
| **Standard Text CAPTCHA** | `ImageToTextRequest` | ✅ Supported |
|
|
225
|
+
| **Complex Image Tasks** | `RecaptchaComplexImageTaskRequest` | ✅ Supported |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 🛠️ How It Works
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
[ Script / Scraper ]
|
|
233
|
+
│
|
|
234
|
+
▼
|
|
235
|
+
[ Extract sitekey & website URL ]
|
|
236
|
+
│
|
|
237
|
+
▼
|
|
238
|
+
[ CapMonsterClient API ] ──► POST createTask to [https://api.capmonster.cloud](https://api.capmonster.cloud)
|
|
239
|
+
│
|
|
240
|
+
▼
|
|
241
|
+
[ Neural Network Processing ] ──► Poll getTaskResult (300ms - 6s)
|
|
242
|
+
│
|
|
243
|
+
▼
|
|
244
|
+
[ Receive Token & Autosubmit ] ──► Complete bypass
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## ⚙️ Best Practices
|
|
250
|
+
|
|
251
|
+
- **Token Expiration:** Most tokens (reCAPTCHA, Turnstile) remain valid for 120 seconds. Inject and submit the solution immediately after receiving the response.
|
|
252
|
+
- **Proxy Usage:** For custom tasks and strict protections, use the same proxy in your scraping session and the CapMonster task payload.
|
|
253
|
+
- **Balance Monitoring:** Ensure your account balance remains positive in the [Dashboard](https://dash.capmonster.cloud/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## ❓ FAQ
|
|
258
|
+
|
|
259
|
+
**Is CapMonster Cloud a 2Captcha alternative?**
|
|
260
|
+
Yes. It is a captcha solving service with an official Python SDK. For reCAPTCHA v3 it starts at $0.90 per 1,000 solves versus $1.45 at 2Captcha, which is up to 38% cheaper. For Cloudflare Turnstile it starts at $1.30 versus $1.45, which is 10% cheaper.
|
|
261
|
+
|
|
262
|
+
**Is CapMonster Cloud a Capsolver alternative?**
|
|
263
|
+
Yes. For reCAPTCHA v3 it is 10% cheaper than Capsolver ($0.90 versus $1.00 per 1,000 solves) and shows an API response time of ≤ 2 s versus < 3 s. See the comparison table above and its disclaimer.
|
|
264
|
+
|
|
265
|
+
**How do I migrate from 2Captcha or Capsolver to CapMonster Cloud in Python?**
|
|
266
|
+
Install `capmonstercloudclient`, create a `CapMonsterClient` with your API key and replace your solver call with `client.solve_captcha(...)`. See the migration examples above. Software that already supports the 2Captcha API can also be connected through the [CapMonster Cloud guide](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
267
|
+
|
|
268
|
+
**Which captchas can the Python SDK bypass?**
|
|
269
|
+
reCAPTCHA v2, v3 and Enterprise, Cloudflare Turnstile, GeeTest, Amazon WAF, DataDome, Imperva / Incapsula, Binance CAPTCHA, standard text (image-to-text) captchas and reCAPTCHA image tasks. See the supported types table.
|
|
270
|
+
|
|
271
|
+
**Which Python versions are supported?**
|
|
272
|
+
The package on PyPI requires Python 3.6 or newer.
|
|
273
|
+
|
|
274
|
+
**How do I get an API key?**
|
|
275
|
+
Register on CapMonster Cloud, top up your balance and copy your API key. The [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme) describes each step.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 📚 Official Documentation & Links
|
|
280
|
+
|
|
281
|
+
- 📖 [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
282
|
+
- 🎯 [Supported Captchas Overview](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
283
|
+
- ⚙️ [API Methods Reference](https://docs.capmonster.cloud/docs/methods/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
284
|
+
- 💬 [Support & Community](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme#support)
|
|
285
|
+
|
|
286
|
+
## Other official SDKs
|
|
287
|
+
|
|
288
|
+
- [.NET](https://github.com/CapMonsterCloud/capmonster-dotnet-captcha-solver)
|
|
289
|
+
- [Node.js](https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver)
|
|
290
|
+
- [n8n](https://github.com/CapMonsterCloud/capmonster-n8n-captcha-solver)
|
|
291
|
+
- [API Docs](https://github.com/CapMonsterCloud/capmonster-captcha-solver-docs)
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## 📄 License
|
|
296
|
+
|
|
297
|
+
[MIT](./LICENSE) © [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.3.2
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2/capmonstercloudclient.egg-info}/PKG-INFO
RENAMED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: capmonstercloudclient
|
|
3
|
-
Version: 4.3.
|
|
4
|
-
Summary: Official
|
|
5
|
-
Home-page: https://github.com/
|
|
6
|
-
Author:
|
|
7
|
-
Author-email:
|
|
8
|
-
License:
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
Version: 4.3.2
|
|
4
|
+
Summary: Official CapMonster Cloud Python SDK: captcha solver & captcha bypass for reCAPTCHA, Cloudflare Turnstile, DataDome and GeeTest. A 2captcha and capsolver alternative.
|
|
5
|
+
Home-page: https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
|
|
6
|
+
Author: CapMonster Cloud
|
|
7
|
+
Author-email: support@capmonster.cloud
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Homepage, https://capmonster.cloud/en/
|
|
10
|
+
Project-URL: Source, https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
|
|
11
|
+
Project-URL: Issues, https://github.com/CapMonsterCloud/capmonster-python-captcha-solver/issues
|
|
12
|
+
Project-URL: Documentation, https://docs.capmonster.cloud/
|
|
13
|
+
Keywords: capmonster,capmonster-cloud,capmonstercloudclient,captcha,captcha-solver,captcha-bypass,recaptcha,cloudflare-turnstile,geetest,datadome,web-scraping,python3,2captcha-alternative,capsolver-alternative
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
15
|
Classifier: Programming Language :: Python
|
|
12
16
|
Classifier: Programming Language :: Python :: 3
|
|
13
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -69,11 +73,14 @@ Dynamic: home-page
|
|
|
69
73
|
Dynamic: keywords
|
|
70
74
|
Dynamic: license
|
|
71
75
|
Dynamic: license-file
|
|
76
|
+
Dynamic: project-url
|
|
72
77
|
Dynamic: requires-dist
|
|
73
78
|
Dynamic: requires-python
|
|
74
79
|
Dynamic: summary
|
|
75
80
|
|
|
76
|
-
# CapMonster Cloud Python SDK: AI Captcha Solver &
|
|
81
|
+
# CapMonster Cloud Python SDK: AI Captcha Solver & Captcha Bypass
|
|
82
|
+
|
|
83
|
+
> **🔄 Migrating from 2Captcha or Capsolver?** CapMonster Cloud is a fast, cost-effective **2captcha alternative** and **capsolver alternative**: reCAPTCHA v3 from **$0.90 per 1,000 solves**, which is **up to 38% cheaper than 2Captcha** and **10% cheaper than Capsolver**, with an API response time of **≤ 2 s**. Already have software built for 2Captcha? CapMonster Cloud [supports the 2Captcha API format](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Moving your Python code takes just a few lines: see the **Migration examples** below. Full comparison and disclaimer are in the comparison section below.
|
|
77
84
|
|
|
78
85
|
<p align="center">
|
|
79
86
|
<a href="https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme">
|
|
@@ -97,17 +104,52 @@ Dynamic: summary
|
|
|
97
104
|
|
|
98
105
|
Official asynchronous Python SDK for [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Easily plug ultra-fast AI captcha recognition into **Playwright, Selenium, Puppeteer, Scrapy, BeautifulSoup, and Requests** automation workflows without human-in-the-loop delays.
|
|
99
106
|
|
|
107
|
+
The CapMonster Cloud Python SDK (`capmonstercloudclient`, also known as the CapMonster SDK for Python) is a captcha solver and captcha bypass client for Python 3.6+. Use it to bypass reCAPTCHA v2, v3 and Enterprise, solve Cloudflare Turnstile, DataDome, GeeTest and Amazon WAF, and recognize image-to-text captchas in web scraping and automation, as a cost-effective 2captcha alternative and capsolver alternative.
|
|
108
|
+
|
|
100
109
|
**[👉 Get your Free API Key & Free Trial Balance on CapMonster Cloud](https://dash.capmonster.cloud/Account/SignUp?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)**
|
|
101
110
|
|
|
102
111
|
---
|
|
103
112
|
|
|
104
113
|
## ⚡ Highlights & Benchmarks
|
|
105
114
|
|
|
106
|
-
- ⚡ **
|
|
115
|
+
- ⚡ **Fast Solving:** Automated AI models solve captchas in 300 ms to 6 seconds depending on the system load.
|
|
107
116
|
- 🤖 **Zero Human Workers:** 100% automated machine learning pipeline with no manual latencies.
|
|
108
117
|
- 🌐 **Browser Automation Ready:** Works out-of-the-box with **Playwright, Selenium, and Puppeteer**.
|
|
109
118
|
- 🛡️ **Modern Anti-Bot Bypass:** Full support for Cloudflare Turnstile, reCAPTCHA Enterprise, GeeTest, and Amazon WAF.
|
|
110
119
|
- 💰 **Cost-Effective:** Low-cost pricing structure based on pay-as-you-go balance.
|
|
120
|
+
- 📉 **Cheaper Than Alternatives:** reCAPTCHA v3 from $0.90 per 1,000 solves, versus $1.45 at 2Captcha and $1.00 at Capsolver.
|
|
121
|
+
- 🔄 **Easy Migration:** replace your 2Captcha or Capsolver solver call and keep the rest of your scraper or bot unchanged.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 📊 CapMonster Cloud vs 2Captcha vs Capsolver
|
|
126
|
+
|
|
127
|
+
Looking for a 2captcha alternative or a capsolver alternative for web scraping and automation? Compare price, speed and success rate.
|
|
128
|
+
|
|
129
|
+
### reCAPTCHA v3
|
|
130
|
+
|
|
131
|
+
| Parameter | CapMonster Cloud | 2Captcha | CapSolver | DeathByCaptcha |
|
|
132
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
133
|
+
| Price per 1,000 solves (from) | **$0.90** | $1.45 | $1.00 | $2.89 |
|
|
134
|
+
| API response time | **≤ 2 s** | ≤ 2 s | < 3 s | ≤ 3 s |
|
|
135
|
+
| Solving success rate | **up to 99%** | ~77–92% | ~95–98% | ~64–90% |
|
|
136
|
+
|
|
137
|
+
*Disclaimer: 2Captcha, CapSolver, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking conducted on 27.09.2026.*
|
|
138
|
+
|
|
139
|
+
### Cloudflare Turnstile
|
|
140
|
+
|
|
141
|
+
| Parameter | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|
|
142
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
143
|
+
| Price per 1,000 solves (from) | **$1.30** | $1.45 | $2.00 | $2.89 |
|
|
144
|
+
| Time to solve | **6.24 s\*** | 16.9 s | 20.33 s | ~13 s |
|
|
145
|
+
| Solving success rate | **99%\*** | 96% | 96% | 96% |
|
|
146
|
+
|
|
147
|
+
*Disclaimer: 2Captcha, Anti-Captcha, and DeathByCaptcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. Performance metrics and pricing comparisons are based on publicly available data and internal benchmarking as of 12.10.2026.*
|
|
148
|
+
|
|
149
|
+
**What this means in practice:**
|
|
150
|
+
|
|
151
|
+
- **reCAPTCHA v3:** $0.90 versus $1.45 at 2Captcha is up to 38% cheaper, and $0.90 versus $1.00 at Capsolver is 10% cheaper.
|
|
152
|
+
- **Cloudflare Turnstile:** $1.30 versus $1.45 at 2Captcha is 10% cheaper, and a solving time of 6.24 s versus 16.9 s is more than 60% faster.
|
|
111
153
|
|
|
112
154
|
---
|
|
113
155
|
|
|
@@ -135,7 +177,7 @@ client = CapMonsterClient(options=options)
|
|
|
135
177
|
async def main():
|
|
136
178
|
# Build the task payload
|
|
137
179
|
request = RecaptchaV2Request(
|
|
138
|
-
websiteUrl="https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
|
|
180
|
+
websiteUrl="[https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high](https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high)",
|
|
139
181
|
websiteKey="6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
|
|
140
182
|
)
|
|
141
183
|
|
|
@@ -161,7 +203,7 @@ client = CapMonsterClient(options=options)
|
|
|
161
203
|
async def run_scraper():
|
|
162
204
|
# Solve Turnstile challenge via CapMonster Cloud
|
|
163
205
|
turnstile_req = TurnstileRequest(
|
|
164
|
-
websiteURL="https://target-website.com/login",
|
|
206
|
+
websiteURL="[https://target-website.com/login](https://target-website.com/login)",
|
|
165
207
|
websiteKey="0x4AAAAAAABnPIDnK2k_e-2"
|
|
166
208
|
)
|
|
167
209
|
solution = await client.solve_captcha(turnstile_req)
|
|
@@ -171,7 +213,7 @@ async def run_scraper():
|
|
|
171
213
|
async with async_playwright() as p:
|
|
172
214
|
browser = await p.chromium.launch(headless=False)
|
|
173
215
|
page = await browser.new_page()
|
|
174
|
-
await page.goto("https://target-website.com/login")
|
|
216
|
+
await page.goto("[https://target-website.com/login](https://target-website.com/login)")
|
|
175
217
|
|
|
176
218
|
await page.evaluate(f'document.querySelector("[name=cf-turnstile-response]").value = "{token}";')
|
|
177
219
|
await page.click("#submit-button")
|
|
@@ -183,7 +225,68 @@ if __name__ == "__main__":
|
|
|
183
225
|
|
|
184
226
|
---
|
|
185
227
|
|
|
186
|
-
##
|
|
228
|
+
## 🔄 Migrating from 2Captcha or Capsolver
|
|
229
|
+
|
|
230
|
+
Already use 2Captcha or Capsolver in your scraper or bot? Replace only the solver call and keep the rest of your parser unchanged. CapMonster Cloud follows the same flow: send the website URL and sitekey, receive the token.
|
|
231
|
+
|
|
232
|
+
### Migration from 2Captcha (2captcha-python)
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
# Before: 2Captcha
|
|
236
|
+
from twocaptcha import TwoCaptcha
|
|
237
|
+
|
|
238
|
+
solver = TwoCaptcha("YOUR_2CAPTCHA_API_KEY")
|
|
239
|
+
result = solver.recaptcha(
|
|
240
|
+
sitekey="YOUR_SITE_KEY",
|
|
241
|
+
url="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
242
|
+
)
|
|
243
|
+
token = result["code"]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
```python
|
|
247
|
+
# After: CapMonster Cloud
|
|
248
|
+
import asyncio
|
|
249
|
+
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
250
|
+
from capmonstercloudclient.requests import RecaptchaV2Request
|
|
251
|
+
|
|
252
|
+
client = CapMonsterClient(options=ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY"))
|
|
253
|
+
|
|
254
|
+
async def solve():
|
|
255
|
+
result = await client.solve_captcha(RecaptchaV2Request(
|
|
256
|
+
websiteUrl="[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
257
|
+
websiteKey="YOUR_SITE_KEY",
|
|
258
|
+
))
|
|
259
|
+
return result.get("gRecaptchaResponse")
|
|
260
|
+
|
|
261
|
+
token = asyncio.run(solve())
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Migration from Capsolver (capsolver-python)
|
|
265
|
+
|
|
266
|
+
```python
|
|
267
|
+
# Before: Capsolver
|
|
268
|
+
import capsolver
|
|
269
|
+
|
|
270
|
+
capsolver.api_key = "YOUR_CAPSOLVER_API_KEY"
|
|
271
|
+
solution = capsolver.solve({
|
|
272
|
+
"type": "ReCaptchaV2TaskProxyLess",
|
|
273
|
+
"websiteURL": "[https://target-website.com/page-with-recaptcha](https://target-website.com/page-with-recaptcha)",
|
|
274
|
+
"websiteKey": "YOUR_SITE_KEY",
|
|
275
|
+
})
|
|
276
|
+
token = solution["gRecaptchaResponse"]
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
The "After" code is the same CapMonster Cloud snippet as above: only the client, the API key and the request class change, the rest of your scraper stays the same. If you use an async framework, call `await client.solve_captcha(...)` directly instead of `asyncio.run`.
|
|
280
|
+
|
|
281
|
+
### Keep existing 2Captcha-based software
|
|
282
|
+
|
|
283
|
+
Software that already speaks the 2Captcha API can work with CapMonster Cloud without code changes. See the [guide for connecting other services' APIs](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 🛡️ Supported CAPTCHA Types: reCAPTCHA, Cloudflare Turnstile, DataDome, GeeTest & More
|
|
288
|
+
|
|
289
|
+
Use this Python captcha solver for captcha bypass in web scraping and automation: reCAPTCHA bypass (v2, v3, Enterprise), Cloudflare Turnstile solver, DataDome solver, GeeTest solver, Amazon WAF bypass and image-to-text recognition.
|
|
187
290
|
|
|
188
291
|
All task types conform to the official [CapMonster Cloud API Documentation](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme):
|
|
189
292
|
|
|
@@ -212,7 +315,7 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
212
315
|
[ Extract sitekey & website URL ]
|
|
213
316
|
│
|
|
214
317
|
▼
|
|
215
|
-
[ CapMonsterClient API ] ──► POST createTask to https://api.capmonster.cloud
|
|
318
|
+
[ CapMonsterClient API ] ──► POST createTask to [https://api.capmonster.cloud](https://api.capmonster.cloud)
|
|
216
319
|
│
|
|
217
320
|
▼
|
|
218
321
|
[ Neural Network Processing ] ──► Poll getTaskResult (300ms - 6s)
|
|
@@ -231,6 +334,28 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
231
334
|
|
|
232
335
|
---
|
|
233
336
|
|
|
337
|
+
## ❓ FAQ
|
|
338
|
+
|
|
339
|
+
**Is CapMonster Cloud a 2Captcha alternative?**
|
|
340
|
+
Yes. It is a captcha solving service with an official Python SDK. For reCAPTCHA v3 it starts at $0.90 per 1,000 solves versus $1.45 at 2Captcha, which is up to 38% cheaper. For Cloudflare Turnstile it starts at $1.30 versus $1.45, which is 10% cheaper.
|
|
341
|
+
|
|
342
|
+
**Is CapMonster Cloud a Capsolver alternative?**
|
|
343
|
+
Yes. For reCAPTCHA v3 it is 10% cheaper than Capsolver ($0.90 versus $1.00 per 1,000 solves) and shows an API response time of ≤ 2 s versus < 3 s. See the comparison table above and its disclaimer.
|
|
344
|
+
|
|
345
|
+
**How do I migrate from 2Captcha or Capsolver to CapMonster Cloud in Python?**
|
|
346
|
+
Install `capmonstercloudclient`, create a `CapMonsterClient` with your API key and replace your solver call with `client.solve_captcha(...)`. See the migration examples above. Software that already supports the 2Captcha API can also be connected through the [CapMonster Cloud guide](https://docs.capmonster.cloud/docs/external-services/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
347
|
+
|
|
348
|
+
**Which captchas can the Python SDK bypass?**
|
|
349
|
+
reCAPTCHA v2, v3 and Enterprise, Cloudflare Turnstile, GeeTest, Amazon WAF, DataDome, Imperva / Incapsula, Binance CAPTCHA, standard text (image-to-text) captchas and reCAPTCHA image tasks. See the supported types table.
|
|
350
|
+
|
|
351
|
+
**Which Python versions are supported?**
|
|
352
|
+
The package on PyPI requires Python 3.6 or newer.
|
|
353
|
+
|
|
354
|
+
**How do I get an API key?**
|
|
355
|
+
Register on CapMonster Cloud, top up your balance and copy your API key. The [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme) describes each step.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
234
359
|
## 📚 Official Documentation & Links
|
|
235
360
|
|
|
236
361
|
- 📖 [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -249,4 +374,4 @@ All task types conform to the official [CapMonster Cloud API Documentation](http
|
|
|
249
374
|
|
|
250
375
|
## 📄 License
|
|
251
376
|
|
|
252
|
-
[MIT](./LICENSE) © [
|
|
377
|
+
[MIT](./LICENSE) © [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -10,14 +10,14 @@ from setuptools import setup
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
NAME = 'capmonstercloudclient'
|
|
13
|
-
DESCRIPTION = 'Official
|
|
14
|
-
EMAIL = '
|
|
15
|
-
AUTHOR = '
|
|
13
|
+
DESCRIPTION = 'Official CapMonster Cloud Python SDK: captcha solver & captcha bypass for reCAPTCHA, Cloudflare Turnstile, DataDome and GeeTest. A 2captcha and capsolver alternative.'
|
|
14
|
+
EMAIL = 'support@capmonster.cloud'
|
|
15
|
+
AUTHOR = 'CapMonster Cloud'
|
|
16
16
|
with open('capmonstercloud_client/version.txt', 'r') as f:
|
|
17
17
|
VERSION = f.read()
|
|
18
18
|
with open("requirements.txt") as f:
|
|
19
19
|
REQUIRED = [line.strip() for line in f if line.strip() and not line.startswith("#")]
|
|
20
|
-
URL='https://github.com/
|
|
20
|
+
URL='https://github.com/CapMonsterCloud/capmonster-python-captcha-solver'
|
|
21
21
|
|
|
22
22
|
this_directory = Path(__file__).parent
|
|
23
23
|
long_description = (this_directory / "README.md").read_text(encoding="utf-8")
|
|
@@ -37,23 +37,33 @@ setup(
|
|
|
37
37
|
include_package_data=True,
|
|
38
38
|
py_modules=["capmonstercloudclient"],
|
|
39
39
|
url=URL,
|
|
40
|
+
project_urls={
|
|
41
|
+
"Homepage": "https://capmonster.cloud/en/",
|
|
42
|
+
"Source": "https://github.com/CapMonsterCloud/capmonster-python-captcha-solver",
|
|
43
|
+
"Issues": "https://github.com/CapMonsterCloud/capmonster-python-captcha-solver/issues",
|
|
44
|
+
"Documentation": "https://docs.capmonster.cloud/",
|
|
45
|
+
},
|
|
40
46
|
python_requires='>=3.6',
|
|
41
47
|
install_requires=REQUIRED,
|
|
42
48
|
keywords="""
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
geetest
|
|
46
|
-
hcaptcha
|
|
47
|
-
funcaptcha
|
|
48
|
-
python3
|
|
49
|
-
python-library
|
|
50
|
-
capmonster
|
|
51
|
-
capmonstercloud
|
|
49
|
+
capmonster
|
|
50
|
+
capmonster-cloud
|
|
52
51
|
capmonstercloudclient
|
|
52
|
+
captcha
|
|
53
|
+
captcha-solver
|
|
54
|
+
captcha-bypass
|
|
55
|
+
recaptcha
|
|
56
|
+
cloudflare-turnstile
|
|
57
|
+
geetest
|
|
58
|
+
datadome
|
|
59
|
+
web-scraping
|
|
60
|
+
python3
|
|
61
|
+
2captcha-alternative
|
|
62
|
+
capsolver-alternative
|
|
53
63
|
""",
|
|
54
|
-
license="
|
|
64
|
+
license="MIT",
|
|
55
65
|
classifiers=[
|
|
56
|
-
"License :: OSI Approved ::
|
|
66
|
+
"License :: OSI Approved :: MIT License",
|
|
57
67
|
"Programming Language :: Python",
|
|
58
68
|
"Programming Language :: Python :: 3",
|
|
59
69
|
"Programming Language :: Python :: 3 :: Only",
|
|
@@ -72,4 +82,4 @@ setup(
|
|
|
72
82
|
"Operating System :: Microsoft :: Windows",
|
|
73
83
|
"Operating System :: MacOS",
|
|
74
84
|
]
|
|
75
|
-
)
|
|
85
|
+
)
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
# CapMonster Cloud Python SDK: AI Captcha Solver & Anti-Bot Bypass
|
|
2
|
-
|
|
3
|
-
<p align="center">
|
|
4
|
-
<a href="https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme">
|
|
5
|
-
<img src="https://img.shields.io/badge/CapMonster%20Cloud-Python%20Captcha%20Solver-00B2FF?style=for-the-badge&logo=python&logoColor=white" alt="CapMonster Cloud Python SDK" height="40">
|
|
6
|
-
</a>
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
<p align="center">
|
|
10
|
-
<strong>Fast, AI-driven CAPTCHA solving client for Python. Seamlessly bypass Cloudflare Turnstile, reCAPTCHA v2/v3/Enterprise, DataDome, GeeTest, and Amazon WAF in web scraping and browser automation.</strong>
|
|
11
|
-
</p>
|
|
12
|
-
|
|
13
|
-
<p align="center">
|
|
14
|
-
<a href="https://pypi.org/project/capmonstercloudclient/"><img src="https://img.shields.io/pypi/v/capmonstercloudclient.svg?style=flat-square&color=blue" alt="PyPI version"></a>
|
|
15
|
-
<a href="https://pepy.tech/project/capmonstercloudclient"><img src="https://static.pepy.tech/badge/capmonstercloudclient/month" alt="PyPI downloads"></a>
|
|
16
|
-
<a href="https://pypi.org/project/capmonstercloudclient/"><img src="https://img.shields.io/pypi/pyversions/capmonstercloudclient.svg?style=flat-square" alt="Python Versions"></a>
|
|
17
|
-
<a href="https://github.com/CapMonsterCloud/capmonster-python-captcha-solver/stargazers"><img src="https://img.shields.io/github/stars/CapMonsterCloud/capmonster-python-captcha-solver?style=flat-square&color=yellow" alt="GitHub Stars"></a>
|
|
18
|
-
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-orange.svg?style=flat-square" alt="License: MIT"></a>
|
|
19
|
-
</p>
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
Official asynchronous Python SDK for [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme). Easily plug ultra-fast AI captcha recognition into **Playwright, Selenium, Puppeteer, Scrapy, BeautifulSoup, and Requests** automation workflows without human-in-the-loop delays.
|
|
24
|
-
|
|
25
|
-
**[👉 Get your Free API Key & Free Trial Balance on CapMonster Cloud](https://dash.capmonster.cloud/Account/SignUp?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)**
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## ⚡ Highlights & Benchmarks
|
|
30
|
-
|
|
31
|
-
- ⚡ **Sub-Second Speed:** Automated AI models solve captchas in 300 ms to 6 seconds depending on the system load.
|
|
32
|
-
- 🤖 **Zero Human Workers:** 100% automated machine learning pipeline with no manual latencies.
|
|
33
|
-
- 🌐 **Browser Automation Ready:** Works out-of-the-box with **Playwright, Selenium, and Puppeteer**.
|
|
34
|
-
- 🛡️ **Modern Anti-Bot Bypass:** Full support for Cloudflare Turnstile, reCAPTCHA Enterprise, GeeTest, and Amazon WAF.
|
|
35
|
-
- 💰 **Cost-Effective:** Low-cost pricing structure based on pay-as-you-go balance.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 📦 Installation
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
pip install capmonstercloudclient
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## 🚀 Quick Start & Usage Examples
|
|
48
|
-
|
|
49
|
-
### 1. Asynchronous reCAPTCHA v2 Solving
|
|
50
|
-
|
|
51
|
-
```python
|
|
52
|
-
import asyncio
|
|
53
|
-
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
54
|
-
from capmonstercloudclient.requests import RecaptchaV2Request
|
|
55
|
-
|
|
56
|
-
# Initialize client with your API key from dashboard
|
|
57
|
-
options = ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY")
|
|
58
|
-
client = CapMonsterClient(options=options)
|
|
59
|
-
|
|
60
|
-
async def main():
|
|
61
|
-
# Build the task payload
|
|
62
|
-
request = RecaptchaV2Request(
|
|
63
|
-
websiteUrl="https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
|
|
64
|
-
websiteKey="6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
# Send task and receive token
|
|
68
|
-
result = await client.solve_captcha(request)
|
|
69
|
-
print("reCAPTCHA Token:", result.get("gRecaptchaResponse"))
|
|
70
|
-
|
|
71
|
-
if __name__ == "__main__":
|
|
72
|
-
asyncio.run(main())
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 2. Browser Automation (Playwright + Cloudflare Turnstile)
|
|
76
|
-
|
|
77
|
-
```python
|
|
78
|
-
import asyncio
|
|
79
|
-
from playwright.async_api import async_playwright
|
|
80
|
-
from capmonstercloudclient import CapMonsterClient, ClientOptions
|
|
81
|
-
from capmonstercloudclient.requests import TurnstileRequest
|
|
82
|
-
|
|
83
|
-
options = ClientOptions(api_key="YOUR_CAPMONSTER_API_KEY")
|
|
84
|
-
client = CapMonsterClient(options=options)
|
|
85
|
-
|
|
86
|
-
async def run_scraper():
|
|
87
|
-
# Solve Turnstile challenge via CapMonster Cloud
|
|
88
|
-
turnstile_req = TurnstileRequest(
|
|
89
|
-
websiteURL="https://target-website.com/login",
|
|
90
|
-
websiteKey="0x4AAAAAAABnPIDnK2k_e-2"
|
|
91
|
-
)
|
|
92
|
-
solution = await client.solve_captcha(turnstile_req)
|
|
93
|
-
token = solution.get("token")
|
|
94
|
-
|
|
95
|
-
# Inject token into Playwright browser session
|
|
96
|
-
async with async_playwright() as p:
|
|
97
|
-
browser = await p.chromium.launch(headless=False)
|
|
98
|
-
page = await browser.new_page()
|
|
99
|
-
await page.goto("https://target-website.com/login")
|
|
100
|
-
|
|
101
|
-
await page.evaluate(f'document.querySelector("[name=cf-turnstile-response]").value = "{token}";')
|
|
102
|
-
await page.click("#submit-button")
|
|
103
|
-
await browser.close()
|
|
104
|
-
|
|
105
|
-
if __name__ == "__main__":
|
|
106
|
-
asyncio.run(run_scraper())
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 🛡️ Supported CAPTCHA Types
|
|
112
|
-
|
|
113
|
-
All task types conform to the official [CapMonster Cloud API Documentation](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme):
|
|
114
|
-
|
|
115
|
-
| Protection Type | Task Request Class | Proxyless Mode |
|
|
116
|
-
| :--- | :--- | :---: |
|
|
117
|
-
| **Cloudflare Turnstile** | `TurnstileRequest` | ✅ Supported |
|
|
118
|
-
| **reCAPTCHA v2** | `RecaptchaV2Request` | ✅ Supported |
|
|
119
|
-
| **reCAPTCHA v3** | `RecaptchaV3ProxylessRequest` | ✅ Supported |
|
|
120
|
-
| **reCAPTCHA Enterprise** | `RecaptchaV2EnterpriseProxylessRequest` / `RecaptchaV2EnterpriseRequest` | ✅ Supported |
|
|
121
|
-
| **GeeTest (v3, v4)** | `GeeTestProxylessRequest` / `GeeTestRequest` | ✅ Supported |
|
|
122
|
-
| **Amazon WAF** | `AmazonWafRequest` | ✅ Supported |
|
|
123
|
-
| **DataDome** | `DataDomeCustomTaskRequest` | 🌐 Proxy Required |
|
|
124
|
-
| **Imperva / Incapsula** | `ImpervaCustomTaskRequest` / `ImpervaCustomTaskProxylessRequest` | ✅ Supported |
|
|
125
|
-
| **Binance CAPTCHA** | `BinanceTaskRequest` / `BinanceTaskProxylessRequest` | ✅ Supported |
|
|
126
|
-
| **Standard Text CAPTCHA** | `ImageToTextRequest` | ✅ Supported |
|
|
127
|
-
| **Complex Image Tasks** | `RecaptchaComplexImageTaskRequest` | ✅ Supported |
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## 🛠️ How It Works
|
|
132
|
-
|
|
133
|
-
```text
|
|
134
|
-
[ Script / Scraper ]
|
|
135
|
-
│
|
|
136
|
-
▼
|
|
137
|
-
[ Extract sitekey & website URL ]
|
|
138
|
-
│
|
|
139
|
-
▼
|
|
140
|
-
[ CapMonsterClient API ] ──► POST createTask to https://api.capmonster.cloud
|
|
141
|
-
│
|
|
142
|
-
▼
|
|
143
|
-
[ Neural Network Processing ] ──► Poll getTaskResult (300ms - 6s)
|
|
144
|
-
│
|
|
145
|
-
▼
|
|
146
|
-
[ Receive Token & Autosubmit ] ──► Complete bypass
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## ⚙️ Best Practices
|
|
152
|
-
|
|
153
|
-
- **Token Expiration:** Most tokens (reCAPTCHA, Turnstile) remain valid for 120 seconds. Inject and submit the solution immediately after receiving the response.
|
|
154
|
-
- **Proxy Usage:** For custom tasks and strict protections, use the same proxy in your scraping session and the CapMonster task payload.
|
|
155
|
-
- **Balance Monitoring:** Ensure your account balance remains positive in the [Dashboard](https://dash.capmonster.cloud/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme).
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## 📚 Official Documentation & Links
|
|
160
|
-
|
|
161
|
-
- 📖 [Getting Started Guide](https://docs.capmonster.cloud/docs/getting-start/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
162
|
-
- 🎯 [Supported Captchas Overview](https://docs.capmonster.cloud/docs/captchas/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
163
|
-
- ⚙️ [API Methods Reference](https://docs.capmonster.cloud/docs/methods/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
164
|
-
- 💬 [Support & Community](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme#support)
|
|
165
|
-
|
|
166
|
-
## Other official SDKs
|
|
167
|
-
|
|
168
|
-
- [.NET](https://github.com/CapMonsterCloud/capmonster-dotnet-captcha-solver)
|
|
169
|
-
- [Node.js](https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver)
|
|
170
|
-
- [n8n](https://github.com/CapMonsterCloud/capmonster-n8n-captcha-solver)
|
|
171
|
-
- [API Docs](https://github.com/CapMonsterCloud/capmonster-captcha-solver-docs)
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## 📄 License
|
|
176
|
-
|
|
177
|
-
[MIT](./LICENSE) © [ZennoLab](https://zennolab.com/) / [CapMonster Cloud](https://capmonster.cloud/en/?utm_source=github&utm_medium=referral&utm_campaign=python_repo_readme)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.3.1
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/__init__.py
RENAMED
|
File without changes
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/captchaResult.py
RENAMED
|
File without changes
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/clientOptions.py
RENAMED
|
File without changes
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{capmonstercloudclient-4.3.1 → capmonstercloudclient-4.3.2}/capmonstercloud_client/requests/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|