SnapRender
AI-native screenshot API

Connect SnapRender to any AI client

Give any AI agent the ability to capture screenshots. Copy-paste configs for Claude, ChatGPT, LangChain, and more. New to it? See how agents use SnapRender.

Hosted Screenshot MCP Server

Recommended

No installation required. Paste a URL into any MCP-compatible client and your AI gets 11 tools: screenshots, content extraction, batch jobs, signed URLs, webhooks, and usage. Using Claude? Follow the step-by-step Claude guide with screenshots →

take_screenshot extract_content batch_screenshots sign_screenshot_url check_screenshot_cache get_usage webhooks ×4 get_batch_status

Server URL: https://app.snap-render.com/mcp (Streamable HTTP). You sign in with your SnapRender account through OAuth; there is no API key to copy.

Claude Code

claude mcp add --transport http --scope user snaprender https://app.snap-render.com/mcp

Run it in a terminal, then start Claude Code, type /mcp, choose snaprender and Authenticate.

claude.ai and Claude Desktop

Open Customize, Connectors, + Add, Add custom connector, and paste the server URL. Every Claude plan; Free allows one custom connector.

Cursor, VS Code, Codex, Gemini CLI or any MCP client

Point your MCP client at the server URL. Clients that support OAuth sign you in; others take an Authorization: Bearer sk_live_... header. Exact setup for each client:

With an API key instead (CI, scripts, clients without sign-in)

Send Authorization: Bearer sk_live_... to the same URL. In Claude Code:

claude mcp add --transport http --scope user snaprender https://app.snap-render.com/mcp --header "Authorization: Bearer sk_live_your_key_here"

Local server, for clients that only run local servers

{
  "mcpServers": {
    "snaprender": {
      "command": "npx",
      "args": ["-y", "snaprender-mcp"],
      "env": { "SNAPRENDER_API_KEY": "sk_live_your_key_here" }
    }
  }
}

Same 11 tools, running on your machine. View on npm →

ChatGPT: Custom GPT Actions

Create a custom GPT that can screenshot any website using SnapRender's OpenAPI spec.

Setup steps

  1. 1 Go to ChatGPT → My GPTs → Create
  2. 2 Click Actions → Import from URL
  3. 3 Enter: https://app.snap-render.com/openapi.json
  4. 4 Under Authentication, select API Key, Header Name: X-API-Key, enter your key
  5. 5 Save and test: "Take a screenshot of example.com"

LangChain

Official LangChain integration. Install the package and get 3 ready-made tools for any Python or JavaScript agent. Works with LangGraph too.

Install

# Python
pip install langchain-snaprender

# JavaScript / TypeScript
npm install langchain-snaprender

Python

from langchain_snaprender import take_screenshot, check_cache, get_usage

# Use as tools in any LangChain agent
tools = [take_screenshot, check_cache, get_usage]

# Or call directly
result = take_screenshot.invoke({
    "url": "https://example.com",
    "format": "png",
    "dark_mode": True,
})

JavaScript / TypeScript

import { SnapRenderScreenshot, SnapRenderCacheCheck, SnapRenderUsage } from "langchain-snaprender";

const tools = [
  new SnapRenderScreenshot(),
  new SnapRenderCacheCheck(),
  new SnapRenderUsage(),
];
take_screenshot check_cache get_usage

CrewAI

Official CrewAI tool package. Give your crews the ability to capture and analyze screenshots.

Install

pip install crewai-snaprender

CrewAI agent with screenshots

from crewai import Agent, Task, Crew
from crewai_snaprender import SnapRenderScreenshotTool, SnapRenderUsageTool

researcher = Agent(
    role="Web Researcher",
    goal="Capture and analyze website screenshots",
    tools=[SnapRenderScreenshotTool(), SnapRenderUsageTool()],
    verbose=True,
)

task = Task(
    description="Screenshot https://example.com and describe what you see",
    agent=researcher,
)

crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
SnapRenderScreenshotTool SnapRenderCacheTool SnapRenderUsageTool
View on PyPI →

AutoGen

Pre-built tools for Microsoft AutoGen agents. Drop in and go.

Install

pip install autogen-ext-snaprender

AutoGen agent with screenshots

from autogen_ext_snaprender import screenshot_tool, cache_tool, usage_tool

# Register tools with your AutoGen agent
tools = [screenshot_tool, cache_tool, usage_tool]

