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
Lorsqueasync=true (ou callback_url fourni), retourne immédiatement (HTTP 200) :
POST à callback_url (si configuré), ou récupérés via
/webextrator/tasks.
Structure de rappel
La plateformePOST 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
{ "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.networkidleest le plus stable mais le plus lent ;domcontentloadedest rapide mais peut manquer du contenu injecté de manière asynchrone ;loadconvient 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_cacheetcache_ttl_seconds. Ces deux éléments sont des interrupteurs d’opération, n’affectent pas le contenu de la réponse. - Les
cookiesetheadersseront 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’utiliserwait_for_selectorpour attendre les éléments réellement concernés. block_resourcesest 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, ajouterstylesheetpeut encore accélérer.

