{"uid":"cap_2h_SvYI3rzQyDmIE8SxSZ","slug":"horizon-pulse-screenshot-fe6c139c","name":"Horizon Pulse Screenshot","description":"Pay-per-call APIs for AI agents via x402 on Base: web fetch, HTTP proxy, page extract, and crypto market data.","url":"https://horizonpulse.dev/api/screenshot?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Absolute http(s) URL to render (required). Private/localhost blocked."},"width":{"type":"string","description":"Viewport width 320-1920 (default 1280)."},"format":{"type":"string","description":"png (default) or jpeg."},"height":{"type":"string","description":"Viewport height 240-2000 (default 800)."},"delayMs":{"type":"string","description":"Extra wait after load, 0-3000 ms."},"fullPage":{"type":"string","description":"true to capture the full page (clipped at 4000px)."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","description":"Horizon Pulse screenshot result (image as base64, truncated in the example). The example is a trimmed real response recorded from GET /api/demo/screenshot at 2026-10-01T14:36Z UTC; live values differ on every call."}}}}},"responseSchema":{"type":"json","example":{"ok":true,"bytes":133636,"title":"Horizon Pulse","width":1280,"height":800,"finalUrl":"https://horizonpulse.dev/","fullPage":false,"mimeType":"image/png","elapsedMs":5818,"pageStatus":200,"imageBase64":"iVBORw0KGgoAAAAN…","requestedUrl":"https://horizonpulse.dev","blockedRequests":0}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","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.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Y6f6tQPLDxtZWWC38VkGi","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Renders a public URL in headless Chromium and returns a PNG or JPEG screenshot as base64 JSON, along with the final URL, page status, and title","exampleAgentPrompt":"Can you take a full-page PNG screenshot of https://example.com at 1280x800 viewport and give me the image?","exampleUseCases":[{"title":"Visual audit of competitor landing page","prompt":"Grab a full-page screenshot of https://competitor.com at 1440 pixels wide so I can see exactly how their homepage looks right now."},{"title":"Thumbnail preview for link sharing","prompt":"Take a JPEG screenshot of https://myblog.com/new-post at the default 1280x800 size so I can use it as a preview thumbnail."},{"title":"Verify deployed site appearance","prompt":"Can you screenshot https://staging.myapp.io with a 375px wide viewport to check how it looks on mobile, and wait an extra 1000ms after it loads?"}],"resultDescription":"Returns a JSON object containing the screenshot as a base64-encoded image string (PNG or JPEG), the final resolved URL after any redirects, the HTTP status code of the page, and the page title. The image represents the rendered viewport or full page up to 4000px.","failureModes":["Private/localhost URLs blocked (SSRF protection) — returns error indicating URL is not allowed","URL is unreachable or times out — returns error with page status","Invalid viewport dimensions outside 320-1920 width or 240-2000 height — request rejected","delayMs exceeding 3000ms rejected","Invalid format value (not png or jpeg) — request rejected","Payment not provided — returns HTTP 402 payment required"],"whenToPreferThis":"Use this endpoint when you need a rendered visual snapshot of a public webpage, including JavaScript-rendered content, rather than raw HTML. Prefer it over simple HTTP fetch endpoints when you need to see what a page actually looks like visually, need the final URL after redirects, or require a consistent pixel-perfect capture with configurable viewport and full-page options.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-01T06:30:03.973Z","isFirstParty":false,"canonicalSlug":"horizon-pulse-screenshot-fe6c139c"}