NEWAPIs estándar createTask e in.php. Cambia la dirección y estarás conectado.Ver la documentación de la API
GATESOLVER
Empezar

Documentación de la API

Las solicitudes son JSON y hay una sola dirección (https://gatesolver.com). Envía como clientKey la clave API creada en tu cuenta. Crea la tarea (createTask) y obtén el resultado unos segundos después (getTaskResult).

Dirección base
https://gatesolver.com
Autenticación
clientKey en el cuerpo
Límite de solicitudes
600 por minuto por clave
Formato
JSON (POST)

Empezar

  1. Regístrate y recarga saldo.
  2. Crea la clave en el menú Clave API de la pantalla de tu cuenta. La clave se muestra una sola vez, al crearla.
  3. Crea una tarea con createTask y llama a getTaskResult cada pocos segundos con el taskId recibido.
  4. Cuando status pasa a ready, coloca solution en la página.

Los clientes diseñados para el formato createTask funcionan tal cual cambiando solo la dirección de la API. Nueva dirección: https://gatesolver.com

createTask

POST https://gatesolver.com/createTask

Crea la tarea y devuelve el taskId. En este paso no se cobra nada.

CampoFormatoObligatorioDescripción
clientKeystringSíClave API
taskobjectSíContenido de la tarea: type y los campos de cada tipo (ver la tabla de type de tarea más abajo y la página de cada tipo)
callbackUrlstringNoNo se admite. Obtén el resultado con getTaskResult.

Solicitud

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaV2TaskProxyLess",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
  }
}

Respuesta

{ "errorId": 0, "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" }

getTaskResult

POST https://gatesolver.com/getTaskResult

Devuelve el resultado de la tarea. Recomendamos consultar cada 3 segundos para CAPTCHAs de token y cada 1 segundo para reconocimiento de imágenes. El importe de 1 tarea se descuenta del saldo en cuanto se resuelve.

CampoDescripción
statusprocessing (en espera), ready (resuelta), failed (fallida, sin cargo)
solutionRespuesta. Los campos varían según el tipo (gRecaptchaResponse, token, cookie, text, etc.)
costImporte descontado por esta tarea (dólares)
createTime / endTimeHora de creación y de finalización (milisegundos)
{
  "errorId": 0,
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
  "status": "ready",
  "solution": { "gRecaptchaResponse": "03AFcWeA6...", "userAgent": "Mozilla/5.0 ..." },
  "cost": "0.000560"
}

getBalance

POST https://gatesolver.com/getBalance

Devuelve el saldo en dólares.

{ "clientKey": "YOUR_API_KEY" }

{ "errorId": 0, "balance": 42.5 }

type de tarea

Los nombres de type no distinguen mayúsculas y minúsculas. Los campos y ejemplos de cada tipo están en su página.

typeTipo1,000 tareas
ReCaptchaV2TaskProxyLessreCAPTCHA v2$0.56
ReCaptchaV2TaskreCAPTCHA v2$0.56
ReCaptchaV2EnterpriseTaskProxyLessreCAPTCHA v2 Enterprise$0.70
ReCaptchaV2EnterpriseTaskreCAPTCHA v2 Enterprise$0.70
ReCaptchaV3TaskProxyLessreCAPTCHA v3$0.70
ReCaptchaV3TaskreCAPTCHA v3$0.70
ReCaptchaV3EnterpriseTaskProxyLessreCAPTCHA v3 Enterprise$2.10
ReCaptchaV3EnterpriseTaskreCAPTCHA v3 Enterprise$2.10
AntiTurnstileTaskProxyLessCloudflare Turnstile$0.84
TurnstileTaskProxylessCloudflare Turnstile$0.84
AntiCloudflareTaskCloudflare Challenge$0.84
AntiAwsWafTaskProxyLessAWS WAF$1.40
AntiAwsWafTaskAWS WAF$1.40
GeeTestTaskProxyLessGeeTest v3 / v4$0.84
GeeTestTaskGeeTest v3 / v4$0.84
MtCaptchaTaskProxyLessMTCaptcha$2.10
MtCaptchaTaskMTCaptcha$2.10
DatadomeSliderTaskDataDome Slider$1.75
ImageToTextTaskImage to Text$0.28
ReCaptchaV2ClassificationreCAPTCHA Image Classification$0.28
AwsWafClassificationAWS WAF Image Classification$0.42
VisionEngineVision Engine$1.05

Códigos de error

Si hay un error, errorId es 1 y se incluyen errorCode y errorDescription. Las respuestas con error no se cobran.

errorCodeSignificado
ERROR_KEY_DENIED_ACCESSFalta clientKey o no es válido.
ERROR_ZERO_BALANCESaldo insuficiente. Recarga y vuelve a enviar la solicitud.
ERROR_TASK_NOT_SUPPORTEDEste type de tarea no es compatible.
ERROR_INVALID_TASK_DATAFalta un campo obligatorio. El nombre del campo que falta aparece en errorDescription.
ERROR_TASKID_INVALIDEl taskId no existe o no se creó con esta clave.
ERROR_CAPTCHA_UNSOLVABLENo se pudo resolver. No se descontó nada. Vuelve a enviar la solicitud.
ERROR_SERVICE_UNAVAILABLEError de red. No se descontó nada. Vuelve a intentarlo en un momento.
ERROR_RATE_LIMITSuperaste las 600 solicitudes por minuto. Espacia más tus solicitudes.
ERROR_ACCOUNT_SUSPENDEDCuenta suspendida.

Compatible con in.php

Para programas con formato in.php, solo cambia la dirección. Métodos admitidos: userrecaptcha (reCAPTCHA v2), turnstile, geetest, base64 y post (texto en imagen).

GET https://gatesolver.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le...&pageurl=https://example.com
OK|61138bb6-19fb-11ec-a9c8-0242ac110006

GET https://gatesolver.com/res.php?key=YOUR_API_KEY&action=get&id=61138bb6-19fb-11ec-a9c8-0242ac110006
CAPCHA_NOT_READY
OK|03AFcWeA6...

GET https://gatesolver.com/res.php?key=YOUR_API_KEY&action=getbalance
42.50000

Con json=1, la respuesta llega con el formato {"status":1,"request":"..."}.

Ejemplos

import requests, time

API, KEY = "https://gatesolver.com", "YOUR_API_KEY"

def solve(task, wait=3, timeout=120):
    r = requests.post(f"{API}/createTask", json={"clientKey": KEY, "task": task}, timeout=30).json()
    if r.get("errorId"):
        raise RuntimeError(r["errorCode"])
    end = time.time() + timeout
    while time.time() < end:
        time.sleep(wait)
        res = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": r["taskId"]}, timeout=30).json()
        if res.get("errorId"):
            raise RuntimeError(res["errorCode"])
        if res["status"] == "ready":
            return res["solution"]
    raise TimeoutError("task timed out")

print(solve({"type": "ReCaptchaV2TaskProxyLess", "websiteURL": "https://example.com", "websiteKey": "6Le..."}))