{"uid":"cap_7m6r-dO0bcEjUo3RwqGJn","slug":"horizonpulse-universal-http-proxy-61ef53c6","name":"HorizonPulse Universal HTTP Proxy","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/http?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 (required). Private/localhost blocked."},"body":{"type":"string","description":"Optional body for POST/PUT/PATCH (via POST /api/http JSON). Size-capped."},"method":{"type":"string","description":"Upstream method: GET (default) | POST | HEAD | PUT | PATCH | DELETE"},"headers":{"type":"object","description":"Optional allowlisted outbound headers (no Cookie / hop-by-hop). On GET pass as JSON string query param."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","description":"Horizon Pulse universal HTTP proxy result. The example is a trimmed real response recorded from GET /api/demo/http at 2026-10-01T14:36Z UTC; live values differ on every call."}}}}},"responseSchema":{"type":"json","example":{"ok":true,"body":"<!doctype html><html lang=en><head><meta charset=utf-8><link rel=icon href=data:,><meta name=viewport content=\"width=dev…","status":200,"headers":{"server":"cloudflare","content-type":"text/html; charset=utf-8","last-modified":"Mon, 28 Sep 2026 16:19:32 GMT"},"finalUrl":"https://example.com/","bytesRead":713,"elapsedMs":10,"truncated":false,"contentType":"text/html; charset=utf-8","bodyEncoding":"text"}},"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_x8Jtn2BLJ-YfUICP9eqqe","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":"Proxies arbitrary HTTP requests (GET, POST, HEAD, DELETE, etc.) to any public URL and returns status, filtered headers, and body as text or base64, with SSRF protection","exampleAgentPrompt":"Fetch the raw response from https://api.coingecko.com/api/v3/ping using a GET request and show me the status code and body that comes back.","exampleUseCases":[{"title":"Call a third-party REST API","prompt":"Make a GET request to https://api.openweathermap.org/data/2.5/weather?q=London&appid=mykey123 and return the full JSON response body and status code."},{"title":"Submit a form or webhook via POST","prompt":"Send a POST request to https://hooks.zapier.com/hooks/catch/abc123/xyz with the body {\"event\":\"new_signup\",\"email\":\"user@example.com\"} and tell me what status and response came back."},{"title":"Check if a remote API is alive","prompt":"Send a HEAD request to https://api.github.com and tell me the status code and which response headers came back, so I can confirm the service is up."}],"resultDescription":"Returns an object with the HTTP status code, a filtered set of response headers (no sensitive hop-by-hop headers), and the response body as either plain text/UTF-8 or base64-encoded for binary content. Also includes content-type information to help interpret the body.","failureModes":["Private/localhost IP targets blocked (SSRF protection) — returns 4xx error","Oversized response body capped and truncated","Invalid or malformed target URL returns error","Upstream server timeout or connection refused","Disallowed headers (Cookie, hop-by-hop) silently stripped","Non-2xx upstream status codes returned as-is with body"],"whenToPreferThis":"Choose this endpoint when your agent needs to make arbitrary outbound HTTP calls — GET, POST, HEAD, PUT, PATCH, or DELETE — to any public URL and retrieve the full response including status and headers. It is more flexible than the sibling clean-text fetch endpoint (which only does GET and strips content to markdown). Prefer this when you need raw body output, non-GET methods, custom request headers, or POST body forwarding. SSRF protection makes it safer than a bare HTTP client for agent use.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T09:35:09.389Z","isFirstParty":false,"canonicalSlug":"horizonpulse-universal-http-proxy-61ef53c6"}