CAPSOLVER
Blog
Cara menyelesaikan reCaptcha v3 dengan Node.JS

Cara Menyelesaikan reCAPTCHA v3 dengan Node.JS

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

28-Nov-2025

Mengotomasi alat SEO, pengambilan data Google Search, alur bot, atau crawler tanpa browser sering kali memerlukan interaksi dengan situs web yang dilindungi oleh reCAPTCHA v3. Berbeda dengan reCAPTCHA v2, versi 3 tidak menampilkan tantangan gambar—ia memberikan skor risiko secara diam-diam dari 0.0 hingga 1.0, dan bot biasanya menerima skor di bawah 0.3.
Untuk mencapai perilaku seperti manusia dan mendapatkan skor yang stabil 0.7–0.9, skrip otomatisasi Anda harus:

  • Kirim header yang benar
  • Gunakan pageAction yang benar
  • Menghasilkan token yang realistis dengan solver yang andal

Dalam panduan ini, Anda akan belajar cara menyelesaikan reCAPTCHA v3 menggunakan Node.js + CapSolver, dengan skrip yang siap dijalankan, tips konfigurasi, dan praktik terbaik untuk memaksimalkan kualitas skor.

⚙️ Prasyarat

🤖 Langkah 1: Instal Paket yang Diperlukan

Jalankan perintah berikut untuk menginstal paket yang diperlukan:

JS Copy
npm install axios

👨‍💻 Langkah 2: Kode Node.JS untuk menyelesaikan reCaptcha v3 dan mendapatkan skor 0.7-0.9

Berikut adalah skrip contoh Node.JS untuk menyelesaikan tugas tersebut:

js Copy
const PAGE_URL = "https://antcpt.com/score_detector";
const PAGE_KEY = "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf";
const PAGE_ACTION = "homepage";
const CAPSOLVER_KEY = "YourKey"

async function createTask(url, key, pageAction) {
    try {
      // Definisikan titik akhir API dan payload sesuai dokumentasi layanan.
      const apiUrl = "https://api.capsolver.com/createTask";
      const payload = {
        clientKey: CAPSOLVER_KEY,
        task: {
          type: "ReCaptchaV3TaskProxyLess",
          websiteURL: url,
          websiteKey: key,
          pageAction: pageAction
        }
      };
      const headers = {
        'Content-Type': 'application/json',
      };
      const response = await axios.post(apiUrl, payload, { headers });
      return response.data.taskId;
  
    } catch (error) {
      console.error("Kesalahan membuat tugas CAPTCHA: ", error);
      throw error;
    }
  }
  
  async function getTaskResult(taskId) {
    try {
      const apiUrl = "https://api.capsolver.com/getTaskResult";
      const payload = {
        clientKey: CAPSOLVER_KEY,
        taskId: taskId,
      };
      const headers = {
        'Content-Type': 'application/json',
      };
      let result;
      do {
        const response = await axios.post(apiUrl, payload, { headers });
        result = response.data;
        if (result.status === "ready") {
          return result.solution;
        }
        await new Promise(resolve => setTimeout(resolve, 5000)); // tunggu 5 detik sebelum mencoba lagi
      } while (true);
  
    } catch (error) {
      console.error("Kesalahan mendapatkan hasil CAPTCHA: ", error);
      throw error;
    }
  }
  

function setSessionHeaders() {
  return {
    'cache-control': 'max-age=0',
    'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="107", "Chromium";v="107"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': 'Windows',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-user': '?1',
    'sec-fetch-dest': 'document',
    'accept-encoding': 'gzip, deflate',
    'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,en-US;q=0.7',
  };
}

async function main() {
    
    const headers = setSessionHeaders();
    console.log("Membuat tugas CAPTCHA...");
    const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
    console.log(`ID Tugas: ${taskId}`);

    console.log("Mengambil hasil CAPTCHA...");
    const solution = await getTaskResult(taskId);
    const token = solution.gRecaptchaResponse;
    console.log(`Solusi Token ${token}`);


  const res = await axios.post("https://antcpt.com/score_detector/verify.php", { "g-recaptcha-response": token }, { headers });
  const response = res.data;
  console.log(`Skor: ${response.score}`);
}

main().catch(err => {
  console.error(err);
});

⚠️ Ubah variabel-variabel ini

  • capsolver.api_key: Dapatkan kunci API Anda dari Dasbor CapSolver.
  • PAGE_URL: Ganti dengan URL situs web yang ingin Anda selesaikan reCaptcha v3-nya.
  • PAGE_KEY: Perbarui dengan kunci spesifik situs dengan reCaptcha.
  • PAGE_ACTION: Ganti dengan pageAction halaman tersebut. Anda dapat membaca artikel ini blog

👀 Informasi lebih lanjut

Kesimpulan

Menyelesaikan reCAPTCHA v3 Google sangat penting untuk tugas otomatisasi modern seperti pemantauan SEO, pengambilan data SERP, alur akun, dan sistem verifikasi backend. Dengan menggunakan Node.js + CapSolver, Anda dapat menghasilkan token reCAPTCHA dengan skor tinggi secara andal dan menghindari terdeteksi sebagai lalu lintas otomatis.

Dengan mengatur dengan benar sitekey, pageAction, header, dan mengikuti struktur tugas CapSolver, pipeline otomatisasi Anda menjadi stabil, skalabel, dan tahan terhadap deteksi reCAPTCHA.

Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.

Lebih lanjut