Tokenwave RU Open the bot
API · hCaptcha · Steam

hCaptcha tokens for Steam through an API

Send the captcha parameters and get a ready token back. The format is compatible with anti-captcha and 2captcha: in an existing client you only change the address and the key.

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HCaptchaTask",
    "websiteURL": "https://store.steampowered.com/join/",
    "websiteKey": "e18a349a-46c2-46a0-87a8-74be79345c92",
    "data": "14233456855421534"
  }
}
Response
{ "errorId": 0, "taskId": 407533072 }
15–60 s
typical solving time
60 s
token lifetime after solving
600
concurrent tasks per key
$0
for an unsolved task
Connect

Three steps to your first token

No sign-up needed: everything is managed from the Telegram bot.

01

Get a key

Open the bot, press Start, then “My key”.

02

Top up the balance

Choose an amount and pay. The bot confirms the credit.

03

Send a task

Call createTask and fetch the result with getTaskResult.

Pricing

$4 per 1000 solves

You pay only for solved tasks. If no token is issued, the price is refunded to your balance.

$0.004

per one hCaptcha solve

$4

per 1000 solves

$40

per 10 000 solves

refund

on ERROR_CAPTCHA_UNSOLVABLE or ERROR_SERVICE_UNAVAILABLE

Example

Your first request

Create a task and poll for the result every 3 seconds.

curl -X POST https://api.tokenwave.org/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "HCaptchaTask",
      "websiteURL": "https://store.steampowered.com/join/",
      "websiteKey": "e18a349a-46c2-46a0-87a8-74be79345c92",
      "data": "5224351428758667",
      "isInvisible": true,
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) …",
      "cookies": "sessionid=…; browserid=…"
    }
  }'

# then, every 3 seconds while status = processing:
curl -X POST https://api.tokenwave.org/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey": "YOUR_API_KEY", "taskId": 7654321}'
import time
import requests

API = "https://api.tokenwave.org"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "HCaptchaTask",
        "websiteURL": "https://store.steampowered.com/join/",
        "websiteKey": "e18a349a-46c2-46a0-87a8-74be79345c92",
        "data": "5224351428758667",
        "isInvisible": True,
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) …",
        "cookies": "sessionid=…; browserid=…",
    },
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

while True:
    time.sleep(3)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(r["errorCode"])
    if r["status"] == "ready":
        print(r["solution"]["gRecaptchaResponse"])
        break
const API = "https://api.tokenwave.org";
const KEY = "YOUR_API_KEY";
const post = (path, body) =>
  fetch(`${API}/${path}`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(body),
  }).then((r) => r.json());

const task = await post("createTask", {
  clientKey: KEY,
  task: {
    type: "HCaptchaTask",
    websiteURL: "https://store.steampowered.com/join/",
    websiteKey: "e18a349a-46c2-46a0-87a8-74be79345c92",
    data: "5224351428758667",
    isInvisible: true,
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) …",
    cookies: "sessionid=…; browserid=…",
  },
});
if (task.errorId) throw new Error(task.errorCode);

for (;;) {
  await new Promise((r) => setTimeout(r, 3000));
  const res = await post("getTaskResult", { clientKey: KEY, taskId: task.taskId });
  if (res.errorId) throw new Error(res.errorCode);
  if (res.status === "ready") { console.log(res.solution.gRecaptchaResponse); break; }
}
Sections

Documentation

Everything you need to integrate.

Contact

Personal area and support

Key, balance, top-ups and stats — directly in the Telegram bot and Mini App.

© Tokenwave. hCaptcha solving for Steam.Support: the “Help” button in the bot