Docs
Anmelden

Endpoint

GEThttps://api.crawlbase.com/storage
# Two operations: store (write) and retrieve (read).
# Storage is implicit - set store=true on a Crawling API call to write.
# Use this endpoint to read.

Seiten speichern

Sie rufen diesen Endpoint nicht zum Speichern auf. Fügen Sie stattdessen store=true zu einem beliebigen Crawling API-Aufruf hinzu. Die Seite wird automatisch gespeichert und Sie erhalten ein rid in der Response.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'store=true' -G

# Response includes rid: a1B2c3D4e5F6

Seiten abrufen

Per RID

curl 'https://api.crawlbase.com/storage?token=YOUR_TOKEN&rid=a1B2c3D4e5F6'
from crawlbase import StorageAPI

api = StorageAPI({'token': 'YOUR_TOKEN'})
res = api.get(rid='a1B2c3D4e5F6')
print(res['body'])
const { StorageAPI } = require('crawlbase');
const api = new StorageAPI({ token: 'YOUR_TOKEN' });

const res = await api.get({ rid: 'a1B2c3D4e5F6' });
console.log(res.body);

Per URL

Rufen Sie eine gespeicherte Seite über ihre ursprüngliche URL ab. Liefert die zuletzt gespeicherte Version.

curl 'https://api.crawlbase.com/storage?token=YOUR_TOKEN&url=https%3A%2F%2Fexample.com'

Parameter

token
stringerforderlich
Ihr Crawlbase token.
rid
stringeines von
Request-Identifikator, der beim Speichern der Seite zurückgegeben wurde.
url
stringeines von
Ursprüngliche URL. Liefert die zuletzt gespeicherte Version. URL-kodieren Sie sie.
format
html | jsonhtml
Response-Hülle. json verpackt body und Metadaten.

Bulk-Abruf

Rufen Sie bis zu 100 gespeicherte Seiten in einem Round-Trip per RID ab. POSTen Sie einen JSON-Body mit der Liste und weisen Sie den Server (optional) an, jeden Eintrag bei der Rückgabe zu löschen - nützlich für "Queue leeren"-Pipelines, die den Storage nicht warmhalten müssen.

POSThttps://api.crawlbase.com/storage/bulk
curl -X POST 'https://api.crawlbase.com/storage/bulk?token=YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{ "rids": ["RID1","RID2","RID3"], "auto_delete": true }'
rids
string[]erforderlich
Array von RIDs zum Abrufen. Maximal 100 pro Request - alles über 100 wird stillschweigend verworfen.
auto_delete
booleanfalse
Bei true wird jeder erfolgreich zurückgegebene Eintrag im selben Aufruf aus dem Storage gelöscht. Verwenden Sie dies, wenn Sie eine Queue mit Einmalergebnissen leeren und sie nicht aufbewahren müssen.

Die Antwort ist ein JSON-Array mit einem Objekt pro zurückgegebener RID. Das Feld body ist base64-kodiert und gzip-komprimiert - erst base64-dekodieren, dann gzip-entpacken, um die ursprüngliche Seite zu erhalten.

[
  {
    "stored_at": "2021-03-01T14:22:58+02:00",
    "original_status": 200,
    "pc_status": 200,
    "rid": "RID1",
    "url": "https://example.com/a",
    "body": "H4sIAAAA…"  // base64(gzip(html))
  },
  {
    "stored_at": "2021-03-01T14:30:51+02:00",
    "original_status": 200,
    "pc_status": 200,
    "rid": "RID2",
    "url": "https://example.com/b",
    "body": "H4sIAAAA…"
  }
]

Bulk-Löschen

Löschen Sie eine Liste von RIDs in einem Aufruf. Liefert einen Status pro RID, sodass Sie diejenigen erkennen können, die bereits weg waren oder fehlgeschlagen sind.

POSThttps://api.crawlbase.com/storage/bulk_delete
curl -X POST 'https://api.crawlbase.com/storage/bulk_delete?token=YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{ "rids": ["RID1","RID2","RID3"] }'

Die Response ist ein JSON-Array, ein Eintrag pro übermittelter RID. status: true bedeutet, der Eintrag wurde gelöscht; status: false mit result: "Not Found" bedeutet, die RID existierte nicht (bereits aufgeräumt, abgelaufen oder nie geschrieben).

