NEWStandard-APIs createTask und in.php. Ändern Sie die Adresse und Sie sind verbunden.API-Dokumentation ansehen
GATESOLVER

API-Dokumentation

Anfragen erfolgen in JSON an eine einzige Adresse (https://gatesolver.com). Senden Sie den im Kontobereich erstellten API-Schlüssel als clientKey. Erstellen Sie eine Aufgabe (createTask) und rufen Sie nach einigen Sekunden das Ergebnis ab (getTaskResult).

Basisadresse
https://gatesolver.com
Authentifizierung
clientKey im Body
Anfragelimit
600 pro Minute je Schlüssel
Format
JSON (POST)

Jetzt starten

  1. Registrieren und Guthaben aufladen.
  2. Erstellen Sie den Schlüssel im Kontobereich unter API-Schlüssel. Er wird nur einmal bei der Erstellung angezeigt.
  3. Erstellen Sie mit createTask eine Aufgabe und rufen Sie mit der erhaltenen taskId alle paar Sekunden getTaskResult auf.
  4. Sobald status auf ready steht, setzen Sie solution in die Seite ein.

Für das createTask-Format erstellte Clients funktionieren unverändert, Sie ändern nur die API-Adresse. Neue Adresse: https://gatesolver.com

createTask

POST https://gatesolver.com/createTask

Erstellt eine Aufgabe und gibt die taskId zurück. Dabei wird nichts abgebucht.

FeldFormatPflichtfeldBeschreibung
clientKeystringJaAPI-Schlüssel
taskobjectJaAufgabendaten. type und typspezifische Felder (siehe Tabelle der Aufgabentypen unten und die Typseiten)
callbackUrlstringNeinNicht unterstützt. Das Ergebnis rufen Sie mit getTaskResult ab.

Anfrage

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

Antwort

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

getTaskResult

POST https://gatesolver.com/getTaskResult

Gibt das Aufgabenergebnis zurück. Fragen Sie bei Token-CAPTCHAs alle 3 Sekunden ab, bei Bilderkennung jede 1 Sekunde. Sobald die Antwort vorliegt, wird der Preis für 1 Aufgabe vom Guthaben abgebucht.

FeldBeschreibung
statusprocessing (wird bearbeitet), ready (Antwort da), failed (fehlgeschlagen, keine Abbuchung)
solutionAntwort. Die Felder hängen vom Typ ab (gRecaptchaResponse, token, cookie, text usw.)
costFür diese Aufgabe abgebuchter Betrag (Dollar)
createTime / endTimeErstellungs- und Abschlusszeit (Millisekunden)
{
  "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

Gibt das Guthaben in Dollar zurück.

{ "clientKey": "YOUR_API_KEY" }

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

Aufgaben-type

Beim type-Namen spielt Groß- und Kleinschreibung keine Rolle. Felder und Beispiele je Typ finden Sie auf der jeweiligen Typseite.

typeTyp1,000 Aufgaben
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

Fehlercodes

Bei einem Fehler ist errorId 1 und es kommen errorCode und errorDescription mit. Bei Fehlerantworten wird nichts abgebucht.

errorCodeBedeutung
ERROR_KEY_DENIED_ACCESSclientKey fehlt oder ist falsch.
ERROR_ZERO_BALANCENicht genug Guthaben. Laden Sie auf und senden Sie die Anfrage erneut.
ERROR_TASK_NOT_SUPPORTEDDieser Aufgaben-type wird nicht unterstützt.
ERROR_INVALID_TASK_DATAEin Pflichtfeld fehlt. Der Name des fehlenden Felds steht in errorDescription.
ERROR_TASKID_INVALIDDie taskId wurde nicht mit diesem Schlüssel erstellt oder existiert nicht.
ERROR_CAPTCHA_UNSOLVABLENicht gelöst. Es wurde nichts abgebucht. Senden Sie die Anfrage erneut.
ERROR_SERVICE_UNAVAILABLENetzwerkfehler. Es wurde nichts abgebucht. Bitte versuchen Sie es gleich noch einmal.
ERROR_RATE_LIMITMehr als 600 Anfragen pro Minute. Vergrößern Sie den Abstand zwischen den Anfragen.
ERROR_ACCOUNT_SUSPENDEDDieses Konto ist gesperrt.

in.php-kompatibel

Für Programme im in.php-Format reicht eine Adressänderung. Unterstützte method-Werte: userrecaptcha (reCAPTCHA v2), turnstile, geetest, base64 und post (Bildtext).

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

Mit json=1 antwortet der Server im Format {"status":1,"request":"..."}.

Beispiele

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