The easiest GeeTest v3 / v4 CAPTCHA solving API
GateSolver solves GeeTest v3 / v4 CAPTCHAs automatically with AI. $0.84 per 1,000 tasks, answers usually within 5s, and you only pay for successful tasks.
What is the GeeTest v3 / v4 CAPTCHA?
GeeTest is a CAPTCHA with challenges like sliding puzzle pieces or picking images, widely used on Asian sites. It comes in two versions, v3 and v4.
Put the returned values into the site's verification request as is: challenge, validate and seccode for v3, and lot_number, pass_token, captcha_output and so on for v4.
GeeTest v3 / v4
< 5s · $0.84 / 1k
Why use GateSolver for GeeTest v3 / v4
Reliable solving
We keep improving our GeeTest v3 / v4 solving model, so it stays reliable even as the challenges change.
Pay only for successful tasks
You only pay for solved tasks. Failed or expired tasks are never charged.
AI-powered solving
AI solves it instantly, with no waiting for humans. Answers usually arrive within 5s.
Connect from anywhere
It is a REST API, so it works the same way from any language or automation tool.
in.php compatible
Programs using the in.php and res.php format only need a new address.
High volume
Up to 600 requests per minute per key, with no limit on concurrent tasks.
Price and speed
How to solve GeeTest v3 / v4: API guide
Just two requests: create a task with createTask and get the answer with getTaskResult.
Step 1: Create a task
POST https://gatesolver.com/createTask
| Field | Required | Description |
|---|---|---|
| type | Yes | GeeTestTaskProxyLess |
| websiteURL | Yes | URL of the page with the CAPTCHA |
| gt | No | v3: the gt value from the page |
| challenge | No | v3: the fresh challenge value |
| captchaId | No | v4: the captcha_id value |
Request
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeeTestTaskProxyLess",
"websiteURL": "https://example.com/login",
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73"
}
}Response
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}Step 2: Get the result
POST https://gatesolver.com/getTaskResult
Poll for the result with the taskId every 3 seconds. If status is processing, wait; when it is ready, use the solution.
Request
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}Response
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
"status": "ready",
"solution": {
"captcha_id": "e392e1d7...",
"lot_number": "4dd0...",
"pass_token": "e93c...",
"gen_time": "1720000000",
"captcha_output": "fXbw..."
}
}Put the returned values into the site's verification request as is: challenge, validate and seccode for v3, and lot_number, pass_token, captcha_output and so on for v4.
Code examples
import requests, time
API = "https://gatesolver.com"
KEY = "YOUR_API_KEY"
task = {
"type": "GeeTestTaskProxyLess",
"websiteURL": "https://example.com/login",
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73"
}
r = requests.post(f"{API}/createTask", json={"clientKey": KEY, "task": task}).json()
task_id = r["taskId"]
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task_id}).json()
if res.get("status") == "ready":
print(res["solution"])
break
if res.get("errorId"):
raise RuntimeError(res["errorCode"])const API = "https://gatesolver.com", KEY = "YOUR_API_KEY";
const post = (p, b) => fetch(API + p, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(b) }).then((r) => r.json());
const { taskId } = await post("/createTask", { clientKey: KEY, task: {"type":"GeeTestTaskProxyLess","websiteURL":"https://example.com/login","captchaId":"e392e1d7fd421dc63325744d5a2b9c73"} });
let res;
do {
await new Promise((s) => setTimeout(s, 3000));
res = await post("/getTaskResult", { clientKey: KEY, taskId });
} while (res.status === "processing");
console.log(res.solution);curl -X POST https://gatesolver.com/createTask \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","task":{"type":"GeeTestTaskProxyLess","websiteURL":"https://example.com/login","captchaId":"e392e1d7fd421dc63325744d5a2b9c73"}}'GeeTest v3 / v4 FAQ
How much do 1,000 GeeTest v3 / v4 tasks cost?
GeeTest v3 / v4 price: $0.84 per 1,000 tasks. Each task is deducted from your balance, and you only pay for solved tasks.
How fast are GeeTest v3 / v4 answers?
Usually within 5s. Call getTaskResult every few seconds and use the answer when status becomes ready.
Which task type do I use for GeeTest v3 / v4?
Default type: GeeTestTaskProxyLess. Other names (such as proxy versions) are accepted at the same price.
Am I charged if a task fails?
No. Unsolved and expired tasks are not charged.