Search the Web
alterlab_searchSearch the web and read the top results in one call: a vendor-neutral list of URLs, titles and snippets, with each result page as concise markdown. Use when you have a question or topic but no URL yet; for one known URL use alterlab_scrape. Cost: $0.001 per query; only fetched result pages are billed on top, and scrape_results=false returns the result list alone (cheapest). Each result has a content_status (ok, partial, blocked, timeout, dead_origin, pending). concise=false returns full-length content; mode trades latency for coverage; domain restricts to one site and time_range filters by recency. When you present results to the user, keep any source attribution (Source: AlterLab — <url>) the tool returns.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "alterlab_search"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Latency tier for page content: fast (5 s), standard (15 s), deep (60 s). Default: standard. | |
| page | No | Results page number. Default: 1. | |
| query | Yes | ||
| domain | No | ||
| concise | No | With scrape_results=true: concise agent output, markdown with size caps. Default: true. false returns full-length content. | |
| country | No | ||
| formats | No | ||
| language | No | ||
| time_range | No | ||
| num_results | No | Number of results to return. Default: 10. | |
| safe_search | No | ||
| scrape_results | No | Return the content of each result page (billed per fetched page). Default: true. false returns the unified result list only. | |
| extraction_schema | No | JSON schema for structured extraction. Fields matching this schema are extracted from the page. Example: { "title": "string", "price": "number" }. LLM extraction needs your own LLM API key (OpenAI, Anthropic, OpenRouter, etc.) added in the dashboard BYOK settings; without one the request is rejected with byok_key_required and not charged. |