A single page, a site corpus and an authenticated workflow are different jobs. Forcing them through the same long-lived browser makes the integration harder to operate.
Start from scope and state.
| Need | Primitive | Why |
|---|---|---|
| One known URL | /v1/scrape | One bounded render and extraction result. |
| Many pages on one origin | /v1/crawl | Depth, page and path limits stay explicit. |
| Clicks or form input | /v1/browse | Actions are ordered, metered and observable. |
| Login state across calls | /v1/sessions | The encrypted cookie jar stays server-side. |
| Discover relevant sources | /v1/search | Query web, news or images before extraction. |
Keep each request bounded.
Create an API key or create an account before running the example. Replace your_api_key with the secret shown at creation.
export CRAWLVOLT_API_KEY="your_api_key"
curl https://www.crawlvolt.com/v1/crawl \
-H "Authorization: Bearer $CRAWLVOLT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.crawlvolt.com/docs/quickstart",
"max_pages": 5,
"max_depth": 1,
"include_paths": ["/docs/**"],
"formats": ["markdown"]
}'For a downloadable collection script, follow the documentation collection guide. See Crawl, Map and Search for request limits, and sessions for retained browser state.
The crawl stays on the exact origin, skips binary assets and applies include filters before excludes. Successful pages use the same output model and shared credit wallet as scrape.
Escalate capability only when the workflow needs it.
Scrape before crawl. Crawl before browse. Add a persistent session only when state must survive across requests.
This ordering minimizes browser time, narrows failure scope and makes retries easier to reason about.