Zum Hauptinhalt springen
Über den Olostep-Endpunkt /v1/batches kannst du bis zu 100.000 URLs in einem einzigen Batch verarbeiten. Ein Batch dauert etwa 5-8 Minuten. Verwende ihn, um Inhalte oder strukturierte Daten in großem Maßstab asynchron zu extrahieren.
  • Reiche bis zu 100.000 URLs pro Batch ein
  • Ein einzelner Batch dauert etwa 5–8 Minuten, unabhängig von der Batch-Größe. Batch ist ein asynchroner Endpunkt
  • Führe viele Batches parallel aus, um auf Millionen gleichzeitiger Anfragen zu skalieren.
  • Verwende Parser, um strukturiertes JSON zurückzugeben, oder rufe Markdown/HTML über /v1/retrieve ab
  • Wenn du Ergebnisse mit niedriger Latenz oder synchron erhalten möchtest, verwende den Scrape-Endpunkt und sende stattdessen viele gleichzeitige Anfragen.
Für API-Details siehe die Batch-Endpunkt-API-Referenz.
Hinweis: Für neue Konten sind Batches auf 100 Elemente pro Batch begrenzt. Um diese Einschränkung aufzuheben, kontaktiere uns bitte unter info@olostep.com oder erreiche uns auf Slack.

Installation

Starte einen Batch

Stelle ein Array von items mit einem custom_id und url bereit. Dies sind die URLs, die im Batch verarbeitet werden, custom_id ist ein interner eindeutiger Bezeichner für die URL. Optional kannst du parser oder country übergeben. Über den parser-Parameter kannst du den Parser angeben, der für den Batch verwendet werden soll, dieser gibt strukturiertes JSON von den Seiten zurück.
Da Olostep einen objektorientierten Ansatz verfolgt, erhältst du als Antwort ein batch-Objekt. Das batch-Objekt hat einige Eigenschaften wie id und status.

Batch-Status überprüfen

Poll bis status completed ist. Du kannst auch die Eigenschaft completed_urls überprüfen, um zu sehen, wie viele URLs verarbeitet wurden.

Inhalte abrufen

Verwende die retrieve_id von jedem Element mit /v1/retrieve, um html_content, markdown_content oder json_content abzurufen.

Elemente auflisten (mit Cursor paginieren)

GET /v1/batches/{id}/items gibt standardmäßig bis zu 10000 Elemente zurück (auch das Maximum). Wenn die Antwort einen cursor enthält, bleiben weitere Elemente — übergib diesen cursor bei der nächsten Anfrage, bis er nicht mehr vorhanden ist. Bevorzuge /v1/retrieve mit retrieve_id für Inhalte.

Antwortformat

Wenn du den bereitgestellten Beispielcode ausführst, erhältst du eine Antwort wie die folgende
Da wir den Parser übergeben haben, um das strukturierte JSON abzurufen und wir nur das drucken, enthält die Antwort:
  • json_content mit strukturierten Suchergebnissen einschließlich:
  • searchParameters: Informationen zur Suchanfrage
  • knowledgeGraph: Detaillierte Informationen zum Suchthema (falls verfügbar)
  • organic: Liste der Suchergebnisse mit Titel, Link, Position und Snippet
  • peopleAlsoAsk: Verwandte Fragen, die Benutzer häufig suchen
  • relatedSearches: Vorgeschlagene verwandte Suchanfragen
Wenn du nicht das strukturierte JSON, sondern einfach das Markdown oder HTML möchtest, kannst du diese über den Retrieve-Endpunkt abrufen.

Webhooks

