{"uid":"cap_I4UX_Z-jGvFle2PBtvEPY","slug":"full-page-screenshot-capture-api-0e6cf378","name":"Full-Page Screenshot Capture API","description":"Capture a full-page (scrolled) PNG screenshot of an http(s) URL; returns a JSON envelope with the PNG base64-encoded under image_base64, plus final_url, title, viewport, and size.","url":"https://screenshot-api-production-fe7e.up.railway.app/capture/fullpage","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","description":"The http(s) URL to capture, e.g. 'https://example.com'. Internal/loopback hosts are rejected."},"width":{"type":"integer","description":"Viewport width in pixels (320-3840). Defaults to 1280. Height auto-extends to the full page."},"wait_until":{"type":"string","description":"Playwright load state to wait for before capture: 'load', 'domcontentloaded', 'networkidle', or 'commit'. Defaults to 'networkidle'."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_xMXK7BfSugvZZrt2Hmy9g","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Captures a full-page (scrolled) PNG screenshot of any public HTTP/HTTPS URL and returns it base64-encoded in a JSON envelope with metadata.","exampleAgentPrompt":"Take a full-page screenshot of https://stripe.com/pricing — capture the entire scrollable page at 1440px wide, waiting until the network is idle, and give me the PNG as base64.","exampleUseCases":[{"title":"Visual QA of a landing page","prompt":"Grab a full-page screenshot of https://mycompany.com/landing-v2 at 1280px wide so I can visually review the entire page layout including everything below the fold."},{"title":"Website change monitoring snapshot","prompt":"Take a complete full-page screenshot of https://competitor.com/features — I want the whole scrollable page, not just the visible viewport — so I can compare it against last week's snapshot."},{"title":"Social preview card generation","prompt":"Capture a full-page PNG screenshot of https://docs.myproduct.io/getting-started at 1920px viewport width, waiting for networkidle, so I can create a preview image for our documentation index."}],"resultDescription":"A JSON object containing: image_base64 (the full-page PNG encoded as a base64 string), final_url (the resolved URL after any redirects), title (the page title), viewport (object with width and height), and size (byte size of the image).","failureModes":["Internal/loopback hostnames (e.g. localhost, 192.168.x.x) are rejected with an error","Invalid or unreachable URLs result in a capture failure","Pages that never reach the requested wait_until state (e.g. networkidle never fires) may time out","Viewport width outside the 320–3840 range may be rejected or clamped","Non-HTTP/HTTPS schemes are rejected","Very long pages may produce extremely large base64 payloads"],"whenToPreferThis":"Choose this endpoint when you need the full scrolled content of a webpage captured as a single PNG — not just the visible viewport. Prefer it over the viewport-only screenshot endpoint when the target page has significant below-the-fold content (landing pages, documentation, product listings). Use it over the element-selector endpoint when you want the whole page rather than an isolated component, and over the PDF endpoint when you need an image format (PNG) rather than a printable document.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:30:32.020Z","isFirstParty":false}