# Website screenshot API Render any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page title. Set fullPage=true to capture up to 4000 px of page height. Use for visual checks, page previews, monitoring and feeding pages to vision models. ## When an agent wants this - Capture a page as a JPEG after its JavaScript has run - Make page previews or monitor how a page looks - Feed a page to a vision model ## Website screenshot: capture a web page as an image Website screenshot: capture a web page as an image. $0.01 per successful call; failed calls are never charged. Render any public web page in a real headless Chrome browser, with JavaScript executed, and get a JPEG screenshot (1280 px wide, base64) plus the final URL, HTTP status and page title. Set fullPage=true to capture up to 4000 px of page height. Use for visual checks, page previews, monitoring and feeding pages to vision models. Inputs: url (required): Absolute http(s) URL of the page to capture; fullPage: Set to true to capture the full page height (max 4000 px) instead of the 1280x800 viewport. Not in the free calls (it costs us capacity per call); pay from the first call. With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/screenshot?url=https%3A%2F%2Fexample.com" curl "https://tools.funwords.eu/screenshot?url=https%3A%2F%2Fexample.com&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is screenshot. Example result: { "url": "https://example.com/", "finalUrl": "https://example.com/", "status": 200, "title": "Example Domain", "width": 1280, "height": 800, "contentType": "image/jpeg", "imageBase64": "/9j/4AAQSkZJRgABAQAAAQABAAD..." } Tool page: https://tools.funwords.eu/tools/screenshot ## Web page to Markdown, rendered: a JavaScript-rendered page as text or Markdown Web page to Markdown, rendered: a JavaScript-rendered page as text or Markdown. $0.01 per successful call; failed calls are never charged. Same output as /extract, but the page is first rendered in a real browser, so single-page apps and pages that build their content with JavaScript come back with their text instead of an empty shell. Waits for the network to settle (up to 15 seconds). Public pages only; no login. Use when /extract returns EXTRACTION_EMPTY or too little text for a page you can read in a browser. Inputs: url (required): Absolute public http(s) URL of the page; format: text (default), markdown or both; maxChars: Output limit, 500-100000 characters (default 20000); section: Optional exact HTML id to read only that element. Not in the free calls (it costs us capacity per call); pay from the first call. With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/extract/rendered?url=https%3A%2F%2Fexample.com%2F" curl "https://tools.funwords.eu/extract/rendered?url=https%3A%2F%2Fexample.com%2F&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is extract_rendered. Example result: { "url": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html", "finalUrl": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html", "status": 200, "contentType": "text/html;charset=utf-8", "sourceFormat": "html", "linkBaseUrl": "https://agent-data-tools.revmesh2074.workers.dev/examples/extract/sources/short-article.html", "sourceMetadata": { "verification": "not_verified", "authors": [], "dates": [], "truncated": false }, "title": "Owned sample: short article", "description": null, "lang": "en", "canonical": null, "headings": [ { "level": 1, "text": "A short release note", "id": null } ], "section": null, "links": [], "tables": [], "codeBlocks": [], "contentSelection": "main", "warnings": [], "format": "both", "text": "A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.", "markdown": "# A short release note\n\nVersion 1.1.1 preserves literal code whitespace and nested list structure.\n\nThe price remains $0.002 per successful extraction. This is an owned sample, not a purchase receipt.", "textLength": 198, "truncated": false, "contentHash": "sha256:6cd3137dc4735c9ab317c764c78b47712dc9ca8eabe435dd0db9142bdaacbe2c", "hashFormat": "text", "fetchedAt": "20 … Tool page: https://tools.funwords.eu/tools/extract-rendered ## Questions Docs for agents: https://tools.funwords.eu/llms.txt · OpenAPI: https://tools.funwords.eu/openapi.json · All guides: https://tools.funwords.eu/guides