Fetch and extract
POST /v1/scrape opens a page in the browser layer and returns only the representations requested by the caller. It is designed for JavaScript-heavy websites where a plain HTTP client often sees an empty application shell.
Output formats
| Format | Use it for |
|---|---|
markdown | Compact LLM context with document structure |
text | Readable text for retrieval and classification |
json | Stable page document with metadata, headings and links |
structured | Validated JSON from a field schema or named preset |
html | Rendered HTML inspection |
dom | Normalized DOM inspection |
metadata | Title, description, canonical URL and related metadata |
links | Extracted links |
screenshot | Visual state and multimodal agents |
pdf | Archival or paginated document workflows |
When formats is omitted, CrawlVolt returns Markdown.
The structured format requires an extract object. It can be combined with
Markdown, text, DOM or any other raw output; see Structured extraction.
curl --request POST https://www.crawlvolt.com/v1/scrape \
--header "Authorization: Bearer $CRAWLVOLT_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: agent-run-42-page-1" \
--data '{
"url": "https://example.com/report",
"formats": ["html", "markdown", "text", "screenshot", "pdf"],
"wait_until": "network_idle",
"timeout_secs": 45
}'screenshot returns base64 image bytes and pdf returns pdf_b64. Set max_output_bytes when an agent needs a lower response cap than the project default.
Requests with the same account and Idempotency-Key reuse the same usage reservation. Use a unique key for each logical operation.