CrawlVolt Browser API

Persistent sessions

Reuse browser state across CrawlVolt requests and manage session lifetime and limits.

Persistent sessions let an agent reuse browser cookies across separate scrape and browse calls without receiving the cookie values itself.

Create a session

curl --request POST https://www.crawlvolt.com/v1/sessions \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{ "ttl_seconds": 3600 }'
{
  "id": "ses_01f4...",
  "status": "active",
  "created_at": "2026-08-02T11:30:00Z",
  "updated_at": "2026-08-02T11:30:00Z",
  "expires_at": "2026-08-02T12:30:00Z",
  "cookie_count": 0
}

Session lifetimes range from 5 minutes to 24 hours. Each account and project can keep up to 20 active sessions.

Reuse browser state

Pass the id to either product route. A successful call updates the reusable browser state associated with that session.

curl --request POST https://www.crawlvolt.com/v1/browse \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "url": "https://app.example.com/login",
    "session_id": "ses_01f4...",
    "actions": [
      { "action": "fill", "selector": "input[name=email]", "value": "agent@example.com" },
      { "action": "fill", "selector": "input[name=password]", "value": "..." },
      { "action": "click", "selector": "button[type=submit]" },
      { "action": "wait", "selector": "main[data-authenticated=true]" }
    ],
    "formats": ["markdown"]
  }'

The response contains session metadata but never cookie values. Session management is not billable; Scrape and Browse calls using a session consume the normal shared credit quota.

Inspect or revoke

curl https://www.crawlvolt.com/v1/sessions/ses_01f4... \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY"
curl --request DELETE https://www.crawlvolt.com/v1/sessions/ses_01f4... \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY"

Revocation is immediate. Expired and revoked sessions return 404, including when the id belongs to another account or project.

Concurrency

Use one in-flight request per session. Concurrent writes are rejected with 409 session_conflict instead of silently overwriting newer browser state.

On this page