{"uid":"cap_llLUQ6fKNZIwIL4Juc0NY","slug":"mekler-ai-web-page-rendered-content-extractor-f6d1342b","name":"Mekler AI Web Page Rendered Content Extractor","description":"Render one public page in headless Chromium after robots and public-address checks, wait for scripts to settle, then return bounded visible text, title, final URL and source links. Standard x402: POST the URL, sign the 402 and resend the same body. The 402 also returns an encrypted payment_request that pays for exactly the quoted render. Failed renders are never charged. No login, interaction, screenshots or full-site crawl.","url":"https://api.mekler.ai/v1/web/pages/extract-rendered-content?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"minLength":1},"snapshot":{"type":"string","maxLength":65536,"minLength":1},"quote_mode":{"enum":["fast"],"type":"string"}}},"responseSchema":{"type":"json","example":{"text":"Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.\nserde.rs","title":"serde - crates.io: Rust Package Registry","status":"ok","coverage":"rendered_html","final_url":"https://crates.io/crates/serde","truncated":false,"fetched_at":"2026-10-05T00:00:00Z","source_links":["https://serde.rs/"]}},"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_7OlXAXidLQzjRS9iewAaN","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Renders a public web page in headless Chromium, waits for JavaScript to settle, then returns bounded visible text, page title, final URL, and source links.","exampleAgentPrompt":"Can you pull the visible text and title from https://crates.io/crates/serde — it's a JavaScript-rendered page so a static fetch won't work, I need the fully rendered content.","exampleUseCases":[{"title":"Extract content from JS-rendered docs","prompt":"Grab the readable text and page title from https://docs.stripe.com/api/charges — it's a React app and I need the fully rendered content, not just the raw HTML."},{"title":"Research a dynamic product listing","prompt":"Fetch the visible text from https://store.steampowered.com/app/1245620/ELDEN_RING/ after all the scripts have loaded so I can read the product description and links."},{"title":"Monitor a SPA for article content","prompt":"Extract the title and body text from https://news.ycombinator.com/item?id=38000000 once all the JavaScript has settled — I want to see the rendered discussion text and any source links."}],"resultDescription":"Returns a JSON object with: 'text' (bounded visible text content), 'title' (page title), 'status' ('ok' or error), 'coverage' (e.g. 'rendered_html'), 'final_url' (after any redirects), 'truncated' (boolean), 'fetched_at' (ISO timestamp), and 'source_links' (array of outbound links found on the page). Failed renders are never charged.","failureModes":["Robots.txt disallows crawling — request blocked before render","URL resolves to a private/internal IP address — rejected by public-address check","Page takes too long to settle after script execution — timeout","Page requires authentication or login — cannot access protected content","URL is malformed or unreachable — returns error status","Content exceeds text bounds — returned with truncated: true"],"whenToPreferThis":"Choose this endpoint when the target page relies on JavaScript frameworks (React, Vue, Angular, etc.) and a static HTML fetch would return empty or incomplete content. Prefer it over static page fetchers when you need post-render visible text, final redirect URLs, or source links from a JS-driven page. Not suitable for pages requiring login, interaction, screenshots, or full-site crawls.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T12:35:08.385Z","isFirstParty":false,"canonicalSlug":"mekler-ai-web-page-rendered-content-extractor-f6d1342b"}