Anstatt den Batch-Status abzufragen, kannst du eine webhook-URL übergeben, wenn du den Batch erstellst. Olostep sendet ein HTTP POST an diese URL, wenn der Batch abgeschlossen ist (alle Elemente abgeschlossen oder fehlgeschlagen). Dein Webhook-Endpunkt muss öffentlich erreichbar über http:// oder https:// sein. Er kann nicht auf localhost oder private IP-Adressen zeigen. Für die vollständige Payload-Form, das Wiederholungsverhalten und bewährte Praktiken (schnell mit 2xx antworten, mit der Ereignis-id deduplizieren), siehe Webhooks.
Parametername: Das kanonische Feld ist webhook. Zur Rückwärtskompatibilität wird webhook_url auch als Alias akzeptiert.
Für Batches enthält das Ereignis batch.completed die Batch-ID, den Status und die Anzahl der Elemente. Fehlgeschlagene Zustellungen werden automatisch erneut versucht (bis zu 5 Versuche über etwa 30 Minuten mit exponentiellem Backoff). Dein Handler muss innerhalb von 30 Sekunden pro Versuch einen 2xx-Status zurückgeben.

Metadaten

Füge benutzerdefinierte String-Schlüssel-Wert-Metadaten zu Batches hinzu, um Jobs mit deinen eigenen Systemen zu verfolgen, zu filtern und zu korrelieren (Bestell-IDs, Projektnamen, Pipeline-Phase usw.). Metadaten folgen denselben Regeln wie in unserer Metadaten-Referenz. Du kannst Metadaten auf zwei Ebenen beim Erstellen eines Batches festlegen:
  • Batch-Ebene — metadata im Anforderungskörper (gilt für den gesamten Batch)
  • Element-Ebene — metadata auf jedem Objekt im items-Array (pro URL)
Metadaten werden bei nachfolgenden GET-Antworten für diesen Batch zurückgegeben. Du kannst die Batch-Metadaten später mit Batch aktualisieren (PATCH) zusammenführen und aktualisieren; siehe den Metadaten-Leitfaden für das Hinzufügen, Überschreiben und Löschen von Verhalten.
Typumwandlung: Zahlen und Booleans werden in Strings konvertiert (zum Beispiel 42 → "42", true → "true"). Verschachtelte Objekte und Arrays werden abgelehnt.
Für vollständige Beispiele und PATCH-Semantik siehe Metadaten.

Wichtige Hinweise

Wenn du strukturiertes JSON möchtest, musst du den spezifischen Parser an die API übergeben, bevor du die Anfragen stellst. Zum Beispiel, wenn du das JSON von Google Search erhalten möchtest, übergibst du diesen Parser "parser": {"id": "@olostep/google-search"} Du kannst deine eigenen Parser erstellen, um die Daten zu erhalten, die du von jeder Seite möchtest. Kontaktiere info@olostep.com, um mehr zu erfahren.

Fazit

Der Batch-Endpunkt ist nützlich, wenn du Daten von vielen URLs in kurzer Zeit abrufen musst. Du musst bereits die Liste der URLs haben, von denen du die Daten abrufen möchtest. Häufige Anwendungen können sein:
  • Preisüberwachungsdienste, die mehrere E-Commerce-Websites auf Preisänderungen bei Produkten überwachen
  • Website-Überwachungstools, die auf Inhaltsaktualisierungen auf zahlreichen Seiten prüfen
  • Datenaggregation für Konzertveranstalter, die Ticketverfügbarkeit über mehrere Veranstaltungsorte hinweg verfolgen
  • Suchmaschinen, die Inhalte von vielen Websites gleichzeitig sammeln und indexieren
  • Nachrichtenaggregatoren, die Artikel aus verschiedenen Publikationen sammeln
  • Immobilienplattformen, die Immobilienanzeigen auf mehreren Websites überwachen
  • Jobbörsen, die Stellenangebote von Unternehmenskarriereseiten aggregieren
  • Finanzdatenservices, die Aktienkurse und Marktinformationen verfolgen
  • Social-Media-Überwachungstools, die Erwähnungen auf verschiedenen Plattformen analysieren
  • Akademische Forschung, die Daten von mehreren Quellen zur Analyse sammelt
Es ist besser, den Batch-Endpunkt zu verwenden, wenn du Inhalte von 100 bis 100k URLs gleichzeitig abrufen möchtest. Wenn du weniger als 50 URLs gleichzeitig scrapen musst, empfehlen wir die Verwendung des Scrape-Endpunkts und das parallele Einreichen der URLs, da dies schneller ist als der Batch-Endpunkt.

Preisgestaltung

Batch kostet 1 Kredit pro URL.