[
  { "rid": "RID1", "result": "Deleted",   "status": true  },
  { "rid": "RID2", "result": "Not Found", "status": false },
  { "rid": "RID3", "result": "Failed",    "status": false }
]
Löschen ist unwiderruflich

Prüfen Sie die RID-Liste vor dem Senden doppelt. Es gibt kein Soft-Delete und kein Undo - wenn Sie einen wiederherstellbaren Workflow benötigen, rufen Sie zuerst mit auto_delete=false ab und rufen Sie /bulk_delete erst auf, nachdem Sie den Body lokal persistiert haben.

Eine einzelne Seite löschen

Entfernen Sie einen Eintrag per RID aus dem Storage. Verwenden Sie DELETE /storage mit der RID im Query-String.

DELETEhttps://api.crawlbase.com/storage
curl -X DELETE 'https://api.crawlbase.com/storage?token=YOUR_TOKEN&rid=RID'

Drei Response-Formen:

ErgebnisBody
Gefunden und gelöscht{"success": "The Storage item has been deleted successfully"}
Gefunden, aber Löschen fehlgeschlagen{"error": "The Storage item could not be deleted"}
Nicht im Storage{"error": "Not Found"}

RIDs auflisten

Blättern Sie durch die RIDs in Ihrem Storage-Bereich - der Inventar-Aufruf. Für Datensätze, die größer als eine einzelne Antwort sind, verwenden Sie Scroll-basierte Paginierung ( scroll=true initialisiert eine Scroll-Sitzung und gibt eine scroll_id zurück, die Sie bei nachfolgenden Aufrufen wiederverwenden).

GEThttps://api.crawlbase.com/storage/rids
# First page
curl 'https://api.crawlbase.com/storage/rids?token=YOUR_TOKEN&limit=100&scroll=true'

# Next page - replay the scroll_id from the previous response
curl 'https://api.crawlbase.com/storage/rids?token=YOUR_TOKEN&scroll_id=dXVlcnlUaGVuRmV0Y2g7…'
limit
integeroptional
Maximale Anzahl an RIDs, die pro Aufruf zurückgegeben werden. Obergrenze ist 10000. Kein Standardwert - setzen Sie diesen explizit.
scroll
booleanfalse
Bei true enthält die Response eine scroll_id, die Sie zurückspielen können, um die nächste Seite abzurufen. Ohne sie erhalten Sie nur die erste Seite.
scroll_id
stringoptional
Token aus einer vorherigen Antwort. Wiederverwenden, um im Scroll voranzukommen. Übergeben Sie scroll=true nicht bei Folgeaufrufen - nur beim ersten Aufruf.
scroll_order
asc | descdesc
RIDs nach Speicherzeitstempel ordnen. Standard ist neueste zuerst.
{
  "rids": ["RID1", "RID2", "RID3", "..."],
  "scroll_id": "dXVlcnlUaGVuRmV0Y2g7NTs1NDpDV…"
}
Scroll-Sessions laufen ab

Eine scroll_id ist etwa 15 Sekunden lang gültig bei Inaktivität. Wenn Sie "Scroll session has expired or is invalid" sehen, beginnen Sie mit einem frischen scroll=true-Request neu - der Cursor ist weg.

Gesamtanzahl

Eine einzelne Ganzzahl: wie viele Seiten sich aktuell in Ihrem Storage-Bereich befinden.

GEThttps://api.crawlbase.com/storage/total_count
curl 'https://api.crawlbase.com/storage/total_count?token=YOUR_TOKEN'

# Response
# { "totalCount": 5491078 }

Aufbewahrung & Preise

  • Gespeicherte Seiten werden standardmäßig 14 Tage aufbewahrt. In Enterprise-Plänen erweiterbar.
  • Jeder store=true-Aufruf zählt als ein einzelner Request - keine zusätzlichen Kosten.
  • Der Abruf (dieser Endpoint) ist kostenlos . Lesen Sie so oft Sie möchten.
  • Wird eine Seite mit store=true erneut gecrawlt, ersetzt die neue Version die alte.
Wo Storage glänzt

Audit-Trails („Was stand auf der Seite, als wir sie gecrawlt haben?"), Re-Processing-Pipelines (gespeichertes HTML neu parsen, wenn sich Ihre Scraper-Logik verbessert) und das Ausliefern gecachter Ergebnisse an Leser ohne erneutes Crawling.