Skip to main content
POST https://api.acedata.cloud/webextrator/render L’API de rendu de page WebExtrator est un service de rendu de page basé sur Chromium sans tête. Donnez une URL, retourne le HTML complètement rendu (y compris le contenu injecté par JS), le texte brut, le titre de la page et l’URL finale. Render est l’interface de base de WebExtrator. Si vous avez besoin de résultats d’extraction structurés (corps d’article, prix des produits, ingrédients de recettes …), veuillez utiliser /webextrator/extract — il exécute une chaîne d’extraction typée complète sur la même base de rendu.

Processus de demande

Pour utiliser la page de service WebExtrator, commencez par obtenir votre jeton API sur le tableau de bord Ace Data Cloud, à conserver en réserve. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion vous invitant à vous inscrire et à vous connecter, une fois terminé, vous serez automatiquement renvoyé à la page actuelle. Un jeton API suffit pour appeler tous les services de la plateforme, pas besoin de demander séparément pour chaque service. La première demande vous donnera un quota gratuit, vous permettant de l’essayer gratuitement ; lorsque le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : Page de service WebExtrator →

Authentification

Tous les interfaces WebExtrator utilisent l’authentification standard par Bearer Token :

Paramètres de requête

Les contrats de la plateforme utilisent uniformément snake_case. Les services de rendu internes prennent en charge camelCase, mais tous les appels externes utilisent snake_case.

Structure des cookies

Réponse synchrone

Réponse asynchrone

Lorsque async=true (ou callback_url fourni), retourne immédiatement (HTTP 200) :
Les résultats seront poussés via POST à callback_url (si configuré), ou récupérés via /webextrator/tasks.

Structure de rappel

La plateforme POST un envelope exactement identique à celui du mode synchrone à callback_url, Content-Type: application/json. Retourner n’importe quel 2xx est considéré comme confirmé ; 5xx sera réessayé avec un backoff exponentiel pendant environ 5 minutes.

Réponse d’erreur

Structure d’erreur :

Exemple

cURL

Python (requests)

Node.js (fetch)

Asynchrone + Callback

Retourne immédiatement { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 } ; lorsque la tâche est terminée, la plateforme POST les résultats complets à votre callback_url.

Forcer le contournement du cache

Conseils et pièges

  • Il est très important de bien choisir wait_until. networkidle est le plus stable mais le plus lent ; domcontentloaded est rapide mais peut manquer du contenu injecté de manière asynchrone ; load convient aux pages statiques traditionnelles.
  • La clé de cache ignore async. Les requêtes synchrones et asynchrones pour la même URL frappent la même entrée de cache, le changement aléatoire ne provoquera pas d’échec.
  • La clé de cache ignore bypass_cache et cache_ttl_seconds. Ces deux éléments sont des interrupteurs d’opération, n’affectent pas le contenu de la réponse.
  • Les cookies et headers seront mis en cache par groupe. Personnaliser ces deux éléments fera échouer la première combinaison identique.
  • Les SPA lourdes dépassent souvent les 30 secondes par défaut. Il est conseillé de définir timeout: 60, wait_until: "domcontentloaded", delay: 4, puis d’utiliser wait_for_selector pour attendre les éléments réellement concernés.
  • block_resources est le chemin le plus rapide pour réduire la latence. Par défaut, les images / polices / médias sont déjà bloqués ; si vous extrayez sans dépendre de la mise en page CSS, ajouter stylesheet peut encore accélérer.