{"uid":"cap_8J0llnnOajkvS0tiW65tS","slug":"agents-openwebninja-com-openweb-ninja-web-unblocker-http-request-537e115f","name":"OpenWeb Ninja Web Unblocker — HTTP Request","description":"Reliably fetch web pages with smart retries, optional JavaScript rendering, fine-grained load controls, and proxy support. Supports all common HTTP methods (GET, POST, PUT, PATCH, and DELETE).","url":"https://agents.openwebninja.com/web-unblocker/request?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","example":{"url":"https://www.google.com","render_js":true},"required":["url"],"properties":{"url":{"type":"string","description":"The URL to fetch (required)."},"body":{"type":"string","description":"Request payload for methods that support a body (POST/PUT/PATCH). Can be a string or a JSON object.\n"},"proxy":{"type":"string","description":"Proxy URL to use for the request. If omitted, the API may use internal proxy networks and smart retries.\n"},"cookies":{"type":"array","items":{"type":"object","required":["name","value","domain"],"properties":{"name":{"type":"string","description":"Cookie name."},"path":{"type":"string","description":"Path the cookie is valid for."},"value":{"type":"string","description":"Cookie value."},"domain":{"type":"string","description":"Domain the cookie is valid for."}}},"description":"Cookies to include with the request. Each cookie includes name, value, and domain (required), and path.\n"},"country":{"enum":["any","us","uk","ca"],"type":"string","description":"Country to route the request through, so the target site sees a visitor from that country. Omit or use any for the default proxy pool. Ignored when proxy is set.\n"},"headers":{"type":"object","description":"HTTP headers to send with the request. Provide as a key-value object.","additionalProperties":true},"render_js":{"type":"boolean","default":false,"description":"Whether to render JavaScript before returning the response. Defaults to false.\n"},"wait_until":{"enum":["domloaded","load","networkidle"],"type":"string","default":"load","description":"Page load condition when render_js is enabled. domloaded does not wait for images/subframes/async scripts; load waits for them; networkidle waits for a period of networkidle_timeout with no network connections after the page loads.\n"},"load_images":{"type":"boolean","default":false,"description":"Whether to allow loading images when rendering JavaScript. Defaults to false.\n"},"extra_retries":{"type":"boolean","default":false,"description":"If true, allows the API to perform additional internal retries when needed. If extra retries are triggered, the request will be charged 2 request credits.\n"},"load_stylesheets":{"type":"boolean","default":false,"description":"Whether to allow loading stylesheets when rendering JavaScript. Defaults to false.\n"},"wait_for_timeout":{"type":"string","description":"Time in seconds to wait after page load before extracting content."},"success_selectors":{"type":"string","description":"Consider the request as successful if at least one of the CSS selectors is found.\n"},"wait_for_selector":{"type":"string","description":"CSS selector to wait for before returning content."},"failiure_selectors":{"type":"string","description":"Consider the request as failed (and retry in some cases) if at least one of the CSS selectors is found.\n"},"min_response_length":{"type":"number","description":"Consider the request as failed (and retry in some cases) if the response body size (in bytes) is smaller than the specified value.\n"},"networkidle_timeout":{"type":"number","default":0.5,"description":"Network idle timeout in seconds when wait_until is set to networkidle. Defaults to 0.5.\n"},"success_status_codes":{"type":"array","items":{"type":"number"},"default":[200],"description":"Consider the request as successful if the HTTP response status code is included in this list.\n"}}},"responseSchema":{"type":"object","required":["status","request_id","parameters","data"],"properties":{"data":{"type":"object","required":["status","final_url","headers","body"],"properties":{"body":{"type":"string","description":"Raw response body returned by the target URL (typically HTML)."},"error":{"type":"string","nullable":true,"description":"Soft-failure error string returned by the scraper when a non-fatal failure occurred (e.g. selector not found)."},"status":{"type":"integer","description":"HTTP status code returned by the target URL."},"cookies":{"type":"array","items":{"type":"object","required":["name","value","domain"],"properties":{"name":{"type":"string","description":"Cookie name."},"path":{"type":"string","nullable":true,"description":"Path the cookie is valid for, when set by the server."},"value":{"type":"string","description":"Cookie value."},"domain":{"type":"string","description":"Domain the cookie is valid for."}}},"nullable":true,"description":"Cookies set by the target server."},"headers":{"type":"object","description":"Response headers returned by the target server, as a key-value map.","additionalProperties":{"type":"string","description":"A single response header value."}},"final_url":{"type":"string","description":"Final URL after any redirects the target server issued."},"body_length":{"type":"integer","nullable":true,"description":"Length in bytes of the returned response body."}}},"status":{"type":"string","description":"The status of the API response."},"parameters":{"type":"object","properties":{"url":{"type":"string","description":"The URL that was fetched."},"method":{"type":"string","description":"HTTP method used for the request. Values: GET, POST, PUT, PATCH, DELETE."},"render_js":{"type":"boolean","description":"Whether JavaScript was rendered before returning the response."},"wait_until":{"type":"string","nullable":true,"description":"Page load condition used when JavaScript rendering was enabled. Values: domloaded, load, networkidle."},"load_images":{"type":"boolean","nullable":true,"description":"Whether images were loaded during JavaScript rendering."},"extra_retries":{"type":"boolean","nullable":true,"description":"Whether extra internal retries were allowed for this request."},"load_stylesheets":{"type":"boolean","nullable":true,"description":"Whether stylesheets were loaded during JavaScript rendering."},"networkidle_timeout":{"type":"number","nullable":true,"description":"Network idle timeout in seconds when wait_until is networkidle."},"success_status_codes":{"type":"array","items":{"type":"integer","description":"An HTTP status code treated as success."},"nullable":true,"description":"HTTP status codes considered successful for this request."}},"description":"The parameters the API received and used for this request, echoed back."},"request_id":{"type":"string","description":"A unique ID to trace the API request."}}},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"unknown","displayCostAsset":"USD","priceDynamic":true,"priceHint":null,"priceStatus":"unprobed","priceSource":"registry","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":"unknown","summary":"price unknown","primary":{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_ZE3Zi59Sppr8d_3fAE7JE","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"unknown","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":"agents.openwebninja.com","brandSlug":"agents-openwebninja-com-x402","brandBaseUrl":"https://agents.openwebninja.com","brandDocsUrl":null,"whatItDoes":"Fetches any web page or HTTP endpoint with smart retries, optional JavaScript rendering, geo-proxying, and fine-grained load controls.","exampleAgentPrompt":"Can you fetch the full HTML of https://www.example.com/product-page with JavaScript rendering enabled and wait until the network is idle, routing through a US IP address?","exampleUseCases":[{"title":"Scraping JS-heavy e-commerce product page","prompt":"Grab the full rendered HTML of this Amazon product page — https://www.amazon.com/dp/B0EXAMPLE — with JavaScript turned on and wait until the page fully loads, so I can extract the price and availability."},{"title":"Geo-restricted content access","prompt":"Fetch the HTML from https://www.bbc.co.uk/news using a UK IP address so I can see the content that's only visible to UK visitors."},{"title":"Authenticated session page retrieval","prompt":"Retrieve the page at https://app.example.com/dashboard using these session cookies I have, so I can get the latest data from my account without logging in manually."}],"resultDescription":"Returns an object with: the raw response body (typically HTML), the HTTP status code from the target server, all response headers, the final URL after any redirects, cookies set by the server, and body length in bytes. Also includes the original request parameters echoed back and a unique request ID for debugging.","failureModes":["Target URL is unreachable or times out — returns a non-200 status or error field in the response","JavaScript rendering fails or selector not found — soft error string returned in the error field","Anti-bot protection not bypassed even with retries — response body may contain CAPTCHA or block page HTML","Invalid or inaccessible proxy URL provided — request may fail entirely","Unsupported HTTP method or malformed request body — API-level validation error","Rate limits or credit exhaustion on the underlying OpenWeb Ninja account — 402 or quota error returned"],"whenToPreferThis":"Choose this endpoint when you need to fetch web pages that use JavaScript rendering, have bot-detection/anti-scraping measures, require geo-specific IP routing (US, UK, CA), or need fine-grained control over load conditions (domloaded, load, networkidle). It is superior to a plain HTTP GET when the target site blocks standard requests, when you need automatic smart retries, or when cookies and custom headers are required for authentication. Prefer alternatives if you only need simple, static, bot-friendly pages where a basic HTTP client suffices.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-14T00:37:05.408Z","isFirstParty":false,"canonicalSlug":"agents-openwebninja-com-openweb-ninja-web-unblocker-http-request-537e115f"}