UNLOCK API
Panoramica

Documentazione di UNLOCK API

Invia un CAPTCHA come task, poi ritira la risposta. L'API usa gli stessi nomi di metodi, nomi dei task e codici di errore di altre API di risoluzione, quindi gran parte del codice esistente funziona dopo aver cambiato host e chiave.

Come funziona una richiesta

  1. 1createTask

    Crea un task

    POST /createTask con la tua chiave e un oggetto task. Ricevi un taskId. Il prezzo viene scalato subito dal saldo.

  2. 2getTaskResult

    Controlla il risultato

    Attendi circa 5 secondi, poi invia POST /getTaskResult ogni 5 secondi finché status è ready.

  3. 3solution

    Usa la risposta

    Inserisci il token o il testo di solution nel form della pagina. Se il task fallisce, l'importo torna sul saldo.

Elementi di base

URL di base
https://unlock-api.com
Chiave API
32 caratteri, nella pagina account. Inviala come clientKey (JSON) o key (in.php, res.php).
Formato
Metodi JSON: POST con body JSON. in.php e res.php: campi form in GET o POST; aggiungi json=1 per risposte JSON.
Limiti
1,200 richieste al minuto per account, controlli dei risultati inclusi. Attendi circa 5 secondi dopo aver creato un task, poi controlla ogni 5 secondi.
Tempo massimo
Un task non risolto entro 5 minuti fallisce con ERROR_CAPTCHA_UNSOLVABLE e l'importo torna sul saldo.
Addebito
Il prezzo del task viene scalato alla creazione. I task falliti vengono rimborsati automaticamente.

Avvio rapido

Risolvi un reCAPTCHA v2 con i metodi JSON. Sostituisci YOUR_API_KEY con la tua chiave.
import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "RecaptchaV2TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["gRecaptchaResponse"])
        break
else:
    raise SystemExit("timed out")

Metodi

Guide

Tipi di task

Ogni tipo ha una propria pagina con tutti i parametri, l'oggetto solution e gli esempi.

Task con token