NEWAPI standard createTask e in.php. Cambia l'indirizzo e sei connesso.Vedi la documentazione API
GATESOLVER
Inizia ora

Documentazione API

Le richieste sono in JSON verso un unico indirizzo (https://gatesolver.com). Invia come clientKey la API key creata nella pagina dell'account. Crea un task (createTask) e dopo qualche secondo ottieni il risultato (getTaskResult).

Indirizzo base
https://gatesolver.com
Autenticazione
clientKey nel body
Limite di richieste
600 al minuto per chiave
Formato
JSON (POST)

Inizia ora

  1. Registrati e ricarica il saldo.
  2. Crea la chiave dal menu API key nella pagina dell'account. Viene mostrata una sola volta alla creazione.
  3. Crea un task con createTask e richiama getTaskResult ogni pochi secondi con il taskId ricevuto.
  4. Quando status diventa ready, inserisci solution nella pagina.

I client costruiti per il formato createTask funzionano così come sono una volta cambiato l'indirizzo API. Nuovo indirizzo: https://gatesolver.com

createTask

POST https://gatesolver.com/createTask

Crea un task e restituisce il taskId. In questa fase non viene addebitato nulla.

CampoFormatoObbligatorioDescrizione
clientKeystringSìAPI key
taskobjectSìContenuto del task. type e campi specifici del tipo (vedi la tabella dei type qui sotto e le pagine dei tipi)
callbackUrlstringNoNon supportato. Il risultato si ottiene con getTaskResult.

Richiesta

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

Risposta

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

getTaskResult

POST https://gatesolver.com/getTaskResult

Restituisce il risultato del task. Per i CAPTCHA a token conviene interrogare ogni 3 secondi, per il riconoscimento immagini ogni 1 secondo. Quando arriva la risposta, il costo di 1 task viene scalato dal saldo.

CampoDescrizione
statusprocessing (in attesa), ready (risposta pronta), failed (non riuscito, nessun addebito)
solutionRisposta. I campi variano in base al tipo (gRecaptchaResponse, token, cookie, text ecc.)
costImporto addebitato per questo task (dollari)
createTime / endTimeOra di creazione e di completamento (millisecondi)
{
  "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

Restituisce il saldo in dollari.

{ "clientKey": "YOUR_API_KEY" }

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

type del task

Il nome del type non distingue tra maiuscole e minuscole. Campi ed esempi per ogni tipo sono nella pagina del tipo.

typeTipo1,000 task
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

Codici di errore

In caso di errore errorId è 1 e arrivano anche errorCode ed errorDescription. Le risposte di errore non vengono addebitate.

errorCodeSignificato
ERROR_KEY_DENIED_ACCESSclientKey mancante o errata.
ERROR_ZERO_BALANCESaldo insufficiente. Ricarica e ripeti la richiesta.
ERROR_TASK_NOT_SUPPORTEDtype di task non supportato.
ERROR_INVALID_TASK_DATAManca un campo obbligatorio. Il nome del campo mancante è in errorDescription.
ERROR_TASKID_INVALIDIl taskId non è stato creato con questa chiave o non esiste.
ERROR_CAPTCHA_UNSOLVABLENon risolto. Non è stato addebitato nulla. Ripeti la richiesta.
ERROR_SERVICE_UNAVAILABLEErrore di rete. Non è stato addebitato nulla. Riprova tra poco.
ERROR_RATE_LIMITSuperate le 600 richieste al minuto. Aumenta l'intervallo tra le richieste.
ERROR_ACCOUNT_SUSPENDEDQuesto account è sospeso.

Compatibile in.php

Per i programmi in stile in.php, basta cambiare l'indirizzo. Metodi supportati: userrecaptcha (reCAPTCHA v2), turnstile, geetest, base64 e post (testo in immagine).

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

Aggiungendo json=1 la risposta ha il formato {"status":1,"request":"..."}.

Esempi

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..."}))