explore
Retrieve text from web pages that block standard requests by launching a headless browser, bypassing anti-bot challenges, and returning extracted content with optional screenshots.
Instructions
USE THIS WHEN WebFetch/WebSearch/curl GOT BLOCKED — a 403, a Cloudflare/DataDome "Just a moment..." challenge, a login/paywall, or an empty "JavaScript is required" shell: don't report failure, use this — patchright clears most such walls cold. ONE-CALL 'look at this URL', TEXT-FIRST. Does verify_url → auto-start session if needed (headless) → go → extract text. It does NOT screenshot by default: read and navigate with the returned text/selectors, and a screenshot is captured only as a FALLBACK when the page yields no usable text (canvas/image/blank SPA). This is the 80% case of 'just show me what's on this page' — use it instead of separate start/go/text calls unless you need multi-step interaction. Pass screenshot='always' to force a screenshot, 'never' to suppress even the fallback; when one is captured it comes back as a viewable image, not base64 text. Without an explicit session it runs on an OFF-BUDGET transient ephemeral session (0.7.0) — it never competes with persistent sessions for a slot and is auto-deleted afterward, so it won't touch your 'default' session.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL — required. | |
| lease | No | Optional lease token to present if the target session is leased (0.7.0). Threaded per-call; never read from the server's env. | |
| intent | No | Optional natural-language description (reserved for future). | |
| session | No | Optional session name to target (omit for the shared 'default'). On a daemon shared with other agents, pass a UNIQUE name for stateful multi-step work (go→click→fill) so you don't collide on 'default'. | |
| full_page | No | Full-page vs viewport screenshot, when one is captured. | |
| keep_open | No | Leave session open for follow-up calls. | |
| screenshot | No | Screenshot policy. 'auto' (default): capture ONLY if the page returns no usable text (or is challenge/login walled). 'always' (or true): force a screenshot. 'never' (or false): suppress even the fallback. When captured it is returned as a viewable image block, not base64 text. | auto |
| skip_verify | No | Skip DNS pre-check (trusted URLs only). | |
| min_text_chars | No | Auto-mode fallback threshold: capture a screenshot if the page's extracted text is shorter than this. |