Simple, powerful, and affordable. Only 1¢ per solve.
All API requests require your API key in the X-QEX-SOLVER-KEY header.
X-QEX-SOLVER-KEY: QEX-CAP-XXXXXXXXXXXXXXXXXXXX
Get your API key from the Dashboard.
Send an image and get the solution. Cost: 1¢ per successful solve.
POST /api/v1/solve Headers: X-QEX-SOLVER-KEY: QEX-CAP-xxxxxxxx Content-Type: application/json Body: { "image_base64": "data:image/png;base64,...", "image_format": "png", "request_id": "optional_custom_id" }
Supported formats: PNG, JPG, JPEG, GIF, WEBP.
{
"success": true,
"request_id": "req_123456",
"engine_id": "QEX-AI-ENGINE",
"timestamp": "2024-01-01T00:00:00Z",
"solution_type": "text",
"solution_text": "ABC123",
"coordinates": {"x": 150, "y": 200},
"confidence": 0.95,
"processing_time": 1.5,
"captcha_type": "imagetotext"
}
For image selection CAPTCHAs, coordinates is provided. For text CAPTCHAs, solution_text is provided.
{
"success": false,
"error": "Insufficient balance",
"request_id": "req_123456",
"engine_id": "QEX-AI-ENGINE",
"timestamp": "2024-01-01T00:00:00Z"
}
Common errors: 401 (missing key), 403 (invalid key), 402 (insufficient balance), 400 (invalid image), 502 (solver unavailable).
1¢ (USD) per successful solve – deducted from your balance.
No hard rate limits. We trust you to be reasonable. For high-volume customers (>10,000 solves/day), please contact us for dedicated support.
import requests
import base64
with open("captcha.png", "rb") as f:
image_base64 = base64.b64encode(f.read()).decode()
response = requests.post(
"https://qexsolver.xyz/api/v1/solve",
headers={
"X-QEX-SOLVER-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"image_base64": image_base64,
"image_format": "png"
}
)
result = response.json()
if result["success"]:
print("Solution:", result.get("solution_text") or result.get("coordinates"))
else:
print("Error:", result["error"])
const response = await fetch("https://qexsolver.xyz/api/v1/solve", {
method: "POST",
headers: {
"X-QEX-SOLVER-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
image_base64: "data:image/png;base64,...",
image_format: "png"
})
});
const data = await response.json();
if (data.success) {
console.log("Solution:", data.solution_text || data.coordinates);
} else {
console.error("Error:", data.error);
}
Need help? Our live chat is available 24/7.