The easiest reCAPTCHA v2 CAPTCHA solving API
GateSolver solves reCAPTCHA v2 CAPTCHAs automatically with AI. $0.56 per 1,000 tasks, answers usually within 9s, and you only pay for successful tasks.
What is the reCAPTCHA v2 CAPTCHA?
reCAPTCHA v2 is Google's CAPTCHA. It asks you to tick the 'I'm not a robot' checkbox and, when needed, shows an extra image selection challenge. Sites use the resulting token (g-recaptcha-response) to confirm a human passed.
Put the gRecaptchaResponse token into the page's g-recaptcha-response field, or pass it to the site's callback function, then submit the form.
reCAPTCHA v2
< 9s · $0.56 / 1k
Why use GateSolver for reCAPTCHA v2
Reliable solving
We keep improving our reCAPTCHA v2 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 9s.
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 reCAPTCHA v2: 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 | ReCaptchaV2TaskProxyLess (no proxy) or ReCaptchaV2Task (your proxy) |
| websiteURL | Yes | URL of the page with the CAPTCHA |
| websiteKey | Yes | Site key from the page (the data-sitekey value) |
| isInvisible | No | true if the CAPTCHA is invisible, with no checkbox |
| pageAction | No | The action value, if the site uses one |
| proxy | No | Proxy when using ReCaptchaV2Task (http://user:pass@host:port) |
Request
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}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": {
"gRecaptchaResponse": "03AFcWeA6...",
"userAgent": "Mozilla/5.0 ..."
}
}Put the gRecaptchaResponse token into the page's g-recaptcha-response field, or pass it to the site's callback function, then submit the form.
Code examples
import requests, time
API = "https://gatesolver.com"
KEY = "YOUR_API_KEY"
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
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":"ReCaptchaV2TaskProxyLess","websiteURL":"https://www.google.com/recaptcha/api2/demo","websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"} });
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":"ReCaptchaV2TaskProxyLess","websiteURL":"https://www.google.com/recaptcha/api2/demo","websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"}}'reCAPTCHA v2 FAQ
How much do 1,000 reCAPTCHA v2 tasks cost?
reCAPTCHA v2 price: $0.56 per 1,000 tasks. Each task is deducted from your balance, and you only pay for solved tasks.
How fast are reCAPTCHA v2 answers?
Usually within 9s. Call getTaskResult every few seconds and use the answer when status becomes ready.
Which task type do I use for reCAPTCHA v2?
Default type: ReCaptchaV2TaskProxyLess. 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.