How to Solve hCaptcha using CapSolver and Node.js
Tags: webdev, javascript, node, programming
Published: 2023-07-23 06:15:07

_Disclosure: This article is brought to you in collaboration with [Capsolver](https://www.capsolver.com)_

Have you ever found yourself facing a challenging hCaptcha while browsing the web? That frustrating puzzle that demands you to prove your humanity by selecting images or solving tricky challenges. Although hCaptchas serve the noble purpose of protecting websites from automated bots, they can sometimes hinder the browsing experience, causing delays and inconvenience. But don't worry; a solution is within reach!

Let me introduce you to [CapSolver](https://www.capsolver.com/), an exceptionally powerful tool that effortlessly tackles captcha-solving,  regardless of the programming language you prefer. In this article, we'll explore how to leverage CapSolver in combination with Node.js to overcome hCaptcha challenges. 

### What is CapSolver ?
CapSolver is a cutting-edge platform that provides automated solutions for various types of captchas, revolutionizing the way developers and automation enthusiasts tackle these challenges. With a focus on simplicity, accuracy, and efficiency, CapSolver employs advanced AI and machine learning technologies to streamline captcha-solving processes.

Unlike many other captcha solver services, CapSolver stands out by offering unique features and capabilities. Let's take a closer look at some of the distinctive captchas that CapSolver supports:

- **AWS Captcha**: CapSolver provides users with the means to generate valid tokens for interacting with captchas employed by Amazon Web Services (AWS). These tokens facilitate automated processes on AWS-protected platforms.
- **Datadome Captcha**: CapSolver seamlessly integrates with the DatadomCapsolvere captcha system, enabling users to obtain valid tokens for authenticating with Datadome captchas. This ensures smooth interaction with websites protected by Datadome's advanced security measures.
- **hCaptcha Enterprise**: CapSolver extends its support to hCaptcha, an increasingly popular captcha service
- **reCaptcha v3 / v3 Enterprise**: CapSolver excels in solving reCaptcha challenges, including both the standard reCaptcha v3 and the enterprise version with a 0.9 score threshold.
- **reCaptcha v2 Enterprise**: In addition to reCaptcha v3, CapSolver also supports the enterprise version of reCaptcha v2
- **Anti-bots**: CapSolver goes beyond traditional captchas and extends its capabilities to handle anti-bot measures implemented by various providers. This feature allows users to bypass Akamai, Imperva, Kasada, Akamai BMP, and Cloudflare security systems effectively.
- Cybersiara Captcha

### Registering  for CapSolver and getting the API key
To get started with solving hCaptcha challenges using CapSolver, you'll first need to create an account on their platform. For that, simply visit the [CapSolver website](https://www.capsolver.com/) and complete the registration process by providing the necessary details. Once you're registered, you'll gain access to your account.

Next, to interact with the CapSolver API for solving captcha challenges, you'll need to obtain API credentials. Log in to your account and navigate to the API section within your account dashboard. There, you can retrieve your API credentials, typically in the form of a secret key or token. These credentials are crucial for authenticating your requests to the CapSolver API when solving hCaptcha challenges.

![no funds capsolver](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qipap13r4ge42uymuaps.jpg)

Next, after creating  an account, it's essential to add funds to enable the usage of CapSolver's services. To do this, simply click on the "add funds" button. By doing so, you'll be redirected to a secure checkout page, where you can purchase credits or tokens according to your specific usage needs and preferences. These funds are crucial for unlocking CapSolver's powerful capabilities and ensuring a smooth and uninterrupted captcha-solving experience as you navigate through various online challenges.

![CapSolver with funds](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2c273qe07db4e4uk1dub.jpg)
By following these steps and obtaining your API credentials, you'll be ready to integrate CapSolver into your applications and effectively solve hCaptcha challenges.

### Solving hCaptcha using CapSolver and Node.js
To solve hCaptcha challenges using CapSolver and Node.js, follow these detailed steps:

- Start by opening the website where the hCaptcha challenge appears in your web browser. This is the website you want to automate the solving process for.

![shopify website](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94w9l01g9fketkad8lbk.jpg)

- Launch the developer tools of your browser by pressing F12. Within the developer tools, navigate to the "_Network_" section. This will allow you to monitor the network requests made by the website.

- Refresh the website by pressing F5 while in the "_Network_" section. This action will ensure that you capture the necessary network request related to the hCaptcha challenge.

![Tab Brave](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yqlv1whmx9yhu8fi5dwm.jpg)

- Look closely at the network requests displayed in the "_Network_" section. Locate a URL that contains "_getCaptcha_" or “_hCaptcha_”  in its name. This request is responsible for retrieving the hCaptcha challenge data.

- Right-click on the URL corresponding to the "_getCaptcha_" request and select "_Copy_" from the context menu. Then, choose "_Copy as Fetch_". This action copies the necessary Fetch request information, which you will use later to create a task in CapSolver.

![URL](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/73qxaa6b1rvd64r5t2h5.jpg)

### Creating a Task:
To create a task in CapSolver using Node.js, you need to make a POST request to the CapSolver API endpoint using the Axios library. Follow these steps:

- Install Axios in your Node.js project by running the following command

```shell
npm install axios
```
- Import the Axios module into your Node.js script:

```javascript
const axios = require('axios');
```
- Replace the placeholders in the code snippet below with your own details and execute the code:

```javascript
const apiKey = 'YOUR_API_KEY';
const captchaUrl = 'URL_OF_THE_WEBSITE_WHERE_HCPTCHA_APPEARS';
const websiteKey = '00000000-0000-0000-0000-000000000000';
const fetchRequestContent = 'FETCH_REQUEST_CONTENT';

axios.post('https://api.CapSolver.com/createTask', {
    clientKey: apiKey,
    task: {
        type: 'HCaptchaTaskProxyLess',
        websiteURL: captchaUrl,
        websiteKey: websiteKey,
        isInvisible: true,
        getCaptcha: fetchRequestContent,
    },
})
    .then((response) => {
        const taskId = response.data.taskId;
        console.log('Task created successfully. Task ID:', taskId);
        // Continue to the next step
    })
    .catch((error) => {
        console.error('Error creating task:', error.response.data);
    });
```
- Replace 'YOUR_API_KEY' with your CapSolver API key, 'URL_OF_THE_WEBSITE_WHERE_HCPTCHA_APPEARS' with the URL of the website where the hCaptcha challenge appears, and 'FETCH_REQUEST_CONTENT' with the copied Fetch request content that you obtained earlier.
- After executing the code, you will receive a response containing a "_Task ID_" if the task creation is successful. It is essential to store this Task ID as it will be required for the next step in the captcha-solving process. In case any errors occur during this task creation, you can refer to the error code provided in the [CapSolver documentation](https://docs.capsolver.com/guide/api-error.html) for troubleshooting and resolving the issue . The error codes in the documentation will provide valuable insights into the specific nature of the problem, assisting you in fine-tuning your implementation for a successful captcha-solving experience.

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

### Getting the Result:
To retrieve the recognition results for the solved hCaptcha, you need to make another POST request to the CapSolver API using Axios. Follow these steps:

Replace the '_TASK_ID_' placeholder in the code snippet below with the Task ID obtained from the previous step, and execute the code:

```javascript
axios.post('https://api.CapSolver.com/getTaskResult', {
    clientKey: apiKey,
    taskId: 'TASK_ID',
})
    .then((response) => {
        const solution = response.data.solution;
        console.log('Captcha solution:', solution.gRecaptchaResponse);
        // Handle the solution as needed
    })
    .catch((error) => {
        console.error('Error getting task result:', error.response.data);
    });
```
- Upon receiving the response, you can access the solution object, which contains information about the solved hCaptcha challenge. The _solution.gRecaptchaResponse_ field holds the token for the solved hCaptcha, which you can utilize for further processing or validation.
By following these comprehensive steps and utilizing the _Axios_ library for making HTTP requests, you can effectively solve hCaptcha challenges using CapSolver and Node.js.

### Summary
In this article, we have delved into the powerful combination of CapSolver and Node.js for effectively solving hCaptcha challenges. By following this comprehensive guide provided, you can seamlessly integrate CapSolver into your Node.js applications, revolutionizing your approach to handling captchas. However, to truly maximize the power of CapSolver, I encourage you to refer to its [comprehensive documentation](https://docs.capsolver.com/guide/what-is-capsolver.html). There, you'll find valuable insights and guidance to fine-tune your implementation, further enhancing your captcha-solving prowess.