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.
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 →
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 →
Create a custom GPT that can screenshot any website using SnapRender's OpenAPI spec.
Setup steps
https://app.snap-render.com/openapi.json
X-API-Key, enter your key
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(),
];
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()
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,
})
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.
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
Supports all API parameters: format, device emulation, dark mode, full page, ad/cookie blocking. Returns binary image or JSON data.
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.
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.
Direct API keys remain the better deal at volume; the marketplace route trades price for convenience.
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"
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.