🚀 Completcha
Python library for solving Arkose Labs / FunCaptcha challenges, built to deliver high success rates, speed, and real-world reliability in production.
Free trial for new users on completcha.com
Unlike traditional approaches, Completcha was designed to solve the most common problems faced when dealing with captchas:
- ❌ Challenges that never get solved
- ⏳ Long waiting times for responses
- 🔁 Constant need to generate new captcha URLs
- 🚫 Limited attempts per challenge
💡 Key Advantages
🚀 Bypass Resolution (Main Advantage)
The biggest advantage of Completcha is its full Arkose bypass capability.
- Most challenges are solved without requiring image solving
- The system accurately replicates real browser behavior
- This results in:
- ⚡ Much faster responses
- 🎯 Extremely high success rates
- 🔄 Reduced need to generate new challenges
👉 In practice, this eliminates the most frustrating issue: waiting for a captcha that often never gets solved.
🖼️ Image Solving with Smart Retries
When bypass is not possible (e.g., using rotating proxies), Completcha still stands out:
- 🔁 Performs all necessary retries automatically
- 🧠 Designed to handle harder image challenges
- 📉 Significantly reduces failure rates
- ♻️ Avoids the need to generate new captcha URLs
Additionally:
- Full integration with Arkose's original flow ensures:
- Fewer images are generated
- Behavior closely matches a real browser
👉 Result: one of the highest solving success rates on the market, even in difficult scenarios.
📦 Installation
pip install completcha
🔐 Solving Methods
Completcha provides two main methods for solving Arkose challenges:
🚀 1. Bypass (Recommended)
The fastest and most reliable method.
How it works:
- The Arkose challenge URL must be requested using a fixed proxy
- The solution is executed on the same IP as the request
- No images need to be solved
Advantages:
- ⚡ High speed
- 🎯 Maximum reliability
- 🧠 No image solving required
⚠️ Important:
- Use fixed (dedicated) proxies
- Do NOT use sticky proxies
❗ Sticky proxies will change IP addresses because they depend on the same source IP address to remain static since your source IP address is different from ours in the resolution side.
🖼️ 2. Image Solving
Used when bypass is not possible.
When it happens:
- When using rotating proxies
- The request IP differs from the solving IP
Features:
- 🧩 Automatically solves any image challenge
- 📊 Real-time logs for tracking progress
⚙️ Best Practices
- ✅ Use the same User-Agent from the original request
- ♻️ Reuse the same API instance (avoids rate limiting)
- 🔒 Prefer fixed proxies for best performance
💻 Example Usage
from completcha import SolverApi
# Instantiate only once to maintain same completcha session to avoid rate limit
completcha_session = SolverApi(
api_key='xxx-xxxx-xxx-xxx-xxxx-xxx',
show_logs=True
)
arkose_data = 'Q9xL2mVtF8yZk/rW.JpG4aH6uSnoqLDEBvCwR5Xf3sYt0ZlN8Peu/jK3qTz7rVbA1MHi9UdWcE2Ox+gFJYnKsL0QpR4t6BvXy7zN5hMeCq8GjAfD3uWPlZrT1n/SoIkVxYcE2mH7F9QaUpbXgRZK5V3nTtLj8wQh4Gv0p2fMsYkJ6CDeaI1Xo7r8s9NwBtU5lE3ZcHyPgQfO2uV1dKjSxA7mW9bL0FvRzJq6YH3XcD8tUpnK5wIeM4aG2ZQh7sVb9C0fYkT1xP8LrNwD3mE6uJgS2AqXv5oFz+HyR8c7LkW9p0VJtN3ZbGdE6xF2aQs8UoYhP1rM4iTnK7wC5vLzX9qD2jH0BfE3R6gPZs1yN4t8uAqI5WcKXoM7dVhFzYJ2bL9xC6rT3gUpvSnQ0='
proxy = 'proxyusername:proxypassword@proxyhost:proxyport'
site_key = '2CB16598-CB82-4CF7-B332-5990DB66F3AB'
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36'
solved_token_arkose = completcha_session.arkose(
arkose_data,
proxy,
site_key,
user_agent
)
Return Solved Token
70103a5dafe122e18.1833610001|r=us-east-1|meta=3|meta_width=558|meta_height=523|metabgclr=transparent|metaiconclr=%23555555|guitextcolor=%23000000|pk=2CB16598-CB82-4CF7-B332-5990DB66F3AB|at=30|ag=201|cdn_url=https%3A%2F%2Fclient-api.arkoselabs.com%2Fcdn%2Ffc|surl=https%3A%2F%2Fclient-api.arkoselabs.com|smurl=https%3A%2F%2Fclient-api.arkoselabs.com%2Fcdn%2Ffc%2Fassets%2Fstyle-manager
⭐ Method Comparison
| Method | Speed | Reliability |
|---|---|---|
| 🚀 Bypass | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 🖼️ Image Solving | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
🏆 Final Recommendation
- 🚀 Bypass → ⭐⭐⭐⭐⭐ (Best overall choice)
- 🖼️ Image → ⭐⭐⭐⭐
✔ Always prefer bypass with fixed proxies for optimal performance.
💬 Community & Support
Join the community for support, updates, and discussions 🚀
Metadata
Release files for completcha 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| completcha-1.0.1.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| completcha-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.0 kB
Release files / completcha-1.0.1.tar.gz
| Download URL | completcha-1.0.1.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ea891ecfcbd83e4ebcd2e76e4b6cfb4f3da59edb7e15f4d2f7fbf4619eb03f1
|
|
BLAKE2b-256 checksum How to use checksums |
0223fd611267e8df86fd2c9b41b2ea3faf5c0bdc04dc153c3f3df9a449c5becf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / completcha-1.0.1-py3-none-any.whl
| Download URL | completcha-1.0.1-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f610370019a96010205d7fdddd0486334907eab1ec5df72dc86bef435792ecf1
|
|
BLAKE2b-256 checksum How to use checksums |
7e625652d7bef91bdf9c39b9d29aeff52f88841b7044151b10d2b5eb4cff747a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|