# Or call directly
result = await screenshot_tool.run_json({
    "url": "https://example.com",
    "format": "png",
    "dark_mode": True,
})
screenshot_tool cache_tool usage_tool
View on PyPI →

OpenAI Agents SDK, Vercel AI SDK and Mastra

These frameworks speak MCP, so they connect straight to the hosted server and get all 11 SnapRender tools. There is nothing from SnapRender to install. Pass your API key as a Bearer token and bring any tool-calling model.

OpenAI Agents SDK (Python): pip install openai-agents

import asyncio, os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="snaprender",
        params={
            "url": "https://app.snap-render.com/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['SNAPRENDER_API_KEY']}"},
        },
    ) as snaprender:
        agent = Agent(
            name="Web researcher",
            instructions="Use the SnapRender tools to look at web pages before answering.",
            mcp_servers=[snaprender],
        )
        result = await Runner.run(agent, "Take a screenshot of https://example.com and describe the page.")
        print(result.final_output)

asyncio.run(main())

Vercel AI SDK: npm install ai @ai-sdk/mcp

import { createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const snaprender = await createMCPClient({
  transport: {
    type: 'http',
    url: 'https://app.snap-render.com/mcp',
    headers: { Authorization: `Bearer ${process.env.SNAPRENDER_API_KEY}` },
  },
});

try {
  const { text } = await generateText({
    model, // any tool-calling model from your provider
    tools: await snaprender.tools(),
    stopWhen: stepCountIs(5),
    prompt: 'Take a screenshot of https://example.com and describe the page.',
  });
  console.log(text);
} finally {
  await snaprender.close();
}

Mastra: npm install @mastra/core @mastra/mcp

import { MCPClient } from '@mastra/mcp';
import { Agent } from '@mastra/core/agent';

const mcp = new MCPClient({
  servers: {
    snaprender: {
      url: new URL('https://app.snap-render.com/mcp'),
      requestInit: { headers: { Authorization: `Bearer ${process.env.SNAPRENDER_API_KEY}` } },
    },
  },
});

const agent = new Agent({
  id: 'web-researcher',
  name: 'Web researcher',
  instructions: 'Use the SnapRender tools to look at web pages before answering.',
  model, // a model id such as 'provider/model-name'
  tools: await mcp.listTools(), // names arrive prefixed: snaprender_take_screenshot, ...
});

const res = await agent.generate('Take a screenshot of https://example.com and describe the page.');
console.log(res.text);
await mcp.disconnect();

Screenshots and extractions taken through these tools count against your plan exactly like direct API calls. Using an MCP desktop or editor client instead? See the per-client setup guides.

n8n

Community node for n8n workflow automation. Screenshot, check cache, and track usage from any n8n workflow.

Install

In your n8n instance: Settings → Community Nodes → Install

n8n-nodes-snaprender

Operations

Screenshot Check Cache Get Usage

Supports all API parameters: format, device emulation, dark mode, full page, ad/cookie blocking. Returns binary image or JSON data.

View on npm →

OpenClaw (ClawHub skill)

Give OpenClaw agents the ability to see websites. The published ClawHub skill wraps the full API: capture pages, compare devices, extract content, and archive URLs from any agent workflow.

Setup guide →

Install

clawhub install snaprender

Add your API key once and every OpenClaw agent in the workspace can capture screenshots as a native skill.

RapidAPI

Prefer one marketplace account and bill? SnapRender is listed on RapidAPI with a free tier of 500 renders per month per subscriber, using RapidAPI's own keys and quota handling.

View the RapidAPI listing →

Direct API keys remain the better deal at volume; the marketplace route trades price for convenience.

REST API: Any Agent or Framework

Use the REST API directly from any language or agent framework. OpenAPI 3.1 spec available.

cURL example

curl "https://app.snap-render.com/v1/screenshot?url=https://example.com&response_type=json" \
  -H "X-API-Key: sk_live_your_key_here"

Resources

Everything you need to integrate SnapRender with your AI workflow.

Give your agent eyes in one tool call

SnapRender ships an MCP connector and a plain GET endpoint. Point your agent at a URL and it gets pixels back.

200 renders a month free. Works with Claude, OpenClaw, and any MCP client.

Get a free API key

Start building with AI agents

200 free screenshots/month. No credit card required.