Screenshot

Price: $0.020 USDC per call

Endpoint: https://api.melis.ai/screenshot

Method: POST

Pays to: 0x61F2eF18ab0630912D24Fd0A30288619735AfFf5

What it does

Takes a full-page PNG screenshot of any public URL using headless Chromium. Returns the image as a base64 PNG. SSRF-hardened — private IP ranges, 169.254.x metadata endpoints, and file:// URIs are blocked. Useful when an agent needs a visual record of a page state, or when content is rendered in a format that cannot be extracted as text.

When to use it

  • Capture a dashboard state for a monitoring agent
  • Archive a visual record of a web page at a point in time
  • Render a UI for visual QA within an agent workflow

Request schema

{
  "url": "https://example.com",
  "full_page": true
}

Response schema

{
  "image": "iVBORw0KGgoAAAANSUhEUgA...",
  "encoding": "base64",
  "format": "png",
  "width": 1280,
  "height": 900
}

Code example — TypeScript via MCP

Install the MCP server once; all 16 services become tool calls.

// Configure @melis-ai/x402-tools-mcp in your MCP client
// Then call the tool:

const result = await mcpClient.callTool("screenshot", {
  "url": "https://example.com",
  "full_page": true
});

console.log(result);
// ["image","encoding","format","width","height"]...
→ MCP setup guide

Code example — Python via direct HTTP

import requests

# x402 payment header must be set by your wallet client
# See x402.org for client libraries

headers = {
    "Content-Type": "application/json",
    "x-payment": "<signed-x402-payment-header>",
}

resp = requests.post(
    "https://api.melis.ai/screenshot",
    json={
      "url": "https://example.com",
      "full_page": true
    },
    headers=headers,
)
print(resp.json())

Code example — curl with internal key bypass

For testing with an issued internal key (skips x402 payment flow):

curl -X POST https://api.melis.ai/screenshot \
  -H "Content-Type: application/json" \
  -H "x-internal-key: YOUR_KEY" \
  -d '{"url":"https://example.com","full_page":true}'

How is this different from alternatives?

Screenshot vs StableFlare / Cloudflare Browser Rendering

Cloudflare's browser rendering API is well-documented and reliable. Screenshot is useful when you're already using other melis.ai services and want one fewer vendor, or when you need SSRF protection baked in.

FAQ

Does it work without an account?

Yes. x402 is account-less. Your agent's wallet signs the payment and retries automatically. No registration, no API key, no subscription.

What happens on failure?

Returns HTTP 400 for private IPs and blocked URL patterns.

What is the rate limit?

Per-IP daily limit. Contact sean@melis.ai for details.

Is this open-source?

The service code is closed-source for security reasons. The MCP wrapper that calls it is open-source and MIT-licensed: github.com/mizukaizen/x402-tools-mcp .

Who built this?

Part of the melis.ai agent infrastructure stack. Running on a dedicated Helsinki VPS since early 2026. Contact sean@melis.ai.