URL Extract
extractRead one or more web pages by URL and return clean, LLM-ready markdown or text, handling hard sites with advanced mode.
Instructions
Read one or more web pages by URL and return clean, LLM-ready content (markdown or text). By default (no query) it returns each page's full content — this is what you want in almost all cases. Only pass query when the user explicitly asks to fetch relevance-ranked snippets for a specific topic; doing so returns highlights INSTEAD of the full body, so the content will be partial. Every result also includes a category (topical) and page_structure (typology) classification. Bare hosts like 'octen.ai' are auto-normalized to https. Cached when fresh.
Pick mode by how hard the URLs are: ordinary sites → standard (or omit), known hard sites → advanced, mixed/unsure → auto. If a standard result failed or came back empty/skeletal, retry just those URLs with mode "advanced".
Use this when you already have the URL(s). To find pages first, use search or broad_search.
keywords: read page, fetch url, scrape, page content, article text, parse webpage, extract, read article, url content, open link
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Extraction mode; omitted means standard. standard: fastest, cheapest; right for news, blogs, docs, product and static pages. On login-walled, JS-heavy or anti-bot sites it may return empty or skeletal content yet still report success. advanced: highest success rate (real browser, stronger anti-bot), slower, 2.5x price; for anti-bot/WAF sites, JS-heavy SPAs, social (Reddit, X, LinkedIn), academic (ResearchGate), dynamically loaded content. auto: picks per URL, escalating to advanced only where needed, billed per mode used; for mixed batches. With advanced/auto, raise `timeout` (e.g. 60). Each result's resolved_mode is the mode actually used. | |
| urls | Yes | URLs to extract. 1-20 per call, each ≤2048 chars. Bare hosts ok. | |
| query | No | Optional — leave UNSET in the normal case. When unset, each result returns the page's `full_content` (the complete text). Only set this when the user explicitly wants relevance-ranked snippets for a specific query/topic: setting it makes each result return `highlights` (ranked excerpts) and OMIT `full_content`, so the page body will be incomplete. Do not pass it just to focus a normal fetch. | |
| format | No | Output format. Default markdown. | markdown |
| timeout | No | Per-URL timeout in seconds (1-60). | |
| include_audio | No | Return audio URLs found on each page. | |
| include_links | No | Return links found on each page — to discover a site's pages or follow outbound references. `{}` uses the defaults. Each link carries is_external. | |
| include_images | No | Return image resources found on each page (also enables `cover_image` when the page has one). | |
| include_videos | No | Return video URLs found on each page. | |
| max_age_seconds | No | Maximum age of cached content in seconds. Default 24h. Lower this for time-sensitive pages (news / prices). |