catalyst-labs/agent-web-reader
catalyst-labs--agent-web-readerThis tool calls the Actor "catalyst-labs/agent-web-reader" and retrieves its output results. Actor description: Tested Oct 25, 2026 on 192 live URLs: 0.92 s median per page vs 3.2 s Jina Reader, best main-text F1 (0.61 vs 0.52); search top result on-topic 85% vs 75% rag-web-browser. Headless-browser fallback for JS pages. $0.002/page, failures free.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "catalyst-labs--agent-web-reader"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Pages or PDF links to read directly (max 50 per call). Can be combined with `query`. Each URL returns exactly one row; failures come back as rows with `outcome` + `errorCode`, never as a crashed call. | |
| query | No | Web search query (Bing, then DuckDuckGo, then Google). The top `maxResults` results are opened and returned as markdown rows. If no search engine answers you get one row with outcome `search_blocked` (retry), if they answer with nothing `no_results`; neither is charged. Leave empty if you only pass `urls`. Example values: "apify mcp server pricing" | |
| country | No | Optional 2-letter country code for localized search results, e.g. `us`, `gb`, `de`. | |
| fullPage | No | Return the whole page body instead of the extracted main article. Use for list/index pages. | |
| renderJs | No | `auto` (default) retries a page in a headless browser only when the plain HTTP fetch returned no readable text, a bot check, or 403/429/503. Same $0.002 page price, charged only on success. `never` is fastest; `always` renders every HTML page. Example values: "auto" | auto |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| chunkSize | No | For RAG/citations: also return `chunks` split on heading/paragraph boundaries, each with exact `tokens`, `charStart`/`charEnd` offsets into `markdown` and its `headingPath`. 0 = off (default). Same price. | |
| maxResults | No | How many search results to open (1-10). Default 3. Example values: 3 | |
| outputMode | No | `markdown` returns the main content; `summary` returns a short lead + outline to triage many pages cheaply in tokens. Same price. Example values: "markdown" | markdown |
| maxPdfPages | No | Read at most this many pages of each PDF. Default 50. Example values: 50 | |
| referrer_id | No | Referral code from another user's receipt (ref_...). They earn 10% of this run's price as credit. | |
| timeoutSecs | No | Give up on a URL after this many seconds and return an error row for it (not charged). Default 15. Example values: 15 | |
| chunkOverlap | No | Characters repeated between consecutive chunks (starts on a word boundary). Default 200. Example values: 200 | |
| includeLinks | No | Keep `[text](url)` links in the markdown. Off by default to save tokens. | |
| buyerPublicKey | No | Base64 Ed25519 public key (SPKI). Lets you sign a useful/not useful verdict on this run's receipt for 5% off your next run. | |
| renderBudgetSecs | No | Total time the browser fallback may spend in one call. Pages left when it runs out keep their original error row (not charged). Raise it for big batches of JavaScript-heavy URLs. Example values: 45 | |
| maxCharsPerResult | No | Budget per result: markdown is cut at a paragraph boundary to this many characters. Default 6000 (about 1,600 tokens; each row reports exact `tokens`). `totalChars` and `truncated` show what was cut. Example values: 6000 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tip | No | Advisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key | |
| runId | Yes | Actor run ID | |
| stats | No | Run statistics | |
| status | Yes | Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED | |
| actorId | Yes | Stable Apify Actor ID from the run record | |
| summary | Yes | Past-tense summary of the run state | |
| exitCode | No | Actor process exit code; populated for terminal states (especially FAILED) | |
| nextStep | Yes | One primary follow-up action with identifiers interpolated | |
| storages | Yes | Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry. | |
| actorName | No | "username/actor-name" | |
| startedAt | No | ISO timestamp when the run started | |
| finishedAt | No | ISO timestamp when the run finished (terminal states only) | |
| statusMessage | No | Pass-through from Apify run.statusMessage | |
| apifyConsoleUrl | No | Personalized Apify Console link to the run; present only for Console sessions |