Captcha Solver
Project description
🚀 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 🚀
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 completcha-1.0.1.tar.gz.
File metadata
- Download URL: completcha-1.0.1.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ea891ecfcbd83e4ebcd2e76e4b6cfb4f3da59edb7e15f4d2f7fbf4619eb03f1
|
|
| MD5 |
5c7d4497aa80d3009da23c493433ecc4
|
|
| BLAKE2b-256 |
0223fd611267e8df86fd2c9b41b2ea3faf5c0bdc04dc153c3f3df9a449c5becf
|
File details
Details for the file completcha-1.0.1-py3-none-any.whl.
File metadata
- Download URL: completcha-1.0.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f610370019a96010205d7fdddd0486334907eab1ec5df72dc86bef435792ecf1
|
|
| MD5 |
5eae99636a30b9ad27d7e670bdf5fb7e
|
|
| BLAKE2b-256 |
7e625652d7bef91bdf9c39b9d29aeff52f88841b7044151b10d2b5eb4cff747a
|