# 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:

Method Endpoint Description
Sync /solve Waits for result (recommended)
Async /createTask + /getTaskResult Non-blocking, requires polling

# 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

Captcha Types
../../captcha-types/
API Reference
../../api-reference/
Code Examples
/examples/python