コンテンツにスキップ
ステータスダッシュボード

タスクタイプ

reCAPTCHA v2

このページは中国語版から機械翻訳されたもので、不正確な箇所がある可能性があります。中国語版を正としてください。

イメージ図reCAPTCHA v2:「私はロボットではありません」のチェックボックスが表示されます。クリックすると、そのままチェックが入るか、画像チャレンジが表示されます。

reCAPTCHA v2 のタスクは token(gRecaptchaResponse)を返します。この token を対象サイトに送信すれば認証を通過でき、画像をクリックする必要はありません。最もよく使う NoCaptchaTaskProxyless は 1 タスクあたり 15 ポイント(約 $2.25 / 1k) で、非同期で結果を返します。まず createTask でタスクを作成し、その後 5 秒ごとに getTaskResult を呼び出して結果を取得します。認識に失敗したタスクやタイムアウトしたタスクは自動的に返金されます。

POSThttps://api.yescaptcha.com/createTaskグローバルエンドポイント
POSThttps://cn.yescaptcha.com/createTask中国エンドポイント

リクエストボディは JSON で、clientKey(ダッシュボードの yescaptcha.com からコピーできます)で認証します。タスクを作成したエンドポイントと同じエンドポイントで結果を取得してください。

  • ページに「ロボットではありません」(I’m not a robot)のチェックボックスがある場合: 通常版。
  • チェックボックスがなく、送信ボタンをクリックしたあとに画像の問題が表示される場合: 非表示版。"isInvisible": true を追加します。
  • ページが recaptcha/enterprise.js を読み込んでいる、またはリクエスト URL に enterprise が含まれている場合: Enterprise 版。名前に Enterprise が付くタイプを使います。

どの種類か分からない場合は、キャプチャの種類を判別するを参照してください。token 方式の通過率が思わしくない場合は、reCAPTCHA v2 画像認識に切り替えられます。API がクリックすべき画像を返すので、ブラウザ上で自分でクリックします。

タスクタイプ価格返却方式備考
NoCaptchaTaskProxyless$2.25 / 1k; 15 ポイント/タスク · ¥15 / 1k非同期
RecaptchaV2TaskProxyless$3.00 / 1k; 20 ポイント/タスク · ¥20 / 1k非同期NoCaptchaTaskProxyless とパラメータは同じで、経路が異なります。どちらか一方をバックアップとして使えます
NoCaptchaTask$2.25 / 1k; 15 ポイント/タスク · ¥15 / 1k非同期プロキシ持ち込み
RecaptchaV2EnterpriseTaskProxyless$3.00 / 1k; 20 ポイント/タスク · ¥20 / 1k非同期
RecaptchaV2EnterpriseTask$3.00 / 1k; 20 ポイント/タスク · ¥20 / 1k非同期プロキシ持ち込み

米ドル価格は US$1 ≈ ¥6.67 での概算です。タスクはポイントで課金されます。

  • NoCaptchaTaskProxyless と RecaptchaV2TaskProxyless はパラメータが同じで、経路が異なります。一方の通過率が思わしくない場合は、もう一方を試してください。
  • 名前に Proxyless が付かないタイプ(NoCaptchaTask、RecaptchaV2EnterpriseTask)は、お客様自身のプロキシでキャプチャを読み込みます。proxyType、proxyAddress、proxyPort などのフィールドを渡す必要があります。対象サイトがアクセス元 IP を制限している場合に使います。

createTask の task オブジェクト:

