# Orthogonal Web Screenshot

> Orthogonal Web Screenshot is a paid API for AI agents from x402.orthogonal.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-14).

Captures a viewport or full-page screenshot of any website given a domain name or direct URL

## Facts

- Endpoint: GET https://x402.orthogonal.com/context-dev/web/screenshot
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/orthogonal-web-screenshot-602b1a7c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_et-DzWm1-63RzhKW88PF_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability orthogonal-web-screenshot-602b1a7c
```

Example prompt: Can you take a full-page screenshot of stripe.com's pricing page so I can see how they lay out their plans?

## When to prefer this

Choose this endpoint when you need a visual render of a webpage rather than raw HTML or text content — ideal for auditing layouts, capturing evidence of live page state, checking competitor designs, or verifying that a site looks correct. Prefer this over HTML scraping endpoints when the visual presentation matters, not just the text content.

## Known failure modes

- Invalid or unreachable domain returns an error or blank screenshot
- Paywalled or login-required pages may render only the auth wall
- Dynamic JavaScript-heavy pages may not fully render if speed mode is selected
- directUrl and domain cannot be used simultaneously; ambiguity may cause failure
- Pages with anti-bot measures may block the headless browser capture

## How this service works

Capture a screenshot of a website. Supports both viewport (standard browser view) and full page screenshots.

## Output

Returns a screenshot image of the requested webpage, either as a viewport-sized capture (standard browser view) or a full-page capture showing all scrollable content. The image reflects the live rendered state of the page at the time of the request.

## Request schema (JSON Schema)

```json
{
 "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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "page": {
       "type": "string",
       "description": "Optional parameter to specify which page type to screenshot. If provided, the system will scrape the domain's links and use heuristics to find the most appropriate URL for the specified page type (30 supported languages). If not provided, screenshots the main domain landing page. Only applicable when using 'domain', not 'directUrl'."
      },
      "domain": {
       "type": "string",
       "description": "Domain name to take screenshot of (e.g., 'example.com', 'google.com'). The domain will be automatically normalized and validated."
      },
      "directUrl": {
       "type": "string",
       "description": "A specific URL to screenshot directly, bypassing domain resolution (e.g., 'https://example.com/pricing'). When provided, the screenshot is taken of this exact URL."
      },
      "prioritize": {
       "type": "string",
       "description": "Optional parameter to prioritize screenshot capture. If 'speed', optimizes for faster capture with basic quality. If 'quality', optimizes for higher quality with longer wait times. Defaults to 'quality' if not provided."
      },
      "fullScreenshot": {
       "type": "string",
       "description": "Optional parameter to determine screenshot type. If 'true', takes a full page screenshot capturing all content. If 'false' or not provided, takes a viewport screenshot (standard browser view)."
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/orthogonal-web-screenshot-602b1a7c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.orthogonal.com](https://www.zero.xyz/host/x402.orthogonal.com/llms.txt)
