Skip to main content
POST https://api.acedata.cloud/webextrator/extract Die WebExtrator Intelligente Extraktions-API wandelt eine URL in typisierte strukturierte Ergebnisse um – Artikel, Produkte, Rezepte, Videos, Diskussionen, Stellenangebote usw., und liefert gleichzeitig bereinigtes Markdown und reinen Text. Wenn Sie “saubere strukturierte Daten” anstelle von rohem HTML wünschen, ist dies die Schnittstelle, die Sie verwenden sollten. Im Hintergrund gibt es eine dreistufige Pipeline:
  1. schema.org JSON-LD Mapper – deterministisch, null LLM-Kosten. Deckt Wikipedia / BestBuy / AllRecipes / YouTube / die meisten Nachrichten / die meisten Produktseiten ab.
  2. Typisierte LLM-Extraktion – wird nur ausgelöst, wenn schema.org nicht zutrifft. Schema wird je nach Seitentyp ausgewählt, Zod strenge Validierung.
  3. Readability + Markdown Absicherung – läuft immer, um die obersten Felder der ersten beiden Ebenen zu ergänzen.
Wiederholte URL-Anfragen werden vom Redis-Ergebnis-Cache erfasst, <1 ms Rückgabe.

Antragsprozess

Um den WebExtrator-Dienst zu nutzen, gehen Sie zuerst 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

Anfrageparameter

Extract akzeptiert alle Render API Parameter (url, user_agent, timeout, wait_until, delay, wait_for_selector, block_resources, headers, cookies, callback_url, bypass_cache, cache_ttl_seconds, async), plus zwei Extract-spezifische Felder:
Wenn die Seite schema.org JSON-LD enthält, ist enable_llm unwirksam – der deterministische Mapper gibt direkt Ergebnisse zurück, es wird niemals eine LLM-Anfrage verschwendet. Sie erhalten kostenlos typisierte Ergebnisse.

Synchronisierte Antwort

Oberste Felder

data.structured Unterfelder

schema.org Mapper Abdeckung

Nach Priorität sortiert (bei Treffer als structured.schemaOrg.primary): Mapper Verarbeitung:
  • @graph Container (rekursiv entfaltet);
  • @type Array (z. B. ["Recipe", "NewsArticle"] — beide werden erkannt, der mit höherer Priorität gewinnt);
  • Varianten mit dem Präfix http://schema.org/;
  • Verschachtelte Offer und AggregateOffer (letzteres liest lowPrice);
  • Relative Bild-URLs (werden gemäß finalUrl in absolute umgewandelt).

LLM typisierte Schema

Wenn enable_llm: true und schema.org keinen primären Eintrag hat, extrahiert der Scraper heuristisch nach URL (oder expected_type Hinweis) und wählt eines der folgenden Zod Schema Validierungsmodelle aus: Bei Erfolg wird LLM auch die “last-resort” Rückfüllung in die obersten Felder vornehmen:
  • articledescription / byline / publishedAt / language
  • productdescription
  • discussiondescription (= body die ersten 280 Zeichen) / byline (= author) / publishedAt (= postedAt)
  • recipedescription / byline (= author)
  • videodescription / byline (= channel) / publishedAt (= uploadDate)
  • jobdescription / byline (= company) / publishedAt (= datePosted)
Die Rückfüllung wird nur ausgelöst, wenn die sicheren Datenquellen die entsprechenden Felder nicht ausgefüllt haben — LLM ist immer die letzte Instanz.

Cache

Gleiche Anfragen werden auf denselben Redis Key gehasht: webextrator:cache:extract:<sha256(canonical-json)>. Der Cache Key ignoriert async, bypass_cache, cache_ttl_seconds (dies ist ein Schalter, der die Antwort nicht beeinflusst). cookies / headers werden in Buckets zwischengespeichert. Antworten, die den Cache treffen, enthalten data.cached: true und data.cacheStoredAt: <unix-ms>.

Asynchroner Modus und Rückruf

Setzen Sie async: true, um in den asynchronen Modus zu wechseln (das Bereitstellen von callback_url führt ebenfalls automatisch dazu). Die Plattform gibt sofort zurück (HTTP 200):
Wenn die Aufgabe abgeschlossen ist, wird das vollständige Envelope an Ihre callback_url (sofern konfiguriert) POST gesendet. Sie können auch später aktiv über /webextrator/tasks abfragen.

Beispiel

1. Wikipedia Artikel (schema.org Treffer, kein LLM erforderlich)

data.structured.schemaOrg.primary Schlüssel-Felder:

2. BestBuy Produktseite (schema.org Treffer)

schema.org Extraktion:

3. AllRecipes Rezeptseite (mit Nährwert und Schritten)

schema.org Extraktion:

4. HN Diskussionsseite (ohne JSON-LD —— LLM aktivieren)

data.structured.llm.data:
Top-Level-Felder wurden ebenfalls ausgefüllt: byline = "alice"publishedAt = "..."

5. Amazon Produktseite (Amazon ohne JSON-LD —— LLM aktivieren)

data.structured.llm.data (typisiert product):

Python (requests)

Node.js (fetch)

Hinweise und Fallstricke

  • Wenn expected_type übergeben werden kann, dann übergeben. Kostenlose Hinweise, um heuristische Bewertungen zu überspringen, besonders nützlich für Seiten, deren URL-Muster nicht in der eingebauten Liste enthalten ist.
  • enable_llm: true ist auf Seiten mit schema.org Treffer kostenlos. LLM wird nur aufgerufen, wenn schema.org kein primäres Element hat, daher ist es standardmäßig auch sicher.
  • Überprüfen Sie zuerst rawSignals.hasJsonLd beim Debuggen. Wenn es true ist, aber structured.schemaOrg.primary null ist, bedeutet das, dass die Seite einen @type verwendet hat, den unser Mapper noch nicht abgedeckt hat – bitte ein Issue erstellen, wir fügen es hinzu.
  • structured.llmError ist informativ. Die Anfrage war weiterhin erfolgreich, heuristische Ergebnisse werden weiterhin zurückgegeben. Überprüfen Sie llmError.error, um den Grund zu lokalisieren (Zeitüberschreitung, JSON-Parsing-Fehler, Zod-Validierungsfehler).
  • Links[] auf Nicht-Artikel-Seiten werden nicht nach Relevanz sortiert. Nur nach “maximal 100 Einträgen + Filterung ungültiger Protokolle” wird versucht, zu reinigen.
  • Cache-Treffer werden ebenfalls berechnet. Der Cache dient der Verzögerung und dem Schutz des Browser-Pools, nicht um Geld zu sparen.