Skip to content
API
Captcha Teks

Text Captcha

Gambaran Umum

Text captcha standar adalah gambar yang berisi teks terdistorsi yang dapat dibaca oleh manusia. Untuk menyelesaikan gambar captcha, pengguna harus memasukkan teks dari gambar tersebut.

📝

Text captcha dapat mencakup angka, huruf, atau kombinasi keduanya. Mereka biasanya menggunakan distorsi gambar, noise, dan berbagai font untuk membuat pembacaan otomatis menjadi sulit.

Common text captcha

1. Buat Task

Request

POST https://api.achicaptcha.com/createTask

Parameter

ParameterTipe DataWajib?Deskripsi
clientKeystringyaAPI key
task.typestringyaImageToTextTask
task.imagestringyaBase64 dari gambar
task.subTypestringyaSalah satu dari jenis berikut: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam

Contoh Request

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "Your API_KEY",
  "task": {
    "type": "ImageToTextTask",
    "image": "base64 encoded image",
    "subType": "gmx"
  }
}

Response

Jika berhasil, server akan mengembalikan errorId = 0 dan taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Dapatkan Hasil

Request

POST https://api.achicaptcha.com/getTaskResult

Parameter

ParameterTipe DataWajib?Deskripsi
clientKeystringyaAPI key
taskIdstringyaTaskId dari langkah (1)

Contoh Request

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": "swamn"
}

Penjelasan Status

  • errorId = 0 dan status = ready: Berhasil diselesaikan, baca hasil di solution.text
  • errorId = 0 dan status = processing: Captcha sedang diselesaikan, tunggu 2 detik dan coba lagi
  • errorId > 0: Kesalahan sistem, kode kesalahan dan deskripsi disediakan

Pilihan SubType

Achicaptcha mendukung berbagai jenis text captcha melalui parameter subType:

SubTypeDeskripsi
commonText captcha umum, paling populer
amazonCaptcha khusus Amazon dengan distorsi khusus
microsoftCaptcha yang digunakan pada layanan Microsoft
facebookCaptcha Facebook dengan font yang khas
garenaCaptcha pada platform Garena
artistshotCaptcha dari website Artistshot
gmxCaptcha email GMX
11166Jenis captcha khusus dengan kode 11166
houssamJenis captcha khusus bernama Houssam
discordJenis captcha khusus Discord
okvipJenis captcha khusus OKVIP
shopeeJenis captcha khusus Shopee
📝

Biasanya subType: common dapat menangani semua jenis text captcha. Jika text captcha website Anda terlalu spesifik, silakan hubungi admin (opens in a new tab) untuk dukungan.

Contoh Integrasi

import requests
import time
import base64
 
def solve_captcha(image_path, sub_type='common', api_key='YOUR_API_KEY'):
    # Baca dan encode gambar
    with open(image_path, 'rb') as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
    
    # Langkah 1: Buat task
    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']
    
    # Langkah 2: Dapatkan hasil
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Tunggu 2 detik
        
        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']
        
        # Jika status == 'processing', lanjutkan loop
 
# Penggunaan
solution = solve_captcha('captcha.png', 'common', 'YOUR_API_KEY')
print('Hasil captcha:', solution)

Kode Error Umum

Kode ErrorDeskripsiCatatan
0suksesSukses
1memprosesMemproses
2field yang diperlukan hilangField yang diperlukan hilang, periksa parameter
3task tidak didukungJenis task tidak didukung
4pembuatan task gagalPembuatan task gagal
5client key tidak adaAPI key tidak ada, periksa API key Anda
6saldo akun tidak mencukupiSaldo akun tidak mencukupi, tambahkan kredit
7task gagal, silakan buat task baruTask gagal, silakan buat task baru
8task ID tidak adaTask ID tidak ada

Praktik Terbaik

Untuk mencapai hasil terbaik saat menggunakan API Achicaptcha, ikuti prinsip-prinsip berikut:

1. Kualitas Gambar

  • Gunakan gambar dengan resolusi yang baik
  • Pastikan gambar tidak terlalu buram atau berisik
  • Pilih subType yang sesuai untuk jenis captcha Anda

2. Interval Polling

  • Tunggu setidaknya 2 detik antara pemeriksaan hasil
  • Jangan spam API dengan terlalu banyak request berturut-turut
  • Miliki timeout untuk menghindari loop tak terbatas

3. Logika Retry

  • Implementasikan retry untuk error sementara seperti ERROR_NO_SLOT_AVAILABLE
  • Gunakan exponential backoff saat retry
  • Batasi jumlah maksimum percobaan retry

4. Keamanan API Key

  • Jangan hardcode API key dalam kode
  • Gunakan environment variables
  • Jangan expose API key di sisi client

Link Berguna: