spicrawlspicrawlDocs
Sessions

Dump the session's cookies and storage

The only endpoint that returns credentials. Works only while the session is `active`.

Requires scope: sessions

GET
/v1/sessions/{sessionID}/context

The only endpoint that returns credentials. Works only while the session is active. The response is marked Cache-Control: no-store, private. Reading does not slide the TTL.

Pitfalls:

  • After release, delete, or TTL expiry the context is purged immediately and permanently. A released session answers 410 ERR::SESSION::RELEASED; an expired one 410 ERR::SESSION::EXPIRED. Do not retry a 410: create a new session and log in again.
  • Store this object yourself if you need it later. You can POST its session_context back to POST /v1/sessions to clone the session.
  • 500 ERR::SESSION::STATE_CORRUPT means the stored context cannot be opened (retired key, newer schema, corrupt blob). It will not recover; create a new session.

Authorization

bearerAuth
AuthorizationBearer <token>

Authorization: Bearer <key>. Read the key from the SPICRAWL_API_KEY environment variable; never hard-code or log it. spicrawl_test_… keys can never spend live credits. Scopes: scrape, batch, sessions (granted by default), browser and read (granted deliberately). A missing scope is 403 ERR::AUTH::INSUFFICIENT_SCOPE naming the scope.

In: header

Path Parameters

sessionID*string

Session id from POST /v1/sessions (26-character ULID; a UUID is also accepted). A malformed id answers 404 ERR::SESSION::NOT_FOUND, the same as an unknown one.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/v1/sessions/01J9ZQ4M7R3T8VX2K5N6P0B1CD/context"
{  "session_id": "01J9ZQ4M7R3T8VX2K5N6P0B1CD",  "schema_version": 1,  "session_context": {    "cookies": [      {        "name": "sid",        "value": "9f2c1e7a",        "domain": ".example.com",        "path": "/",        "expires": 1790000000,        "http_only": true,        "secure": true,        "same_site": "Lax"      }    ],    "local_storage": {      "https://app.example.com": {        "token": "eyJhbGciOi"      }    },    "session_storage": {},    "indexed_db": {}  },  "fingerprint": null,  "domain_scores": {    "example.com": {      "score": 0.5,      "good": 12,      "bad": 1,      "last_updated": 1790000500000,      "retired": false    }  },  "usage_count": 3,  "created_at": "2026-09-22T10:00:00Z",  "last_used_at": "2026-09-22T10:05:12Z",  "expires_at": "2026-09-22T12:05:12Z",  "warning": "This context only exists while the session is live. Releasing the session, deleting it, or letting its TTL elapse destroys it immediately and permanently — there is no recovery and no soft delete. If you need this state later, store this object yourself now."}