Skip to content
API
ReCAPTCHA
Token

ReCAPTCHA

Aperçu

Google reCAPTCHA est le système de captcha le plus populaire au monde, utilisé par des millions de sites Web pour se protéger contre le spam et les bots. Achicaptcha prend actuellement en charge reCAPTCHA v2 avec un taux de réussite élevé.

⚠️

Actuellement, Achicaptcha ne prend en charge que reCAPTCHA v2. reCAPTCHA v3 et Enterprise ne sont pas encore pris en charge.

ReCAPTCHA

1. Créer une tâche

Requête

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

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringouiClé API
task.typestringouiRecaptchaV2TaskProxyless pour une résolution ultra-rapide
RecaptchaV2TaskProxylessNormal pour une résolution normale
task.websiteURLstringouiURL du site Web contenant le captcha
task.websiteKeystringouiClé de site reCAPTCHA

Exemple de requête

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "VOTRE_CLE_API",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
  }
}

Réponse

En cas de succès, le serveur renvoie errorId = 0 et taskId

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

2. Obtenir le résultat

Requête

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

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringouiClé API
taskIdstringouiTaskId obtenu de (1)

Exemple de requête

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "VOTRE_CLE_API",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Réponse

{
  "errorId": 0,
  "status": "ready",
  "solution": "03AGdBq27QGA96FJRo3mtz..."
}

Explication du statut

  • errorId = 0 et status = ready : Résolu avec succès, lire le résultat dans solution
  • errorId = 0 et status = processing : Résolution du captcha en cours, attendez 2 secondes et réessayez
  • errorId > 0 : Erreur système, renvoie le code d'erreur et la description

Exemples d'intégration

import requests
import time
 
def solve_recaptcha_v2(website_url, website_key, api_key='VOTRE_CLE_API'):
    # Étape 1 : Créer une tâche
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'RecaptchaV2TaskProxyless',
            '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']
    
    # Étape 2 : Obtenir le résultat
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Attendre 2 secondes
        
        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', continuer la boucle
 
# Utilisation
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'VOTRE_CLE_API')
print('Token reCAPTCHA :', token)

Codes d'erreur courants

Code d'erreurDescriptionNotes
0succèsSuccès
1en traitementEn traitement
2champs requis manquantsChamps requis manquants, vérifiez à nouveau les paramètres
3tâche non prise en chargeType de tâche non pris en charge
4échec de la création de la tâcheÉchec de la création de la tâche
5la clé client n'existe pasLa clé API n'existe pas, vérifiez à nouveau la clé API
6solde du compte insuffisantSolde du compte insuffisant, ajoutez plus de crédits
7échec de la tâche, veuillez créer une nouvelle tâcheÉchec de la tâche, veuillez créer une nouvelle tâche
8l'ID de tâche n'existe pasL'ID de tâche n'existe pas

Meilleures pratiques

Pour de meilleurs résultats lors de l'utilisation de l'API Achicaptcha, suivez ces principes :

1. Valider la clé de site

  • Vérifiez la clé de site avant d'envoyer la requête
  • Assurez-vous que la clé de site obtenue à partir de l'attribut data-sitekey est exacte
  • Vérifiez que l'URL du site Web correspond à la page contenant le captcha

2. Gérer les délais d'expiration

  • Le token a un délai d'expiration (généralement 120 secondes)
  • Utilisez le token immédiatement après l'avoir reçu
  • Ne mettez pas le token en cache trop longtemps

3. Intervalle de polling

  • Attendez au moins 2 secondes entre les vérifications de résultat
  • Ne spammez pas l'API avec trop de requêtes consécutives
  • Définissez un délai d'expiration pour éviter les boucles infinies (120 secondes recommandées)

4. Logique de nouvelle tentative

  • Implémentez une nouvelle tentative pour les erreurs temporaires comme ERROR_NO_SLOT_AVAILABLE
  • Utilisez un backoff exponentiel lors de la nouvelle tentative
  • Limitez le nombre maximum de tentatives

5. Sécurité de la clé API

  • Ne codez pas en dur la clé API dans le code
  • Utilisez des variables d'environnement
  • N'exposez pas la clé API côté client

Liens utiles :