Passer au contenu principal
POST https://api.acedata.cloud/webextrator/render

Authentification

Ajoutez dans l’en-tête de la requête Authorization: Bearer <votre clé API>.

Paramètres de la requête

ChampTypeObligatoirePar défautDescription
urlstring-URL de la page à rendre
user_agentstringPar défaut systèmeUser-Agent personnalisé
timeoutnumber30000Timeout pour un rendu unique (en millisecondes), maximum 120000
wait_untilstringloadÉvénement de fin de chargement : load/domcontentloaded/networkidle
delaynumber0Temps d’attente après chargement (en millisecondes), maximum 30000
wait_for_selectorstring-Attendre l’apparition de ce sélecteur CSS
block_resourcesstring[]-Types de ressources à bloquer : image/media/font/stylesheet, etc.
headersobject-En-têtes HTTP supplémentaires
cookiesarray-Liste de cookies, éléments sous la forme {name, value, domain, path}
callback_urlstring-URL de rappel en mode asynchrone ; si fourni, retourne immédiatement un ID de tâche, le résultat est envoyé via POST au callback

Réponse synchrone (sans callback_url)

{
  "success": true,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z",
  "finished_at": "2026-05-02T10:30:05.456Z",
  "elapsed": 5.333,
  "data": {
    "kind": "render",
    "url": "https://example.com",
    "title": "Example Domain",
    "html": "<!doctype html>...",
    "text": "Example Domain ...",
    "markdown": "# Example Domain\n...",
    "screenshot": "data:image/png;base64,iVBORw0K...",
    "links": ["https://www.iana.org/domains/example"]
  }
}

Mode asynchrone (avec callback_url)

Réponse initiale :
{
  "success": true,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z"
}
L’en-tête de la réponse contiendra x-usage-exempt: true, indiquant que cette négociation synchrone n’est pas facturée. Une fois la tâche terminée, la plateforme enverra un POST à callback_url dont le corps sera le champ data de la réponse synchrone, accompagné des mêmes champs task_id / trace_id / started_at / finished_at / elapsed.

Réponse en cas d’erreur

{
  "success": false,
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "trace_id": "550e8400-e29b-41d4-a716-446655440001",
  "started_at": "2026-05-02T10:30:00.123Z",
  "error": {
    "code": "timeout",
    "message": "page load timed out after 30000ms"
  }
}
Codes d’erreur : bad_request / forbidden / too_many_requests / not_found / api_error / timeout / unknown / busy.

Exemple

curl -X POST https://api.acedata.cloud/webextrator/render \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "wait_until": "networkidle",
    "block_resources": ["image", "media", "font"]
  }'