API reference
Search Free Bundle
POST /search/free/bundle · Search
POSThttps://api.clawifi.dev/search/free/bundle
- 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: see Pricing and credits.
Request#
curl -X POST https://api.clawifi.dev/search/free/bundle \
-H "Authorization: Bearer $CLAWIFI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"what is the Model Context Protocol"}'
from clawifi import Clawifi
client = Clawifi() # reads CLAWIFI_API_KEY
result = client.post("/search/free/bundle", json={"query":"what is the Model Context Protocol"})
Body
| Field | Type | Default | Required |
|---|---|---|---|
allow_browser_fallback | boolean | false | no |
browser_profile | string (optional) | no | |
export_dataset | EvidenceDatasetExportOptions (optional) | no | |
fetch | boolean | true | no |
formats | array of string (one of 10 values; see Sources) | no | |
max_items_to_fetch | integer | 3 | no |
max_query_variants | integer | 3 | no |
max_results | integer | 10 | no |
mode | "auto" | "http" | "browser" | "auto" | no |
provider | string (one of 15 values; see Sources) | "free_auto" | no |
query | string | yes | |
query_expansion | boolean | true | no |
skip_archive | boolean | true | no |
timeout_seconds | integer (optional) | no | |
wait_until | "commit" | "domcontentloaded" | "load" | "networkidle" | "domcontentloaded" | no |
Response#
200 with a SearchFreeBundleResponse object: browser_fallback_allowed, bundled_count, dataset_export, errors, fetched_count, items, paid_providers_used, provider, providers_tried, query, query_variants, result_count, searched_count, 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