フィールド型必須説明
typestringはいタスクタイプ。値はこのページの「タイプと料金」を参照してください
websiteURLstringはいキャプチャが表示されるページの完全な URL。キャプチャが表示されるサイトを指定し、キャプチャ提供元のドメインは指定しないでください
websiteKeystringはいサイトキー(sitekey)。ページのソースまたはネットワークリクエストから確認できます。通常は変わりません
isInvisiblebooleanいいえインビジブル版の場合は true を指定します。通常版では指定しません
proxyTypestring一部のタイププロキシのプロトコル: http、https、socks4、socks5(NoCaptchaTask、RecaptchaV2EnterpriseTask では必須)
proxyAddressstring一部のタイププロキシの IP アドレスまたはホスト名。127.0.0.1 や 192.168.x.x のようなローカルアドレスやプライベートアドレスは、当社のサーバーから到達できないため使用できません(NoCaptchaTask、RecaptchaV2EnterpriseTask では必須)
proxyPortinteger一部のタイププロキシのポート(NoCaptchaTask、RecaptchaV2EnterpriseTask では必須)
proxyLoginstringいいえプロキシのユーザー名(プロキシが認証を必要とする場合)(NoCaptchaTask、RecaptchaV2EnterpriseTask のみ)
proxyPasswordstringいいえプロキシのパスワード(プロキシが認証を必要とする場合)(NoCaptchaTask、RecaptchaV2EnterpriseTask のみ)
userAgentstringいいえブラウザーの User-Agent。結果に userAgent が含まれている場合は、token を送信するときにその値を使用してください(NoCaptchaTask、RecaptchaV2EnterpriseTask のみ)
enterprisePayloadobjectいいえエンタープライズ版の追加パラメータ。例: reCAPTCHA Enterprise の s の値 {"s": "..."}。ページで使われていない場合は指定しません(RecaptchaV2EnterpriseTaskProxyless、RecaptchaV2EnterpriseTask のみ)

websiteURL と websiteKey の調べ方は、reCAPTCHA のパラメータを調べるを参照してください。

Google 公式のデモページを例にします:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

タスクの作成、5 秒ごとの結果取得、token の出力までを含む完全なコードです。実行前に clientKey を環境変数 YESCAPTCHA_CLIENT_KEY に設定してください:

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

Enterprise 版で、ページが reCAPTCHA に s 値を渡している場合は、enterprisePayload に指定します:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"enterprisePayload": {
"s": "S_VALUE_FROM_THE_PAGE"
}
}
}

自分のプロキシを使う場合:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTask",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"proxyType": "http",
"proxyAddress": "proxy.example.com",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}

createTask はタスク ID を返します:

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

このタスク ID で getTaskResult を呼び出します。処理中は {"errorId": 0, "status": "processing"} が返るので、5 秒後に再度取得してください。完了すると次のように返ります:

{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
}
}
フィールド型説明
gRecaptchaResponsestring対象サイトに送信するトークン。1 回限りの使用で、有効期間は約 120 秒です。60 秒以内に使用してください

タスクの処理時間は最長で約 110 秒です。タイムアウトすると ERROR_TASK_TIMEOUT が返り、ポイントが返金されます。エラー時は errorId が 1 になるので、errorCode に応じて処理してください。詳しくはエラーコードを参照してください。token を取得したあとの送信方法は、token で reCAPTCHA を完了するを参照してください。

同じサイトなのに、token が通ったり通らなかったりするのはなぜですか?

Section titled “同じサイトなのに、token が通ったり通らなかったりするのはなぜですか?”

通過できるかどうかは対象サイトが判定します。サイトは認証ごとにスコアを付けて基準値を設けており、この基準値はいつでも変更される可能性があります。そのため通過率はサイトによって異なり、すべての token が通るわけではありません。同種の別のタスクタイプで通過率を比較するか、画像認識に切り替えてください。

token はどのくらいの間有効ですか?

Section titled “token はどのくらいの間有効ですか?”

1 回限り使用でき、有効期間は約 120 秒です。取得後 60 秒以内の送信をおすすめします。有効期間は Google が決めています。

認識に失敗した場合も課金されますか?

Section titled “認識に失敗した場合も課金されますか?”

課金されません。ERROR_CAPTCHA_UNSOLVABLE を返したタスクやタイムアウトしたタスクは自動的に返金されます。詳しくは課金と返金を参照してください。