Captcha de Texto
Descripción General
Un captcha de texto estándar es una imagen que contiene texto distorsionado que es legible por humanos. Para resolver la imagen del captcha, los usuarios deben ingresar el texto de la imagen.
El captcha de texto puede incluir números, letras o una combinación de ambos. Típicamente utilizan distorsiones de imagen, ruido y varias fuentes para dificultar la lectura automatizada.

1. Crear Tarea
Solicitud
POST https://api.achicaptcha.com/createTask
Parámetros
| Parámetro | Tipo de Dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
task.type | string | sí | ImageToTextTask |
task.image | string | sí | Base64 de la imagen |
task.subType | string | sí | Uno de los siguientes tipos: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam |
Ejemplo de Solicitud
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "Tu CLAVE_API",
"task": {
"type": "ImageToTextTask",
"image": "imagen codificada en base64",
"subType": "gmx"
}
}Respuesta
En caso de éxito, el servidor devolverá errorId = 0 y taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Obtener Resultado
Solicitud
POST https://api.achicaptcha.com/getTaskResult
Parámetros
| Parámetro | Tipo de Dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
taskId | string | sí | TaskId del paso (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": "swamn"
}Explicación del Estado
errorId = 0ystatus = ready: Resuelto exitosamente, lee el resultado ensolution.texterrorId = 0ystatus = processing: El captcha se está resolviendo, espera 2 segundos e intenta de nuevoerrorId > 0: Error del sistema, se proporciona código de error y descripción
Opciones de SubType
Achicaptcha admite varios tipos de captcha de texto a través del parámetro subType:
| SubType | Descripción |
|---|---|
common | Captcha de texto común, el más popular |
amazon | Captcha específico de Amazon con distorsión especial |
microsoft | Captcha utilizado en servicios de Microsoft |
facebook | Captcha de Facebook con fuentes distintivas |
garena | Captcha en la plataforma Garena |
artistshot | Captcha del sitio web Artistshot |
gmx | Captcha de correo GMX |
11166 | Tipo de captcha especial con código 11166 |
houssam | Tipo de captcha específico llamado Houssam |
discord | Tipo de captcha específico de Discord |
okvip | Tipo de captcha específico de OKVIP |
shopee | Tipo de captcha específico de Shopee |
Típicamente subType: common puede manejar todos los tipos de captcha de texto. Si el captcha de texto de tu sitio web es demasiado específico, contacta al administrador (opens in a new tab) para obtener soporte.
Ejemplos de Integración
import requests
import time
import base64
def solve_captcha(image_path, sub_type='common', api_key='TU_CLAVE_API'):
# Leer y codificar imagen
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Paso 1: Crear tarea
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': sub_type
}
}
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']
# Si status == 'processing', continuar el bucle
# Uso
solution = solve_captcha('captcha.png', 'common', 'TU_CLAVE_API')
print('Resultado del captcha:', solution)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 |
| 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 tu clave API |
| 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 lograr los mejores resultados al usar la API de Achicaptcha, sigue estos principios:
1. Calidad de Imagen
- Usa imágenes con buena resolución
- Asegúrate de que las imágenes no estén demasiado borrosas o con ruido
- Elige el
subTypeapropiado para tu tipo de captcha
2. Intervalo de Sondeo
- Espera al menos 2 segundos entre verificaciones de resultado
- No envíes spam a la API con demasiadas solicitudes consecutivas
- Ten un tiempo de espera para evitar bucles infinitos
3. 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
4. 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: