{"uid":"cap_S5AKNpytZij42_Yf0Ce6m","slug":"swerver-web-scraping-api-e8347e86","name":"Swerver Web Scraping API","description":"Headless browser API for web scraping. Fetch any URL and get back clean HTML, Markdown, plain text, or extracted links. Supports JavaScript evaluation, CSS selector targeting, stealth mode, and batch operations. Pay-per-request via x402 protocol (USDC on Base). No API key required.","url":"https://cheap-search--gw.swerver.net/scrape","method":"POST","headers":{},"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The URL to scrape"},"wait":{"type":"integer","description":"Extra seconds to wait after the page event fires. Useful for pages with delayed rendering."},"format":{"enum":["html","markdown","text","links"],"type":"string","description":"Output format for page content"},"stealth":{"type":"boolean","description":"Enable anti-bot stealth mode. Randomizes browser fingerprint and blocks trackers."},"timeout":{"type":"integer","description":"Page load timeout in seconds"},"evaluate":{"type":"string","description":"JavaScript expression to evaluate on the page. When provided, the response content will contain the evaluation result instead of page content. Use for structured data extraction, e.g. 'JSON.stringify({title: document.title, links: [...document.querySelectorAll(\"a\")].map(a => a.href)})'"},"selector":{"type":"string","description":"CSS selector to wait for before extracting content. Useful for SPAs where content loads dynamically."},"max_length":{"type":"integer","description":"Maximum content length in characters. Content exceeding this limit is truncated. Use as a token budget control to keep responses within context window limits."},"user_agent":{"type":"string","description":"Custom User-Agent string"},"wait_until":{"enum":["load","domcontentloaded","networkidle0"],"type":"string","description":"Page lifecycle event to wait for. Use 'networkidle0' for JS-heavy pages."}}},"responseSchema":{"type":"object","properties":{"url":{"type":"string"},"format":{"type":"string"},"content":{"type":"string","description":"Page content (or JS eval result if evaluate was provided)"},"metadata":{"type":"object","properties":{"truncated":{"type":"boolean","description":"Whether content was truncated by max_length"},"elapsed_ms":{"type":"integer","description":"Time taken to fetch and render the page in milliseconds"},"content_length":{"type":"integer","description":"Original content length in bytes before truncation"}}}}},"example":{"request":{"url":"https://example.com","format":"markdown","timeout":10,"max_length":5000},"response":{"url":"https://example.com","format":"markdown","content":"Example Domainbody{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}\n# Example Domain\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\nLearn more\n\n","metadata":{"truncated":false,"elapsed_ms":303,"content_length":291}}},"exampleRequest":{"url":"https://example.com","format":"markdown","timeout":10,"max_length":5000},"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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_9tuNSnGOmsuO9L9ARn-Uc","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":"Fetches any URL using a headless browser and returns the page content as clean HTML, Markdown, plain text, or extracted links, with optional JavaScript evaluation and stealth mode","exampleAgentPrompt":"Can you fetch the page at https://example.com/article and give me the content as clean markdown? Wait 3 seconds after it loads in case there's delayed rendering, and cap the output at 10000 characters.","exampleUseCases":[{"title":"Monitor competitor pricing updates daily","prompt":"Check the pricing page at https://competitor.com/pricing every morning and give me the current rates as plain text. Use stealth mode so they don't see the request, and let me know if anything changed since yesterday."},{"title":"Extract structured data from JavaScript sites","prompt":"Go to https://job-listing-site.com/postings and grab all the job titles, companies, and salary ranges. The page loads content dynamically, so wait for it to fully render first, then pull out just the structured data as clean text."},{"title":"Gather article summaries for research","prompt":"Fetch these three article URLs and convert each one to markdown format so I can read them offline. Strip out all the ads and navigation menus—I just want the actual article content and any embedded images or links."}],"resultDescription":"Returns a JSON object with the requested URL, the output format used, and the full page content (or JS eval result) as a string. Also includes metadata: whether the content was truncated, the elapsed fetch time in milliseconds, and the original content length in bytes.","failureModes":["Page load timeout exceeded — response may be empty or partial content","URL is unreachable or returns a non-200 status — content will be empty or error indicated","JavaScript evaluation expression throws an error — content field may contain the error message","CSS selector never appears on page — request may time out or return content without waiting","Stealth mode insufficient for aggressive anti-bot systems — page may still block or return CAPTCHA","Payment via x402 protocol fails or is rejected — request not processed","Max length truncation silently cuts off content — truncated flag in metadata will be true"],"whenToPreferThis":"Use this endpoint when you need to fetch and render web pages that require JavaScript execution, dynamic content loading, or anti-bot evasion. It is ideal for scraping SPAs, extracting structured data via JS evaluation, or getting clean Markdown/text from articles without needing a separate API key. Prefer it over simple HTTP fetch tools when the target page relies on client-side rendering. The pay-per-request x402 model (no subscription) makes it suitable for low-volume or one-off scraping tasks.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:34:39.333Z","isFirstParty":false}