{"uid":"cap_RVoeQKLOKQVgeXIW5u2od","slug":"x402-headless-browser-render-markdown-screenshot-pdf-6d02d1af","name":"x402 Headless Browser Render (Markdown / Screenshot / PDF)","description":"Renders a public web page in a real headless browser (JavaScript runs, redirects followed) and returns it as clean markdown, a PNG screenshot or a PDF. One call, one payment, no account. A render that fails is not charged.","url":"https://x402-paywall.huntercarver24.workers.dev/render?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page to render. Private, local and cloud-metadata addresses are refused."},"width":{"type":"integer","default":1280,"maximum":1920,"minimum":320,"description":"Viewport width in px."},"format":{"enum":["markdown","screenshot","pdf"],"type":"string","default":"markdown"},"height":{"type":"integer","default":800,"maximum":1920,"minimum":320,"description":"Viewport height in px."},"encoding":{"enum":["binary","base64"],"type":"string","default":"binary","description":"screenshot/pdf: raw bytes (image/png or application/pdf) with metadata in X-Render-* headers, or a JSON envelope carrying base64."},"fullPage":{"type":"boolean","default":false,"description":"screenshot: capture the whole page, up to 8000px tall."},"selector":{"type":"string","maxLength":256,"description":"CSS selector. markdown: convert only that element. screenshot: capture only that element."},"pdfFormat":{"enum":["A4","Letter"],"type":"string","default":"A4"},"timeoutMs":{"type":"integer","default":15000,"maximum":25000,"minimum":1000,"description":"Navigation timeout."},"waitUntil":{"enum":["load","domcontentloaded","networkidle0","networkidle2"],"type":"string","default":"networkidle2"},"waitForSelector":{"type":"string","maxLength":256,"description":"Wait until this CSS selector exists before capturing."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_wFsQm-aPNXoB_1fgiPn5Z","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Renders any public URL in a real headless browser with JavaScript execution and returns the result as clean markdown, a PNG screenshot, or a PDF — pay $0.01 USDC per successful render via x402.","exampleAgentPrompt":"Can you render https://example.com/dashboard as a full-page PNG screenshot at 1280x800 viewport and give me the image?","exampleUseCases":[{"title":"Extract text from JS-rendered article","prompt":"Go to https://techcrunch.com/2025/01/15/some-article and render it as clean markdown so I can read the full article text — the page uses JavaScript so a plain HTTP fetch won't work."},{"title":"Capture product page screenshot","prompt":"Take a full-page PNG screenshot of https://shop.example.com/products/sneakers at 1440px wide so I can see how the product listing looks right now."},{"title":"Archive webpage as PDF","prompt":"Convert https://docs.example.com/release-notes/v3 to a PDF in A4 format and wait until the page is fully loaded before capturing it."}],"resultDescription":"Depending on the requested format: (1) markdown — plain text markdown of the page or selected element; (2) screenshot — raw PNG bytes (binary) or a base64 JSON envelope, with render metadata in X-Render-* response headers; (3) pdf — raw PDF bytes or base64 JSON, A4 or Letter. Failed renders are not charged.","failureModes":["Private, localhost, or cloud-metadata URLs are refused with an error (not charged)","Navigation timeout exceeded (timeoutMs) returns an error, not charged","Requested CSS selector not found on page returns an error","URL is unreachable or returns non-200 causes a render failure (not charged)","Viewport dimensions outside allowed range (320–1920) cause a validation error"],"whenToPreferThis":"Choose this endpoint when the target page requires JavaScript execution, client-side rendering, or redirects that a plain HTTP GET cannot handle. It is ideal for single-page apps, paywalled dynamic content, or any scenario where you need a pixel-accurate screenshot or a PDF snapshot. Prefer it over static HTML fetchers when DOM-dependent content must be fully loaded before extraction, or when you need the output in multiple formats (markdown, image, PDF) without managing browser infrastructure yourself.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:37:57.256Z","isFirstParty":false,"canonicalSlug":"x402-headless-browser-render-markdown-screenshot-pdf-6d02d1af"}