#
API Endpoints
Detailed reference for all API endpoints.
#
Health Check
Check if the API is online and operational.
No authentication required for this endpoint.
Request
Response
GET /health
{
"status": "ok",
"service": "CaptchaSolv",
"time": 1706100000
}
#
Get Supported Types
Get list of all supported captcha task types.
Request
Response
GET /supportedTypes
{
"errorId": 0,
"types": [
"RecaptchaV2TaskProxyless",
"RecaptchaV2Task",
"RecaptchaV3TaskProxyless",
"TurnstileTaskProxyless",
"GeeTestV4TaskProxyless",
"AkamaiTaskProxyless",
"KasadaTaskProxyless",
"DataDomeTaskProxyless",
"AwsWafTaskProxyless",
"HumanSecurityTaskProxyless"
]
}
#
Create Task (Async)
Create a captcha solving task. Returns immediately with a task ID for polling.
Request
Response
POST /createTask
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
}
}
{
"errorId": 0,
"taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
#
Parameters
#
Get Task Result
Poll for the result of a created task.
Request
Response (Processing)
Response (Ready)
POST /getTaskResult
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
"errorId": 0,
"status": "processing"
}
{
"errorId": 0,
"status": "ready",
"solution": {
"token": "03AGdBq24PBCbwiDRaS_MJ...",
"userAgent": "Mozilla/5.0 ..."
},
"cost": "0.00100",
"createTime": 1706100000,
"endTime": 1706100015,
"solveCount": 1
}
#
Status Values
#
Solve (Sync)
Recommended
This is the recommended endpoint for most use cases. It handles polling internally and returns the result directly.
Synchronous solving - waits for result (up to 120 seconds timeout).
Request
Response
POST /solve
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
}
}
{
"errorId": 0,
"solution": {
"token": "03AGdBq24PBCbwiDRaS_MJ...",
"userAgent": "Mozilla/5.0 ..."
},
"cost": "0.00100",
"createTime": 1706100000,
"endTime": 1706100015,
"solveCount": 1
}
#
Timeout
The endpoint has a 120-second timeout. Set your HTTP client timeout to at least 130 seconds.
#
Get Balance
Check your account balance.
Request
Response
POST /getBalance
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY"
}
{
"errorId": 0,
"balance": 10.50
}
#
Example: Complete Async Flow
import requests
import time
API_KEY = "your_api_key"
BASE_URL = "https://v1.captchasolv.com"
# 1. Create task
create_response = requests.post(f"{BASE_URL}/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "site-key"
}
}).json()
task_id = create_response["taskId"]
print(f"Task created: {task_id}")
# 2. Poll for result
while True:
result = requests.post(f"{BASE_URL}/getTaskResult", json={
"clientKey": API_KEY,
"taskId": task_id
}).json()
if result["status"] == "ready":
print(f"Solved! Token: {result['solution']['token']}")
break
elif result["errorId"] != 0:
print(f"Error: {result['errorDescription']}")
break
print("Still processing...")
time.sleep(3)
const axios = require('axios');
const API_KEY = 'your_api_key';
const BASE_URL = 'https://v1.captchasolv.com';
// 1. Create task
const createResponse = await axios.post(`${BASE_URL}/createTask`, {
clientKey: API_KEY,
task: {
type: 'RecaptchaV2TaskProxyless',
websiteURL: 'https://example.com',
websiteKey: 'site-key'
}
});
const taskId = createResponse.data.taskId;
console.log('Task created:', taskId);
// 2. Poll for result
while (true) {
const result = await axios.post(`${BASE_URL}/getTaskResult`, {
clientKey: API_KEY,
taskId: taskId
});
if (result.data.status === 'ready') {
console.log('Solved! Token:', result.data.solution.token);
break;
} else if (result.data.errorId !== 0) {
console.log('Error:', result.data.errorDescription);
break;
}
console.log('Still processing...');
await new Promise(r => setTimeout(r, 3000));
}