hCAPTCHA Token
⚠️
The hCaptcha Token solving feature is currently not supported at this time. Please check back later or refer to hCaptcha Image!
Descripción General
hCaptcha Token es un método de resolución de hCaptcha mediante la obtención de tokens de autenticación sin necesidad de interactuar con imágenes. Este es el método más rápido y eficiente para evitar hCaptcha.
🔐
hCaptcha Token se usa ampliamente en muchos sitios web como Cloudflare, Discord, OpenSea y muchos otros servicios para proteger contra bots.

1. Crear Tarea
Solicitud
POST https://api.achicaptcha.com/createTask
Parámetros
| Nombre del Parámetro | Tipo de Dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
task.type | string | sí | HCaptchaTaskProxyless |
task.websiteURL | string | sí | URL completa de la página que contiene hCaptcha |
task.websiteKey | string | sí | Clave del sitio de hCaptcha (data-sitekey) |
Ejemplo de Solicitud
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "TU_CLAVE_API",
"task": {
"type": "HCaptchaTaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "10000000-ffff-ffff-ffff-000000000001"
}
}Respuesta
Cuando tiene éxito, el servidor devuelve errorId = 0 y taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Obtener Resultado
Solicitud
POST https://api.achicaptcha.com/getTaskResult
Parámetros
| Nombre del Parámetro | Tipo de Dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
taskId | string | sí | TaskId obtenido de (1) |
Ejemplo de Solicitud
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "TU_CLAVE_API",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Respuesta
{
"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"
}Explicación del Estado
errorId = 0ystatus = ready: Resuelto exitosamente, lee el resultado ensolution.gRecaptchaResponseerrorId = 0ystatus = processing: Resolviendo captcha, espera 2 segundos e intenta de nuevoerrorId > 0: Error del sistema, devuelve código de error y descripción
Ejemplos de Integración
import requests
import time
def solve_hcaptcha_token(website_url, website_key, api_key='TU_CLAVE_API'):
# Paso 1: Crear tarea
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']
# Paso 2: Obtener resultado
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Esperar 2 segundos
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']
# Si status == 'processing', continuar el bucle
# Uso
website_url = 'https://example.com'
website_key = '10000000-ffff-ffff-ffff-000000000001'
token = solve_hcaptcha_token(website_url, website_key, 'TU_CLAVE_API')
print('Token hCaptcha:', token)Códigos de Error Comunes
| Código de Error | Descripción | Notas |
|---|---|---|
| 0 | éxito | Éxito |
| 1 | procesando | Procesando |
| 2 | faltan campos requeridos | Faltan campos requeridos, verifica los parámetros nuevamente |
| 3 | tarea no compatible | Tipo de tarea no compatible |
| 4 | creación de tarea fallida | Creación de tarea fallida |
| 5 | la clave del cliente no existe | La clave API no existe, verifica la clave API nuevamente |
| 6 | saldo de cuenta insuficiente | Saldo de cuenta insuficiente, agrega más créditos |
| 7 | tarea fallida, por favor crea una nueva tarea | Tarea fallida, por favor crea una nueva tarea |
| 8 | el ID de tarea no existe | El ID de tarea no existe |
Mejores Prácticas
Para obtener los mejores resultados al usar la API de Achicaptcha, sigue estos principios:
1. Validar Clave del Sitio
- Verifica la clave del sitio antes de enviar la solicitud
- Asegúrate de que la clave del sitio obtenida del atributo
data-sitekeysea precisa - Verifica que la URL del sitio web coincida con la página que contiene el captcha
2. Manejar Tiempos de Espera
- El token tiene un tiempo de expiración (generalmente 120 segundos)
- Usa el token inmediatamente después de recibirlo
- No almacenes en caché el token durante demasiado tiempo
3. Intervalo de Sondeo
- Espera al menos 2 segundos entre verificaciones de resultado
- No envíes spam a la API con demasiadas solicitudes consecutivas
- Establece un tiempo de espera para evitar bucles infinitos (recomendado 120 segundos)
4. Lógica de Reintento
- Implementa reintento para errores temporales como
ERROR_NO_SLOT_AVAILABLE - Usa retroceso exponencial al reintentar
- Limita los intentos máximos de reintento
5. Seguridad de la Clave API
- No codifiques la clave API en el código
- Usa variables de entorno
- No expongas la clave API en el lado del cliente
Enlaces útiles: