{"uid":"cap_cWbbo7fLZ7niB-ehVlIdC","slug":"skim-js-rendered-reader-822f38ad","name":"Skim JS-Rendered Reader","description":"Skim: JS-rendered reader — full browser render via Cloudflare for SPAs and JS-gated pages, clean markdown ~4x smaller than raw HTML","url":"https://skim402.com/api/v1/read/js?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":null,"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_zxzfTyTiJQNpDGI3HeMAT","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Renders a URL in a full headless browser (Cloudflare Workers) to capture SPA and JS-gated content, returning clean agent-ready markdown roughly 4x smaller than raw HTML","exampleAgentPrompt":"Can you fetch and read the content from https://example.com/dashboard — it's a React SPA so a normal fetch won't work, and give me the page as clean markdown?","exampleUseCases":[{"title":"Reading JS-gated documentation site","prompt":"Pull the full content from https://docs.someframework.io/getting-started — it's a JS-rendered docs site that returns a blank page on plain HTTP fetch, and give me the readable markdown so I can summarize it."},{"title":"Extracting article from Next.js news site","prompt":"Grab the article at https://techcrunch.com/2024/05/01/some-story and return it as clean markdown — the site is Next.js so it needs a real browser render."},{"title":"Monitoring a dynamic product page","prompt":"Fetch the current content of https://store.example.com/product/widget-pro — it's a Vue.js SPA — and give me the markdown so I can check what the current specs and pricing say."}],"resultDescription":"Clean markdown representation of the fully JS-rendered page content, approximately 4x smaller than raw HTML, along with any available page metadata. The content reflects what a real browser would see after JavaScript execution, including dynamically loaded text, components, and data.","failureModes":["URL is unreachable or returns a network error","Page requires authentication that cannot be satisfied by the headless browser","JavaScript execution times out for extremely complex or slow-loading SPAs","Anti-bot protections (beyond Cloudflare) block the headless render","URL points to a non-HTML resource (PDF, image, binary file)","Page content is behind a hard paywall requiring user credentials"],"whenToPreferThis":"Choose this endpoint over the standard clean reader when the target URL is a Single Page Application (SPA), uses a JS framework like React, Vue, Next.js, or Angular, or gates its content behind JavaScript execution. If a plain HTTP fetch returns a blank page, a loading spinner, or minimal HTML shell, this JS-rendered endpoint is the correct choice. It is slower and costs the same $0.005 but ensures full content fidelity for dynamic pages.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T00:32:32.970Z","isFirstParty":false,"canonicalSlug":"skim-js-rendered-reader-822f38ad"}