hCAPTCHA Token
⚠️
The hCaptcha Token solving feature is currently not supported at this time. Please check back later or refer to other services!
Overview
hCaptcha Token is a method of solving hCaptcha by obtaining authentication tokens without needing to interact with images. This is the fastest and most efficient method to bypass hCaptcha.
🔐
hCaptcha Token is widely used on many websites such as Cloudflare, Discord, OpenSea and many other services to protect against bots.

1. Create Task
Request
POST https://api.achicaptcha.com/createTask
Parameters
| Parameter Name | Data Type | Required? | Description |
|---|---|---|---|
clientKey | string | yes | Api key |
task.type | string | yes | HCaptchaTaskProxyless |
task.websiteURL | string | yes | Full URL of page containing hCaptcha |
task.websiteKey | string | yes | Site key of hCaptcha (data-sitekey) |
Request Example
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "HCaptchaTaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "10000000-ffff-ffff-ffff-000000000001"
}
}Response
When successful, server returns errorId = 0 and taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Get Result
Request
POST https://api.achicaptcha.com/getTaskResult
Parameters
| Parameter Name | Data Type | Required? | Description |
|---|---|---|---|
clientKey | string | yes | Api key |
taskId | string | yes | TaskId obtained from (1) |
Request Example
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Response
{
"errorId": 0,
"status": "ready",
"solution": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.hKdwYXNza2V5xQbWjeEJ6Tk1wkaXoYkbJ-QT3vPKAXg2xbxRdxNPLFQlE4Dt2qJrlhsClaZ2dHmZ7IwoU6Wt8p7VDr6JCeco-KkjsEAHjYrCvuZ3xQnyr1VFjp_xq98KcdvmCUd7xrociy1smgTL2CsOVoe_kKfGJcMmjrzHf3fz3OLfhSKDeUtC3VdD6Lz2MHRpyb4rqIpJrCuZ1YGpeMNSWfGeIx1JlPrbC11ceQNJMl_hHhvn7HZ_8OZZKKdTfSX9e5RE8AHlzhqdqI6xHaveYKZC8PyrjRcNv1Ano5_ZXWFT-o3tlXIYZsICi1aStTk2prwIh5-jVnL2XGbWHYhDhQ6-oJGeHmQLoGm_B7dQ5BaPx9NC-x2ub3Az37QzUIi98yIw7Fv8mVYhO-ZQPN98iWojiYDscZ0WspIyD4wQyDgE37m6PWhx0WB0RYEN_bUOwtiZ_2CplM7uiH9VV5hvyEg-RpY_A494J5cAbaYVt2XsNLE0MPJqFRfXDhupzDlYxBIeb8k6QN9EDBj02dkFMKSl4DK8R8Rblm-B9socc39LpAj8eN4O15Fl6I01prM6oohrbBwhc_i0a_U22qnKs3uRQwUMTpCLixF4-C3Xqnk00l2HuNDXeh1wQx8SdYWrY7vk2Z_blsOYH4ty9-CvZAMbWI6mBD8BX1JK8L0hU3maFuSXPdBKvB-cfC_1TBeR7j5DIEKt2KuM74sr0BeneFAT2-jqDo1WDmPeLZBUaGb6MGwYDm6PK8U2BEzAs1SLhnnTIky90si443KQlnZFoe4RiiOIbvMd1l0r3B1OqEa4WAgRdh51fTTTj-kkPndvf59EfZrNmhLDcrdr1d-pkWyXhnzGIEXV8zK8VDzgBqm69pZ8CkmVLP3fhab6MXvLITmDRAxE7IQZfz4TfBjKgMCOk19cdgk1qFLQaVQ49yuGdflnB4-o4f7aC3ga7w9M3m-hAOy_mFweVrSVP9KxPVm5PZr1ocVb5y4wGYNfj2w9xYNew6oeFkW2jTOgElMJfrh7k7ZunHRsoF4fiixWM1Sv64yGVl3aV3xtrYfXDbiE3ycNpaSwn5nj_lqenaJ9KiYF9KfqPUYTsGEOun_8I1zeUyD6CSu0xDKHHMZ8gzXxOiB11EezdLn_agqneWbmD7UN9URXrgry_NSSrdmJe2ZM84smAgWxfCNvKIyC3lAXSaOcXOmGQTf35aQYARrAuII4gOxSwZXBGJWoKbZNFK_6pYKySB_OL_2s-Do0EdoL1Z1t0Y4FMKDZaZStwRA821kqfzqOLBbkVVhxvYZXvDFeNtBKYK09OmmhQ51bRyGSPEG4cGJ_xOBjepl9ITp6ZryAPDClelD5IKeCqenzKiEZZB0gEWBLNPgybBowc-tgj-iNRYK-Sy6gZ_bfIaepwoIguognuFCz1wufgSy8L_5M4ZcVjB-dhYt6ZrHyo95UakhQagIRFYY8QgOsyXsGC0WAv_6wV8vicwohMrapPbAUYmeCXIcMP7ad1aiaKlWnJuMTfrSd5kqkmhqpw4l4A2uZ87_wg3WGiTHCYid7MUPk9v1ADqGO27YwfBr1Q4gHVYVDRbP1oUKdN0MGrSu6Egg8jwI8gjYwZXckvjuP8DdWxPQwbfXceFASecaek1FZwuz6a1pFcMisAVS8K93iTQ40aacH4BQBM3-c9ggV4W9In6KoVED3huRapy6lvlscKTwKqRGf1P-mlcv17XRuQgXdTkCnHUMg3QrlDdPc4HFwGwG1EjFHiVl0uC3MWHMjNmRWP__t6u-lLhbjiYckMdjokwxbDpJI1lkywqkQ3XTHtWI9UeUfoUh4tvYWNLanRzrkStzHqC6VkHENMt92VmQXWbpY2bWf-gkaHYKyobbhKoHe0kPg66ahIsyP1VIhfsEARsKSzomo1HECydBObyZVnwnIheZSylJQnoax1cWtt-p5fjU-g6DDX-aqrxnAqTNRDk5DitCJBye-DCtuPKoIxnTfnebCOP5cFi2mpsJj45Ft8ILWwOATSZrifSKB4-QFWcv1HgCA8bjjiKPeUji2KxjnLH3T-btWnQgeen2xMy42mcPtiU9oKJaWqP2qQ-Z2HLk1ZDeUs8J9DNuWDMxq-v7r6CW2KAfDduFMp8eYHRwsFNnEwJD04Le4LzvQP1Xeqwz-uRVw_SrOlbs3m2qcR54o-217uAqRZyyNrwkk3naArZjtgkSvAd2HSbxYLojAd20PkFPC6XGCPvRxyi6iA5q3MNk7kFMU0J8bNyrcI0H8jlAzf-q9Fc1YaJqfks5Hajc5FRjqxOgu6zcevSKd0DV-2HCtjQpgLZqOH7hpfCmkAIsITgMSOxL-jaNleHDOY_TcJqhzaGFyZF9pZM4VmeRUonBkAA.cC-lgBWfBLBLEh-CBylsiYlwSQFX_Cl0Xdkx8yhoMGI"
}Status Explanation
errorId = 0andstatus = ready: Successfully solved, read result insolution.gRecaptchaResponseerrorId = 0andstatus = processing: Solving captcha, wait 2 seconds and try againerrorId > 0: System error, returns error code and description
Integration Examples
import requests
import time
def solve_hcaptcha_token(website_url, website_key, api_key='YOUR_API_KEY'):
# Step 1: Create task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'HCaptchaTaskProxyless',
'websiteURL': website_url,
'websiteKey': website_key
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Step 2: Get result
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Wait 2 seconds
get_result_payload = {
'clientKey': api_key,
'taskId': task_id
}
response = requests.post(get_result_url, json=get_result_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']['gRecaptchaResponse']
# If status == 'processing', continue loop
# Usage
website_url = 'https://example.com'
website_key = '10000000-ffff-ffff-ffff-000000000001'
token = solve_hcaptcha_token(website_url, website_key, 'YOUR_API_KEY')
print('hCaptcha token:', token)Common Error Codes
| Error Code | Description | Notes |
|---|---|---|
| 0 | success | Success |
| 1 | processing | Processing |
| 2 | missing required fields | Missing required fields, check parameters again |
| 3 | task not supported | Task type not supported |
| 4 | task creation failed | Task creation failed |
| 5 | client key does not exist | API key does not exist, check API key again |
| 6 | insufficient account balance | Insufficient account balance, add more credits |
| 7 | task failed, please create a new task | Task failed, please create a new task |
| 8 | task ID does not exist | Task ID does not exist |
Best Practices
For best results when using Achicaptcha API, follow these principles:
1. Validate Site Key
- Check site key before sending request
- Ensure site key obtained from
data-sitekeyattribute is accurate - Verify website URL matches page containing captcha
2. Handle Timeouts
- Token has expiration time (usually 120 seconds)
- Use token immediately after receiving
- Don't cache token for too long
3. Polling Interval
- Wait at least 2 seconds between result checks
- Don't spam API with too many consecutive requests
- Set timeout to avoid infinite loops (recommended 120 seconds)
4. Retry Logic
- Implement retry for temporary errors like
ERROR_NO_SLOT_AVAILABLE - Use exponential backoff when retrying
- Limit maximum retry attempts
5. API Key Security
- Don't hardcode API key in code
- Use environment variables
- Don't expose API key on client-side
Useful links: