Metadata-Version: 2.4
Name: nextsolver
Version: 1.0.0
Summary: NextSolver Python SDK — AI-Powered Captcha Solving API. CapSolver-compatible.
Author-email: NextSolver <contact@nextsolver.com>
License: MIT
Project-URL: Homepage, https://nextsolver.com
Project-URL: Documentation, https://nextsolver.com/docs-api
Project-URL: Repository, https://github.com/nextsolver/nextsolver-python
Keywords: captcha,solver,recaptcha,funcaptcha,waf,nextsolver,capsolver,arkose
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.20.0
Dynamic: license-file

# NextSolver Python SDK

Official Python SDK for [NextSolver](https://nextsolver.com) — AI-Powered Captcha Solving API.

CapSolver-compatible drop-in replacement. Change your base URL and you're live.

## Installation

```bash
pip install nextsolver
```

## Quick Start

```python
from nextsolver import NextSolver

solver = NextSolver(api_key="YOUR_API_KEY")

# Solve AWS WAF (instant, ~50ms)
result = solver.solve_waf(
    images=["base64_image_1", "base64_image_2"],
    question="umbrella"
)
print(result)  # [False, True, False, True, False, False]

# Solve reCAPTCHA v2 (auto-polls until ready)
token = solver.solve_recaptcha_v2(
    website_url="https://example.com",
    website_key="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
)
print(token)
```

## Supported Captcha Types

| Type | Task Name | Method |
|------|-----------|--------|
| AWS WAF | `AwsWafClassification` | `solve_waf()` |
| Image/Text | `ImageToTextTask` | `solve_image()` |
| Math | `MathCaptcha` | `solve()` |
| Audio | `AudioTask` | `solve_audio()` |
| FriendlyCaptcha | `FriendlyCaptchaTaskProxyless` | `solve_friendly()` |
| reCAPTCHA v2 | `ReCaptchaV2TaskProxyless` | `solve_recaptcha_v2()` |
| FunCaptcha | `FunCaptchaTaskProxyless` | `solve_funcaptcha()` |
| FunCaptcha Classification | `FunCaptchaClassification` | `solve()` |

## Advanced Usage

```python
# Custom base URL
solver = NextSolver(
    api_key="YOUR_KEY",
    base_url="https://your-server.com",
    timeout=180,
    poll_interval=5.0
)

# Low-level: create task + poll manually
resp = solver.create_task({"type": "AwsWafClassification", "images": [...], "question": "umbrella"})
result = solver.get_task_result(resp["taskId"])

# Check balance
balance = solver.get_balance()
print(f"Credits: {balance}")
```

## API Documentation

Full docs: [https://nextsolver.com/docs-api](https://nextsolver.com/docs-api)

## License

Copyright (c) 2024-2026 NextSolver. MIT License — see [LICENSE](LICENSE).
