POST https://api.acedata.cloud/webextrator/render
Die WebExtrator Webseitenrendering API ist ein auf Headless Chromium basierender Webseitenrendering-Dienst. Geben Sie eine URL an, um das vollständig gerenderte HTML (einschließlich JS-injizierter Inhalte), reinen Text, den Seitentitel und die endgültige URL zurückzugeben.
Render ist die grundlegendste Schnittstelle von WebExtrator. Wenn Sie strukturierte Extraktionsergebnisse (Artikelinhalt, Produktpreise, Rezeptzutaten …) benötigen, verwenden Sie
/webextrator/extract — es führt auf derselben Rendering-Basis eine vollständige Typisierungsextraktionspipeline aus.
Antragsprozess
Um den WebExtrator-Dienst zu nutzen, gehen Sie zunächst zur Ace Data Cloud Konsole, um Ihr API-Token zu erhalten, das Sie für später aufbewahren.
Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, die Sie zur Registrierung und Anmeldung einlädt. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet.
Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, ohne dass für jeden Dienst separat beantragt werden muss. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent erschöpft ist, können Sie im Dashboard Ihr allgemeines Guthaben aufladen.
📘 Vollständige Dokumentation: WebExtrator-Dienstseite →
Authentifizierung
Alle WebExtrator-Schnittstellen verwenden die standardmäßige Bearer-Token-Authentifizierung:Anfrageparameter
Die Plattformverträge verwenden einheitlich snake_case. Die internen Rendering-Dienste unterstützen camelCase, aber externe Aufrufe verwenden immer snake_case.
Cookie-Struktur
Synchronisierte Antwort
Asynchrone Antwort
Wennasync=true (oder callback_url bereitgestellt wird), wird sofort (HTTP 200) zurückgegeben:
POST an callback_url gesendet (wenn konfiguriert) oder können über
/webextrator/tasks aktiv abgefragt werden.
Callback-Struktur
Die Plattform sendet einPOST mit dem genau gleichen Envelope wie im synchronen Modus an callback_url,
Content-Type: application/json. Eine beliebige Rückgabe von 2xx wird als bestätigt angesehen; 5xx wird mit exponentiellem Backoff etwa 5 Minuten lang erneut versucht.
Fehlerantwort
Fehlerstruktur:
Beispiel
cURL
Python (requests)
Node.js (fetch)
Asynchron + Callback
{ "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 } zurück;
wenn die Aufgabe abgeschlossen ist, wird die Plattform das vollständige Ergebnis an deine callback_url POSTen.
Cache umgehen
Hinweise und Fallstricke
- Die Wahl von
wait_untilist wichtig.networkidleist am stabilsten, aber am langsamsten;domcontentloadedist schnell, könnte aber asynchron injizierte Inhalte übersehen;loadeignet sich für traditionelle statische Seiten. - Cache-Key ignoriert
async. Synchronisierte und asynchrone Anfragen an dieselbe URL treffen denselben Cache-Eintrag, ein beliebiger Wechsel hat keine Auswirkungen. - Cache-Key ignoriert
bypass_cacheundcache_ttl_seconds. Diese beiden sind Schalter, die den Antwortinhalt nicht beeinflussen. cookiesundheaderswerden in separaten Caches gespeichert. Das Anpassen dieser beiden führt dazu, dass die erste gleiche Kombination fehlschlägt.- Reaktive SPAs überschreiten häufig die Standardzeit von 30 Sekunden. Es wird empfohlen,
timeout: 60,wait_until: "domcontentloaded",delay: 4zu verwenden und mitwait_for_selectorauf die wirklich interessierenden Elemente zu warten. block_resourcesist der schnellste Weg, um die Latenz zu reduzieren. Standardmäßig sind Bilder / Schriftarten / Medien bereits blockiert; wenn du Extraktionen machst, die nicht von CSS-Layouts abhängen, kannst du mitstylesheetnoch schneller werden.

