The Captcha solving API
Submit a captcha, poll for the token. Built for scrapers, automation, and account flows that need a real solve at scale.
POST /solve → { task_id }
POST /solution → 200 completed
P0_eyJ0eXAiOiJKV1QiLCJhbGci…
$10 / 1k
Pay as you go — $0.01 per solve, no monthly fees.
~5–15s
Typical end-to-end solve time per task.
Auto refund
Failed solves are refunded in full, automatically.
Endpoints
POST/solve
Submit captcha details and create a solving task. Deducts $0.01 from your balance.
POST/solution
Retrieve the solved captcha token for a task ID.
Usage examples
1
Create a solving task
solve.py
import requests resp = requests.post("https://redeems.detroid.in/solve", json={ "sitekey": "f9d2202b-8e0f-4ccd-9c64-9e04c0b326bd", "url": "https://discord.com/channels/@me", "key": "examplekey", "rqdata": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", "proxy": { "server": "proxy.example.com:8080", "username": "user123", "password": "pass123", }, }) task_id = resp.json()["task_id"] print(task_id)
200 — Task created
{
"task_id": "3fb4d159-fb70-4bbd-86ca-1d64785daa28",
"status": "pending",
"message": "Task created successfully",
"balance_remaining": 0.99
}2
Get the solution
solution.py
import requests, time while True: resp = requests.post("https://redeems.detroid.in/solution", json={ "task_id": task_id, "key": "examplekey", }) data = resp.json() if data["status"] == "completed": print(data["solution"]) break time.sleep(3) # still solving — poll again
200 — Solved
{
"task_id": "3fb4d159-fb70-4bbd-86ca-1d64785daa28",
"solution": "P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"status": "completed"
}Still solving — poll again
{
"task_id": "3fb4d159-fb70-4bbd-86ca-1d64785daa28",
"status": "pending",
"message": "Task is still being processed"
}Request parameters
POST /solve
| Parameter | Type | Required | Description |
|---|---|---|---|
| sitekey | string | required | Captcha site key from the target website |
| url | string | required | Target URL where the captcha appears |
| key | string | required | Your API key, used for balance deduction |
| rqdata | string | optional | RQ data for Captcha, when the site requires it |
| proxy | object | optional | Proxy with server, username, password |
POST /solution
| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | required | Task ID returned by /solve |
| key | string | required | Same API key used to create the task |
Error responses
Invalid key
{ "error": "Invalid key - Key does not exist in system" }Insufficient balance
{ "error": "Insufficient balance - Current balance: $0.000, Required: $0.01" }Missing parameters
{ "error": "Missing required fields: sitekey, url, key" }Invalid task ID
{ "error": "Invalid task ID" }Pricing & balance
| Item | Cost |
|---|---|
| Price | $10 / 1,000 solves ($0.01 each) |
| Refund on failed solve | Full refund ($0.01) |
| Minimum balance required | $0.01 |
Pay as you go
Each key holds a balance that's deducted automatically per solve, and failed solves are refunded in full — no monthly fees. Need a key? Message chorus_og on Discord.
Check balance
Paste your API key to see your current balance and roughly how many solves you have left.
Live balance
Your balance updates in real time as you solve. Each solve costs $0.01, and failed solves are refunded automatically — so the number you see is what's actually available right now.
Quick start
Get a key
Message
chorus_og on Discord to get a key with a starting balance.Create a task
POST your captcha details to
/solve.Wait for the solve
The solver typically returns in 5–15 seconds.
Fetch the solution
POST your task ID to
/solution to get the token.Use the token
Pass the returned token wherever the Captcha response is expected.