API reference
Browse Url
POST /browse · Browse
POSThttps://api.clawifi.dev/browse3 credits per call
- Send your key as
Authorization: Bearer $CLAWIFI_API_KEY; see Authentication. - Add
"dry_run": true(or?dry_run=true) to see what the call would cost; nothing runs and nothing is charged. - Credits: 3 per call (browser render, or a fetch/scrape that escalates to the browser; a Reddit thread the browser could not open and the Wayback Machine copy answered counts as rendered (the renders ran), while a page reached in the archive without a render costs the base call). Every price is on Pricing and credits.
Request#
curl -X POST https://api.clawifi.dev/browse \
-H "Authorization: Bearer $CLAWIFI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
from clawifi import Clawifi
client = Clawifi() # reads CLAWIFI_API_KEY
result = client.post("/browse", json={"url":"https://example.com"})
Body
| Field | Type | Default | Required |
|---|---|---|---|
browser_profile | string (optional) | no | |
exclude_tags | array of string | no | |
force_browser | boolean | false | no |
max_pages | integer | 50 | no |
proxy_config | string or object (optional) | no | |
query | string (optional) | no | |
requires_auth | boolean | false | no |
return_raw_html | boolean | false | no |
screenshot | boolean (optional) | no | |
skip_archive | boolean | false | no |
source | SourceId (optional) | no | |
target_selector | string (optional) | no | |
timeout_seconds | integer (optional) | no | |
top_k | integer | 5 | no |
url | string | yes | |
wait_for_selector | string (optional) | no | |
wait_until | "commit" | "domcontentloaded" | "load" | "networkidle" | "domcontentloaded" | no |
Response#
200 with a FetchEnvelope object: cache_hit, data, diagnostics, entity_type, errors, mode_used, source, success.
Errors use the shared shape; see Errors. Try public operations without a key in the playground.
Was this page helpful? Tell us · Last updated 2026-10-22