{"openapi":"3.1.0","info":{"title":"Softbot Screenshot","version":"1.0.0","description":"Render any public web page in a real headless Chrome and return a PNG/JPEG screenshot (base64 JSON, or raw image with ?raw=1). Viewport up to 1920x1920, optional full-page capture up to 8000px tall, optional wait for late content. Use when an agent needs to see what a page actually looks like (visual check, JS-rendered content, layout/UI review, evidence capture, feeding a vision model) rather than its text. Paid per call via x402 (USDC on Solana). Invalid/private URLs (400), no-browser (503) and render failures (5XX) are not charged."},"servers":[{"url":"https://softbot-screenshot-mainnet.softbot.workers.dev"}],"paths":{"/v1/screenshot":{"post":{"summary":"Screenshot a web page","description":"Use when you need an image of how a page renders: visual verification, JS-heavy pages, UI review, or input for a vision model.","x-x402":{"price_usdc":0.01,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"},"parameters":[{"name":"raw","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"Return raw bytes instead of base64 JSON"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Public http(s) URL"},"width":{"type":"integer","minimum":320,"maximum":1920,"default":1280},"height":{"type":"integer","minimum":240,"maximum":1920,"default":800},"full_page":{"type":"boolean","default":false,"description":"Capture the full scroll height (capped at 8000px)"},"format":{"type":"string","enum":["png","jpeg"],"default":"png"},"wait_ms":{"type":"integer","minimum":0,"maximum":5000,"default":0}}}}}},"responses":{"200":{"description":"Rendered output","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":["integer","null"]},"title":{"type":"string"},"mime":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"},"bytes":{"type":"integer"},"truncated":{"type":"boolean"},"data_base64":{"type":"string"}}}}}},"400":{"description":"Invalid input or disallowed/private URL (not charged)"},"402":{"description":"Payment required (x402)"},"503":{"description":"No browser available; see Retry-After (not charged)"},"5XX":{"description":"Render failure (not charged)"}}}},"/v1/pdf":{"post":{"summary":"Render a web page to PDF","description":"Use when you need a printable or archivable PDF copy of a page.","x-x402":{"price_usdc":0.01,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"},"parameters":[{"name":"raw","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"Return raw bytes instead of base64 JSON"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Public http(s) URL"},"wait_ms":{"type":"integer","minimum":0,"maximum":5000,"default":0}}}}}},"responses":{"200":{"description":"Rendered output","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":["integer","null"]},"title":{"type":"string"},"mime":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"},"bytes":{"type":"integer"},"truncated":{"type":"boolean"},"data_base64":{"type":"string"}}}}}},"400":{"description":"Invalid input or disallowed/private URL (not charged)"},"402":{"description":"Payment required (x402)"},"503":{"description":"No browser available; see Retry-After (not charged)"},"5XX":{"description":"Render failure (not charged)"}}}},"/health":{"get":{"description":"Use when checking service availability. Free.","responses":{"200":{"description":"OK"}}}},"/.well-known/x402":{"get":{"description":"Use when discovering x402 payment terms. Free.","responses":{"200":{"description":"OK"}}}}}}