API reference
Fetch Url
POST /fetch · Read
POSThttps://api.clawifi.dev/fetch1 credit 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. - Hosted MCP tool:
fetch_urlonhttps://api.clawifi.dev/mcp. - Credits: 1 per call (search, plain fetch/scrape, article extract, package/dataset/code/archive/academic lookup, single OSINT lookup, social reads). Every price is on Pricing and credits.
Request#
curl -X POST https://api.clawifi.dev/fetch \
-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.fetch("https://example.com")
fetch_url(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