Zum Hauptinhalt springen
POST https://api.acedata.cloud/webextrator/render Die WebExtrator Web-Rendering-API ist ein auf headlosem Chromium basierender Web-Rendering-Dienst. Geben Sie eine URL an, und erhalten Sie das vollständig gerenderte HTML zurück (einschließlich von JS eingefügter Inhalte), reinen Text, den Seitentitel und die endgültige URL. Render ist die unterste Schnittstelle von WebExtrator. Wenn Sie strukturierte Extraktionsergebnisse benötigen (Artikelinhalt, Produktpreise, Rezeptzutaten …), verwenden Sie bitte /webextrator/extract —— darauf läuft auf derselben Rendering-Grundlage eine vollständige typisierte Extraktionspipeline.

Antragsprozess

Um die WebExtrator-Dienstseite zu verwenden, rufen Sie zuerst die Ace Data Cloud-Konsole auf, um Ihren API-Token zu erhalten, und bewahren Sie ihn als Reserve auf. Falls Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden; nach Abschluss kehren Sie automatisch zur aktuellen Seite zurück. Ein API-Token kann alle Dienste der Plattform aufrufen, ohne dass Sie ihn für jeden Dienst separat beantragen müssen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, das kostenlos ausprobiert werden kann; wenn das Kontingent nicht ausreicht, können Sie in der Konsole ein allgemeines Guthaben aufladen.
📘 Vollständige Dokumentation: WebExtrator-Dienstseite →

Authentifizierung

Alle WebExtrator-Schnittstellen verwenden die Standard-Bearer-Token-Authentifizierung:

Anfrageparameter

Der Plattformvertrag verwendet einheitlich snake_case. Der interne Rendering-Dienst unterstützt camelCase, aber für externe Aufrufe wird durchgehend snake_case verwendet.

Synchrone Antwort

Asynchrone Antwort

Bei async=true (oder wenn callback_url bereitgestellt wird) wird sofort zurückgegeben (HTTP 200):
Das Ergebnis wird per POST an callback_url gesendet (falls konfiguriert), oder aktiv über /webextrator/tasks abgefragt.

Callback-Struktur

Die Plattform sendet per POST denselben Envelope wie im synchronen Modus an callback_url, Content-Type: application/json. Die Rückgabe eines beliebigen 2xx gilt als Bestätigung; bei 5xx wird mit exponentiellem Backoff etwa 5 Minuten lang erneut versucht.

Fehlerantwort

Fehlerstruktur:

Beispiele

cURL

Python (requests)

Node.js (fetch)

Asynchron + Callback

Gibt sofort { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 } zurück; wenn die Aufgabe abgeschlossen ist, sendet die Plattform das vollständige Ergebnis per POST an deine callback_url.

Cache-Umgehung erzwingen

Hinweise und Fallstricke

  • Die richtige Wahl von wait_until ist wichtig. networkidle ist am stabilsten, aber am langsamsten; domcontentloaded ist schnell, könnte aber asynchron eingefügte Inhalte verpassen; load eignet sich für traditionelle statische Seiten.
  • Der Cache-Key ignoriert async. Synchrone und asynchrone Anfragen für dieselbe URL treffen denselben Cache-Eintrag, ein beliebiger Wechsel macht ihn nicht ungültig.
  • Der Cache-Key ignoriert bypass_cache und cache_ttl_seconds. Diese beiden sind Operationsschalter, die den Antwortinhalt nicht beeinflussen.
  • cookies und headers segmentieren den Cache. Das Anpassen dieser beiden führt dazu, dass der erste Treffer derselben Kombination fehlschlägt.
  • Schwere SPAs überschreiten häufig die standardmäßigen 30 Sekunden. Empfohlen werden timeout: 60, wait_until: "domcontentloaded", delay: 4 sowie wait_for_selector, um auf die tatsächlich relevanten Elemente zu warten.
  • block_resources ist der schnellste Weg zur Verringerung der Latenz. Bilder / Schriftarten / Medien sind standardmäßig bereits blockiert; wenn deine Extraktion nicht von CSS-Layouts abhängt, wird es mit stylesheet noch schneller.