🚀 Getting Started
Welcome to CapZilla CAPTCHA API! Our service provides high-speed, reliable CAPTCHA solving with 99.9% success rate.
Base URL
https://api.capzilla.pro/
Authentication
All API requests require your API key to be included in the request headers:
Authorization: Bearer YOUR_API_KEY
📝 Create Task
Submit a new CAPTCHA solving task.
POST
/createtask
Request Parameters
Parameter |
Type |
Required |
Description |
task |
Object |
Yes |
Task configuration object |
task.type |
String |
Yes |
CAPTCHA type (see supported types below) |
task.websiteURL |
String |
Yes |
URL where the CAPTCHA is located |
task.websiteKey |
String |
Yes |
Website's CAPTCHA key |
task.proxy |
String |
No |
Proxy string (format: ip:port:username:password) |
Example Request
{
"task": {
"type": "ReCaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}
Response
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-9621-0242ac130003"
}
🔍 Get Task Result
Retrieve the solution for a submitted task.
POST
/gettaskresult
Request Parameters
Parameter |
Type |
Required |
Description |
taskId |
String |
Yes |
Task ID returned from createtask |
Example Request
{
"taskId": "61138bb6-19fb-11ec-9621-0242ac130003"
}
Response (Processing)
{
"errorId": 0,
"status": "processing"
}
Response (Ready)
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnQnM..."
}
}
💰 Get Balance
Check your current account balance.
POST
/getbalance
Response
{
"errorId": 0,
"balance": 25.00
}
🎯 Supported CAPTCHA Types
Type |
Task Type |
Price per 1K |
Cloudflare Turnstile |
CloudflareTurnstile |
$0.35 |
reCaptcha v2 |
ReCaptchaV2TaskProxyless |
$0.45 |
reCaptcha v2 Enterprise |
ReCaptchaV2EnterpriseTaskProxyless |
$0.50 |
reCaptcha v3 |
ReCaptchaV3TaskProxyless |
$0.35 |
reCaptcha v3 Enterprise |
ReCaptchaV3EnterpriseTaskProxyless |
$0.55 |
FunCaptcha |
FunCaptchaTaskProxyless |
$0.75 |
HCaptcha |
HCaptchaTaskProxyless |
$0.50 |
GeeTest |
GeeTestTaskProxyless |
$0.60 |
⚠️ Error Codes
Error ID |
Description |
0 |
No error, operation completed successfully |
1 |
API key is missing or invalid |
2 |
Insufficient balance |
3 |
Task not found |
4 |
Invalid task parameters |
5 |
Task failed or expired |
💻 Code Examples
Python
import requests
import time
API_KEY = "your-api-key"
BASE_URL = "https://api.capzilla.pro"
def solve_captcha():
# Create task
task_data = {
"task": {
"type": "ReCaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.post(f"{BASE_URL}/createtask",
json=task_data, headers=headers)
result = response.json()
if result["errorId"] != 0:
print("Error creating task")
return
task_id = result["taskId"]
print(f"Task created: {task_id}")
# Poll for result
while True:
response = requests.post(f"{BASE_URL}/gettaskresult",
json={"taskId": task_id}, headers=headers)
result = response.json()
if result["status"] == "ready":
print("Solution:", result["solution"]["gRecaptchaResponse"])
break
elif result["status"] == "processing":
print("Still processing...")
time.sleep(2)
else:
print("Task failed")
break
solve_captcha()
JavaScript
const API_KEY = 'your-api-key';
const BASE_URL = 'https://api.capzilla.pro';
async function solveCaptcha() {
const headers = {
'Authorization': 'Bearer ${API_KEY}',
'Content-Type': 'application/json'
};
// Create task
const taskData = {
task: {
type: 'ReCaptchaV2TaskProxyless',
websiteURL: 'https://example.com',
websiteKey: '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
}
};
const createResponse = await fetch('${BASE_URL}/createtask', {
method: 'POST',
headers,
body: JSON.stringify(taskData)
});
const createResult = await createResponse.json();
if (createResult.errorId !== 0) {
console.error('Error creating task');
return;
}
const taskId = createResult.taskId;
console.log('Task created:', taskId);
// Poll for result
while (true) {
const resultResponse = await fetch('${BASE_URL}/gettaskresult', {
method: 'POST',
headers,
body: JSON.stringify({ taskId })
});
const result = await resultResponse.json();
if (result.status === 'ready') {
console.log('Solution:', result.solution.gRecaptchaResponse);
break;
} else if (result.status === 'processing') {
console.log('Still processing...');
await new Promise(resolve => setTimeout(resolve, 2000));
} else {
console.error('Task failed');
break;
}
}
}
solveCaptcha();