{"uid":"cap_mqsKgmxK_NFphJ11fQEZx","slug":"horizonpulse-url-fetcher-clean-text-d3e64f31","name":"HorizonPulse URL Fetcher (Clean Text)","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/fetch?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 fetch (required). Private/localhost blocked; ~200KB / 8s caps."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","description":"Horizon Pulse URL fetch (clean text). The example is a trimmed real response recorded from GET /api/demo/fetch at 2026-10-01T14:36Z UTC; live values differ on every call."}}}}},"responseSchema":{"type":"json","example":{"ok":true,"format":"markdown","content":"# Example Domain\n\nThis domain is for use in documentation examples without needing permission. This is not a service, avoid relying on it for testing and monitoring purposes.\n Learn more","finalUrl":"https://example.com/","bytesRead":713,"truncated":false,"contentType":"text/html; charset=utf-8","requestedUrl":"https://example.com","upstreamStatus":200}},"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_wsg-v_etM4_ukIWjkDYHf","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":"Fetches a public HTTP/HTTPS URL and returns best-effort clean text or markdown, with SSRF protection and size/time limits","exampleAgentPrompt":"Can you fetch the contents of https://example.com/blog/ai-trends and give me the clean readable text from that page?","exampleUseCases":[{"title":"Reading article content for summarization","prompt":"Go grab the text from this article at https://techcrunch.com/2024/05/01/openai-news and summarize the key points for me."},{"title":"Checking competitor pricing page","prompt":"Can you pull the clean text from https://competitor.com/pricing so I can see what their current pricing tiers say?"},{"title":"Extracting documentation content","prompt":"Fetch the content at https://docs.someprovider.com/api/quickstart and give me the readable text so I can understand how to get started."}],"resultDescription":"Returns best-effort clean text or markdown extracted from the fetched URL, stripped of HTML boilerplate, scripts, and styling. Includes the page's readable content with size capped at ~200KB and a time cap of ~8 seconds. Private/localhost URLs are blocked for SSRF safety.","failureModes":["Private or localhost URLs are blocked (SSRF protection)","Response body exceeds ~200KB cap — content may be truncated","Request times out after ~8 seconds for slow or unresponsive URLs","Non-public or authentication-gated URLs return empty or error","Non-HTML content types (PDFs, binaries) may not convert cleanly to text","URL is malformed or missing — returns validation error"],"whenToPreferThis":"Use this endpoint when you need to retrieve the readable text content from a public webpage in a clean, stripped format — ideal for summarization, information extraction, or reading web pages as plain text. Prefer this over the generic HTTP proxy sibling when you specifically want clean text/markdown output rather than raw HTML, headers, or JSON. SSRF safety makes it suitable for agent pipelines where user-supplied URLs are passed directly.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-01T18:34:22.010Z","isFirstParty":false,"canonicalSlug":"horizonpulse-url-fetcher-clean-text-d3e64f31"}