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

Holen Sie bis zu 100 gespeicherte Seiten in einem einzigen Round-Trip per RID. Senden Sie einen JSON-Body per POST mit der Liste und (optional) weisen Sie den Server an, jeden Eintrag beim Zurückgeben zu löschen — nützlich für „Queue leeren"-Pipelines, die den Storage nicht warm halten 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 Response ist ein JSON-Array, ein Objekt pro zurückgegebener RID. Das body-Feld ist base64-kodiert und gzip-komprimiert — base64-decodieren und dann gzip-entpacken, um die Originalseite 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 sorgfältig, bevor Sie senden. 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 Inventaraufruf. Verwenden Sie für Datensätze, die größer als eine einzelne Response sind, Scroll-basierte Paginierung ( scroll=true initialisiert eine Scroll-Session und gibt eine scroll_id zurück, die Sie bei nachfolgenden Aufrufen wieder mitschicken).

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 von 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 Response. Spielen Sie es zurück, um den Scroll fortzusetzen. Ü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 Inaktivität gültig. 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 Zusatzkosten.
  • 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.