#
Quick Start Guide
Get up and running with CaptchaSolv in 5 minutes.
#
Prerequisites
- An API key (get one via Discord)
- Python 3.7+ or Node.js 14+
#
Installation
pip install requests
npm install axios
#
Sync vs Async Solving
CaptchaSolv supports two solving methods:
Recommendation
Use the /solve endpoint for simplicity. It handles polling internally and returns the result directly.
#
Sync Solving (Recommended)
The /solve endpoint waits for the captcha to be solved and returns the result directly.
import requests
API_KEY = "your_api_key"
def solve_captcha(website_url, site_key):
response = requests.post("https://v1.captchasolv.com/solve", json={
"clientKey": API_KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": website_url,
"websiteKey": site_key
}
}, timeout=130) # 130s timeout
result = response.json()
if result["errorId"] != 0:
raise Exception(result.get("errorDescription", "Unknown error"))
return result["solution"]["token"]
# Usage
token = solve_captcha(
"https://example.com",
"6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
)
print(f"Solved! Token: {token}")
const axios = require('axios');
const API_KEY = 'your_api_key';
async function solveCaptcha(websiteUrl, siteKey) {
const response = await axios.post('https://v1.captchasolv.com/solve', {
clientKey: API_KEY,
task: {
type: 'RecaptchaV2TaskProxyless',
websiteURL: websiteUrl,
websiteKey: siteKey
}
}, { timeout: 130000 });
if (response.data.errorId !== 0) {
throw new Error(response.data.errorDescription || 'Unknown error');
}
return response.data.solution.token;
}
// Usage
const token = await solveCaptcha(
'https://example.com',
'6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-'
);
console.log('Solved! Token:', token);
#
Async Solving
For advanced use cases, use async solving with polling:
import requests
import time
API_KEY = "your_api_key"
def create_task(website_url, site_key):
response = requests.post("https://v1.captchasolv.com/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": website_url,
"websiteKey": site_key
}
})
return response.json()["taskId"]
def get_result(task_id):
while True:
response = requests.post("https://v1.captchasolv.com/getTaskResult", json={
"clientKey": API_KEY,
"taskId": task_id
})
result = response.json()
if result["status"] == "ready":
return result["solution"]["token"]
elif result["errorId"] != 0:
raise Exception(result.get("errorDescription"))
time.sleep(3) # Wait 3 seconds before polling again
# Usage
task_id = create_task("https://example.com", "site-key")
token = get_result(task_id)
print(f"Solved! Token: {token}")
#
Using Proxies
To use your own proxy, change the task type and add the proxy parameter:
response = requests.post("https://v1.captchasolv.com/solve", json={
"clientKey": API_KEY,
"task": {
"type": "RecaptchaV2Task", # Note: without "Proxyless"
"websiteURL": "https://example.com",
"websiteKey": "site-key",
"proxy": "http://user:pass@proxy.example.com:8080"
}
})
const response = await axios.post('https://v1.captchasolv.com/solve', {
clientKey: API_KEY,
task: {
type: 'RecaptchaV2Task', // Note: without "Proxyless"
websiteURL: 'https://example.com',
websiteKey: 'site-key',
proxy: 'http://user:pass@proxy.example.com:8080'
}
});
curl -X POST https://v1.captchasolv.com/solve \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2Task",
"websiteURL": "https://example.com",
"websiteKey": "site-key",
"proxy": "http://user:pass@proxy.example.com:8080"
}
}'
#
Proxy Format
protocol://user:pass@host:port
Supported protocols: http, https, socks4, socks5
#
Next Steps