CrawlVolt Browser API

Quickstart

Create a CrawlVolt API key and turn a public page into Markdown with your first HTTP request.

CrawlVolt is the browser API for AI agents: a web access layer that opens modern pages, returns agent-ready content, and can perform controlled browser actions.

You do not need to operate Chromium, wait for JavaScript applications, or normalize page output in every agent.

1. Create a key

Create an account, open API keys, name your key and select Create key. Already registered? Sign in and continue to API keys. New keys include the scrape, browse, sessions, crawl and usage scopes. The full secret is displayed once.

Set CRAWLVOLT_API_KEY in your local terminal before running the examples:

export CRAWLVOLT_API_KEY="your_api_key"

For downloadable scripts with output checks, follow the Python guide or Node.js guide.

2. Fetch and extract a page

curl --request POST https://www.crawlvolt.com/v1/scrape \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "url": "https://example.com",
    "formats": ["markdown", "text", "metadata"]
  }'

The response keeps page outputs under outputs and operational data at the top level:

{
  "request_id": "req_01JWD8",
  "status": "completed",
  "final_url": "https://example.com/",
  "engine_used": "chromium",
  "outputs": {
    "markdown": "# Example Domain\n...",
    "text": "Example Domain ...",
    "metadata": { "title": "Example Domain" }
  },
  "billing": { "billable": true, "units": 1, "unit": "page" }
}

3. Interact before extraction

POST /v1/browse executes actions in order and then returns the same output model:

curl --request POST https://www.crawlvolt.com/v1/browse \
  --header "Authorization: Bearer $CRAWLVOLT_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "url": "https://example.com/search",
    "actions": [
      { "action": "fill", "selector": "input[name=q]", "value": "browser API" },
      { "action": "click", "selector": "button[type=submit]" },
      { "action": "wait", "selector": "main" }
    ],
    "formats": ["markdown", "screenshot"]
  }'

Use the returned request_id when reporting an operational failure.

On this page