API Documentation

Welcome to the Axilon hCaptcha Solver API documentation. Our RESTful API provides high-performance automated captcha solving with 95%+ success rate, built for speed and reliability.

>

Lightning Fast

Average solve time of 20-30 seconds with auto-scaling workers

>

95%+ Success Rate

Advanced AI-powered solving with anti-detection built in

>

Secure & Reliable

API key authentication with per-key usage tracking

Authentication

All API requests require authentication using your API key passed in the X-API-Key header.

# Include this header in every request X-API-Key: ax_your_api_key_here
Note: Only /solve requests consume your API key quota. Checking task status and viewing stats do not count against your limit.

Need an API key? Create a free account to get started.

Quick Start

Get up and running with Axilon Solver in 3 simple steps.

1
Get Your API Key
Register a free account to get your API key instantly.
2
Submit a Captcha
Send a GET request to /api/solve with your parameters.
3
Poll for Result
Check /api/task/<id> until status is success.

Submit Captcha Task

Submit an hCaptcha challenge to be solved. Returns a task ID for polling.

GET/api/solveAPI Key

Creates a new captcha solving task and returns its ID.

ParameterTypeRequiredDescription
urlstringrequiredTarget site URL (e.g. https://discord.com)
sitekeystringrequiredhCaptcha site key from the target page
rqdatastringoptionalRequest data from the captcha challenge (if needed)
proxystringoptionalProxy in user:pass@host:port format
200Success
{ "taskid": "b3c1c19b-8087-4b4a-b85c-2e56def50c02", "status": "queued", "message": "Task queued successfully" }

Check Task Status

Poll for the result of a submitted captcha task. Does not consume your API key quota.

GET/api/task/<task_id>API Key

Returns the current status and result of a task.

200Queued
{ "taskid": "b3c1...", "status": "queued", "position": 3 }
200Processing
{ "taskid": "b3c1...", "status": "processing", "processing_time": 12.34 }
200Success
{ "taskid": "b3c1...", "status": "success", "uuid": "P1_eyJ0eXAiOiJKV1Qi...", "time": 24.9 }
200Error
{ "taskid": "b3c1...", "status": "error", "error": "timeout", "retry_count": 3 }
Polling: Check every 3-5 seconds while status is "queued" or "processing". Average solve time is ~20-30 seconds.

API Statistics

View live API performance statistics. Does not consume your API key quota.

GET/api/statsAPI Key

Returns real-time statistics pulled from the solver and database.

200Success
{ "lifetime_stats": { "total_processed": 1250, "total_success": 1180, "success_rate": "94.40%", "avg_solve_time": "22.50s" }, "solver_online": true }

Health Check

Public health check endpoint. No authentication required.

GET/api/healthPublic

Returns worker status, queue size, and solver health.

200Success
{ "status": "ok", "solver": { "status": "ok", "workers": { "configured": 20, "active": ["Worker-1", "Worker-2"] }, "queue_size": 3 } }

Error Codes

The API uses standard HTTP status codes to indicate success or failure.

200Success request completed successfully
400Bad Request missing required query parameters
401Unauthorized missing X-API-Key header
403Forbidden invalid or revoked API key
404Not Found task ID does not exist
429Too Many Requests API key quota exceeded (solve only)
503Service Unavailable solver backend is offline

Code Examples

Complete working examples to get you started quickly.

Python

import requests import time API_URL = "https://your-axilon-domain.com" API_KEY = "ax_your_api_key_here" HEADERS = {"X-API-Key": API_KEY} # 1. Submit captcha task resp = requests.get( f"{API_URL}/api/solve", headers=HEADERS, params={ "url": "https://discord.com", "sitekey": "a9b5fb07-92ff-493f-86fe-352a2803b3df", "rqdata": "your_rqdata_here", }, ) task_id = resp.json()["taskid"] print(f"Task created: {task_id}") # 2. Poll for result while True: r = requests.get(f"{API_URL}/api/task/{task_id}", headers=HEADERS) data = r.json() if data["status"] == "success": print(f"Solved in {data['time']}s") print(f"Token: {data['uuid'][:50]}...") break elif data["status"] == "error": print(f"Failed: {data['error']}") break else: print(f"Status: {data['status']}") time.sleep(5)

JavaScript / Node.js

const API_URL = "https://your-axilon-domain.com"; const API_KEY = "ax_your_api_key_here"; async function solveHCaptcha(url, sitekey, rqdata) { const params = new URLSearchParams({ url, sitekey, rqdata }); const res = await fetch(`${API_URL}/api/solve?${params}`, { headers: { "X-API-Key": API_KEY } }); const { taskid } = await res.json(); while (true) { await new Promise(r => setTimeout(r, 5000)); const r = await fetch(`${API_URL}/api/task/${taskid}`, { headers: { "X-API-Key": API_KEY } }); const data = await r.json(); if (data.status === "success") return data.uuid; if (data.status === "error") throw new Error(data.error); } }
Important: Store your API key securely. Never commit it to version control or share it publicly.
Axilon Development 2026 All Rights ReservedHome Dashboard