# Cara menemukan parameter reCAPTCHA

> Cara menemukan websiteKey (sitekey) reCAPTCHA, websiteURL, pageAction untuk v3, dan fungsi callback di panel Network, Sources, dan Console pada developer tools, lengkap dengan skrip pencarian otomatis.

Source: https://docs.yescaptcha.com/id/guides/find-recaptcha-parameters/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/guides/find-recaptcha-parameters/

Untuk membuat tugas reCAPTCHA, Anda memerlukan `websiteURL` (alamat halaman tempat captcha muncul) dan `websiteKey` (kunci situs); v3 juga memerlukan `pageAction`. Jika Anda mensimulasikan pengiriman dengan alat seperti Selenium, Anda juga perlu mengetahui fungsi callback. Semuanya dapat ditemukan di developer tools browser (F12).

## Cara tercepat: skrip pencarian otomatis

Buka halaman tempat captcha muncul, tekan F12 untuk membuka Console, lalu tempel dan jalankan:

find-recaptcha-clients.js

```js
// Paste into the browser DevTools console on a page with reCAPTCHA, then run findRecaptchaClients().
// Lists every reCAPTCHA on the page: version (V2/V3), sitekey, page URL and the callback function.
function findRecaptchaClients() {
  if (typeof ___grecaptcha_cfg === 'undefined') return [];
  return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
    const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
    const objects = Object.entries(client).filter(([, value]) => value && typeof value === 'object');
    objects.forEach(([toplevelKey, toplevel]) => {
      const found = Object.entries(toplevel).find(
        ([, value]) => value && typeof value === 'object' && 'sitekey' in value && 'size' in value,
      );
      if (toplevel instanceof HTMLElement && toplevel.tagName === 'DIV') data.pageurl = toplevel.baseURI;
      if (found) {
        const [sublevelKey, sublevel] = found;
        data.sitekey = sublevel.sitekey;
        const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
        const callback = sublevel[callbackKey];
        if (!callback) {
          data.callback = null;
          data.function = null;
        } else {
          data.function = callback;
          const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
          data.callback = `___grecaptcha_cfg.clients${keys}`;
        }
      }
    });
    return data;
  });
}

findRecaptchaClients();
```

Pada hasilnya, `sitekey` adalah `websiteKey`, `pageurl` adalah `websiteURL`, `version` menunjukkan v2 atau v3, dan `function` serta `callback` adalah fungsi callback:

```json
[
  {
    "id": "0",
    "version": "V2",
    "sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "function": "onSuccess",
    "callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
    "pageurl": "https://www.google.com/recaptcha/api2/demo"
  }
]
```

Jika hasilnya array kosong, berarti halaman belum memuat reCAPTCHA. Jalankan lagi setelah captcha muncul.

## websiteKey dan websiteURL

Di panel Network, cari `anchor`, lalu temukan request seperti ini:

```text
https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9&co=...&hl=en&size=normal
```

-   Nilai setelah `k=` adalah `websiteKey`.
-   Isi `websiteURL` dengan alamat lengkap halaman tempat captcha muncul (biasanya sama dengan `Referer` dari request ini).

Anda juga dapat mencari `data-sitekey` di source halaman.

## pageAction (v3)

`pageAction` adalah `action` yang dikirim halaman saat memanggil `grecaptcha.execute(kunci situs, {action: '...'})`, dan harus sama dengan yang ada di halaman.

**Metode 1: cari di source.** Di panel Sources pada developer tools, klik kanan lalu pilih “Search in all files”. Untuk v3 biasa, cari `.execute(`; untuk v3 Enterprise, cari `.enterprise.execute`. Lihat `action` yang mengikutinya:

```js
grecaptcha.ready(function () {
  grecaptcha.execute('6LdpS-gUAAAAAL3Qr2yP7rkrQjkKBVvEY_48JS5l', { action: 'login' }).then(function (token) {
    // ...
  });
});
```

Di sini `pageAction` adalah `login`.

**Metode 2: breakpoint.** Jika kode diobfuskasi dan pencarian tidak menemukan apa pun, jalankan `debug(grecaptcha.execute)` di Console (untuk Enterprise: `debug(grecaptcha.enterprise.execute)`), lalu lakukan tindakan di halaman yang memicu verifikasi (misalnya klik Masuk). Setelah breakpoint berhenti, lihat nilai `action` di panel Scope di sisi kanan.

Satu situs bisa memakai `action` berbeda di langkah yang berbeda (misalnya saat pendaftaran, `signup/submit_email` lalu `signup/success`). Ambil nilai untuk langkah yang ingin Anda lewati. Tekan F8 untuk melanjutkan eksekusi dan melihat `action` berikutnya.

## Fungsi callback

Saat mengisi token di browser dengan alat seperti Selenium, setelah mengisi Anda perlu memanggil fungsi callback halaman untuk memberi tahu halaman bahwa verifikasi sudah selesai:

-   Cari `data-callback` di panel Elements; nilainya adalah nama fungsi callback, misalnya `data-callback="onSuccess"`.
-   Atau cari `grecaptcha.render` dan lihat `callback` di parameternya.
-   Atau periksa `___grecaptcha_cfg.clients` di Console, atau gunakan skrip pencarian otomatis di atas.

Cara memanggilnya:

```python
driver.execute_script("onSuccess(arguments[0])", g_recaptcha_response)
```

Sebagian halaman tidak memiliki fungsi callback; cukup isi token ke kolom teks `g-recaptcha-response`, lalu kirim formulirnya. Alur lengkapnya ada di [Menyelesaikan reCAPTCHA dengan token](https://docs.yescaptcha.com/id/guides/submit-recaptcha-token.md).
