UNLOCK API
概要

UNLOCK APIドキュメント

CAPTCHAをタスクとして送信し、答えを受け取ります。このAPIは他のCAPTCHA解決APIと同じメソッド名、タスク名、エラーコードを使うため、既存のコードの多くはホストとキーを変えるだけで動きます。

リクエストの流れ

  1. 1createTask

    タスクを作成

    キーとtaskオブジェクトを付けて/createTaskにPOSTします。taskIdが返ります。この時点で料金が残高から差し引かれます。

  2. 2getTaskResult

    結果を確認

    約5秒待ってから、statusがreadyになるまで5秒ごとに/getTaskResultにPOSTします。

  3. 3solution

    答えを使う

    solutionのトークンまたはテキストをページのフォームに入れます。タスクが失敗した場合、料金は残高に戻ります。

基本情報

ベースURL
https://unlock-api.com
APIキー
32文字で、アカウントページにあります。clientKey(JSON)またはkey(in.php、res.php)として送信します。
形式
JSONメソッド: JSONボディでPOST。in.phpとres.php: GETまたはPOSTのフォームフィールド。JSONで応答させるにはjson=1を付けます。
制限
1アカウントあたり毎分1,200リクエスト(結果確認を含む)。タスク作成後は約5秒待ち、その後5秒ごとに確認してください。
制限時間
5分以内に解決されないタスクはERROR_CAPTCHA_UNSOLVABLEで失敗し、料金は残高に戻ります。
課金
タスクの料金はタスク作成時に差し引かれます。失敗したタスクは自動で返金されます。

クイックスタート

JSONメソッドでreCAPTCHA v2を解決します。YOUR_API_KEYをご自身のキーに置き換えてください。
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")

メソッド

ガイド

タスクの種類

種類ごとに専用ページがあり、すべてのパラメータ、solutionオブジェクト、サンプルを確認できます。

トークンタスク