Skip to main content
Glama

Scrape URL

scrape_url_stealth
Read-onlyIdempotent

Fetch web pages and return clean Markdown, even when sites use JavaScript or bot protection, with optional question-focused passages and pagination.

Instructions

Fetch a web page and return its main content as clean Markdown.

Pass query to get only the passages that answer a question. Handles JavaScript-rendered and bot-protected pages by falling back to a real Chrome browser. Results are cached; long pages are paginated with offset/next_offset.

Input Schema

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL to fetch
proxyNoauto (default) retries through the residential proxy only when blocked, since proxy bandwidth is paid. never avoids it; always skips the direct attemptauto
queryNoQuestion or keywords; returns only the most relevant passages instead of the whole page. Strongly recommended for long pages.
top_kNoWith query: number of passages to return
offsetNoCharacter offset to start from; use next_offset from a previous call
scrollNoBrowser only: scroll down to trigger lazy-loaded content
max_charsNoMaximum characters of content to return (about 4 chars per token)
render_jsNoauto (default) uses a headless browser only when the fast fetch is blocked or nearly emptyauto
css_selectorNoOnly return elements matching this CSS selector, e.g. 'article' or '#pricing table'
include_linksNoKeep hyperlinks in markdown output; false saves tokens
output_formatNomarkdown (default): main content; text: plain text; html: cleaned HTML; links: every link on the pagemarkdown
max_age_secondsNoAccept a cached copy up to this old. 0 always fetches fresh; -1 uses only the cache. Default: server setting (1 hour).
response_formatNoconcise (default) omits fetch diagnostics and page metadata; detailed includes themconcise
wait_for_selectorNoBrowser only: wait until this CSS selector appears before reading the page
impersonate_browserNoTLS fingerprint to present first; others are tried on retrychrome

Output Schema

NameRequiredDescriptionDefault
hintNoHow to narrow or continue the request, when relevant
cacheYesWhether the page came from the local cache
titleNoPage title, when detected
engineNoFingerprint or browser that served the page
contentYesThe requested window of extracted content
cost_usdNoAmount charged for this call; failures are free
metadataNoDescription, author, site name, date and language
final_urlYesURL after redirects
escalationNoWhich cheaper tiers were tried first and why they failed
est_tokensYesApproximate tokens in content (chars / 4)
next_offsetNoPass as offset to read more; null when nothing remains
proxy_bytesNoResidential proxy bandwidth used by this fetch
status_codeYesHTTP status code of the final page
total_charsYesLength of the full (or query-filtered) content
content_hashNoSHA-256 of the full extracted content
fetch_methodNoFast HTTP client or headless browser
passages_matchedNoNumber of passages kept by query
cache_age_secondsNoAge of the fetch this result was built from
credits_remaining_usdNoBalance left on this API key

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld, so the bar is lower. The description still adds genuine behavioral context beyond them: automatic fallback to a real Chrome browser for JS/bot-protected pages, caching of results, and pagination semantics. It omits cost/rate implications of proxy usage, which the schema covers instead.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each front-loaded with a distinct fact (core behavior, query mode, JS fallback, caching/pagination). No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter tool with a full schema and an output schema, the description covers the essential mechanics an agent needs: what it returns, how to narrow results, JS fallback, and pagination. Remaining details (proxy cost, output formats, cache age) are handled by the schema descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 15 parameters are already well documented, setting the baseline at 3. The description highlights query and offset/next_offset meaningfully, but largely restates what the schema already explains.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetch a web page and return its main content as clean Markdown'), plus the key transformation (main content extraction to Markdown). No siblings exist to differentiate from, and the scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear conditional guidance: pass query to get answer passages, use offset/next_offset for long pages, and notes caching. It does not explicitly say when not to use it, but with no sibling tools that exclusion is largely moot.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools