Cloud Storage
Speichern Sie gecrawlte Seiten in Crawlbases verwaltetem Storage. Rufen Sie sie später per URL oder RID ab. Ohne Datenbank, ohne S3-Bucket, ohne Cron-Job, der beides verbindet.
Endpoint
# 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: a1B2c3D4e5F6Seiten 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
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.
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 }'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.
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 }
]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.
curl -X DELETE 'https://api.crawlbase.com/storage?token=YOUR_TOKEN&rid=RID'Drei Response-Formen:
| Ergebnis | Body |
|---|---|
| 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).
# 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…'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=true nicht bei Folgeaufrufen — nur beim ersten Aufruf.{
"rids": ["RID1", "RID2", "RID3", "..."],
"scroll_id": "dXVlcnlUaGVuRmV0Y2g7NTs1NDpDV…"
}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.
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=trueerneut gecrawlt, ersetzt die neue Version die alte.
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.

