SnapRender

Hosted screenshot MCP and API for Claude, Cursor and Codex

Give your AI agent eyes on the web.

One tool call hands your agent a real Chrome screenshot of any page: cookie walls cleared, desktop or phone, markdown too.

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

Then type /mcp, choose snaprender and Authenticate.

200 captures a month free, no cardSign in with Google or GitHub99.9% uptime

500+ developers use itListed in the official MCP Registry

Already using Playwright MCP?

Keep it for clicks, forms and logins. When your agent only needs to see or read a page, one SnapRender call returns the finished render with cookie walls cleared, and it also works in claude.ai and other hosted clients.

How they compare

Your agent sets itself up.

Paste one prompt into Claude Code, Codex or Cursor. Your agent adds SnapRender, walks you through one sign-in, and takes a test capture. There is no API key to paste.

  1. Paste this prompt

    Set up SnapRender, a hosted screenshot tool for web pages, for me. Step 1: add its MCP server. In Claude Code, run in a terminal: claude mcp add --transport http --scope user snaprender https://app.snap-render.com/mcp. In Codex, run: codex mcp add snaprender --url https://app.snap-render.com/mcp (if no browser opens to sign in, run: codex mcp login snaprender). For Cursor, VS Code or another client, follow https://snap-render.com/ai-connectors. Step 2: tell me how to sign in. In Claude Code I restart with claude --continue, type /mcp, choose snaprender, then Authenticate, and sign in with Google, GitHub or email. If I cannot restart, ask me to run claude mcp login snaprender in a terminal. Step 3: once the snaprender tools are listed, take a screenshot of https://snap-render.com, tell me what you see, then call get_usage and tell me how many captures are left this month. Tool reference: https://snap-render.com/llms.txt. API docs: https://snap-render.com/docs.

  2. Sign in onceGoogle, GitHub or email, in your browser. New accounts start on the free plan.
  3. Put it to work“Capture linear.app/pricing and tell me how their plans compare with ours.”
Claude Codesample session
  1. youSet up SnapRender, a hosted screenshot tool for web pages, for me…
  2. $claude mcp add --transport http --scope user snaprender https://app.snap-render.com/mcp
  3. Added HTTP MCP server snaprender with URL: https://app.snap-render.com/mcp to user config
  4. agentAdded. Restart me with claude --continue, type /mcp, choose snaprender and Authenticate, then sign in in the browser tab that opens.
  5. youDone.
  6. Connected. Test capture of snap-render.com worked; 199 of 200 free captures left.
  7. youCapture linear.app/pricing and tell me how their plans compare with ours.
  8. ⏺snaprender · take_screenshot { url: "https://linear.app/pricing" }
  9. agentFour plans: Free at $0 (2 teams, 250 issues), Basic at $10 and Business at $16 per user a month billed yearly, and custom Enterprise.
linear.app/pricing as the agent received it

Or connect it yourself

Claude Code

$claude mcp add --transport http --scope user snaprender https://app.snap-render.com/mcp
  1. Run the command in your terminal. --scope user makes it available in every project.
  2. Start Claude Code (or restart it with claude --continue), type /mcp, choose snaprender, then Authenticate. Or run claude mcp login snaprender.
  3. Sign in, approve, and ask Claude to screenshot any page.

Listed in the official MCP Registry, on Glama and on Smithery.

Prefer an API key? Scripts, SDKs, CI

The same captures over REST and SDKs for Node, Python and Go. Your key is in the dashboard as soon as you sign up, and MCP clients can send it as a Bearer token.

GET /v1/screenshot?url=https://example.com
X-API-Key: sk_live_...

Limits your agent understands Free plan: 200 captures a month

Screenshots report the captures left this month. When the month runs out, every tool says so in plain words, with the reset date and the upgrade link, so your agent can tell you.

tool result Screenshot captured in 2.8 s. Captures left this month: 187

Are you an agent reading this page?/llms.txt says when and how to call SnapRender.Get free API key

Your agent sees the page, not the cookie wall.

Most sites open behind a consent dialog. SnapRender finds it and removes it in real Chrome before the capture, so your agent gets the page a person came for.

  1. Finds the dialogA consent popup covers ikea.com.
  2. Removes itTaken out in the browser, without a click.
  3. Captures the pageYour agent gets the clean page, ready to read.
What SnapRender returnsikea.com in real Chrome
ikea.com captured by SnapRender with the cookie dialog removed ikea.com rendered in Chrome with its cookie dialog open

Agents that check their own work.

A capture closes the loop between what an agent did and what actually happened on the page.

Coding agents

Ship a change, then look at it

After a UI change the agent captures the preview deployment on desktop and phone, and fixes what broke before it says done.

  1. Change
  2. Capture
  3. Compare
  4. Fix

Monitoring

Competitor watch, every morning

Pages captured hourly, daily or weekly and compared with the last capture. A signed webhook fires when one changes, and your agent writes the brief. How scheduled captures work

  1. Schedule
  2. Capture
  3. Compare
  4. Brief

Research

Answers that cite the page

Docs, dashboards and articles captured as people see them, with the text extracted alongside.

  1. Ask
  2. Capture
  3. Read
  4. Answer

Autonomous agents

Receipts for what agents do

An agent that books, posts or changes something keeps a dated capture of the result.

  1. Act
  2. Capture
  3. Record
  4. Report

Point it at any page.

Type an address, with or without https://. Real Chrome renders it, and the capture lands here exactly as your agent receives it.

Example capture of nasa.gov example capture, nasa.gov
// the tool result your agent receives appears here

The demo takes 10 captures a day per visitor. Your agent gets 200 a month free. Get free API key

Exactly what a person would see.

Fonts loaded, lazy content settled, cookie walls gone. On a desktop, on a phone or as clean markdown.

Desktop capture of nasa.gov
take_screenshotAny page as PNG, JPEG or WebP
duolingo.com on desktopduolingo.com on an iPhone 15 Pro
device: "iphone_15_pro"The same page on an iPhone, iPad or Pixel
ikea.com captured with the cookie dialog cleared
block_cookie_banners: trueConsent popups and ads removed, on by default
## MAX POWER

The two-day event will feature immersive experiences for all ages to enjoy, including air shows, technology demonstrations, spaceflight hardware, military aircraft, and behind‑the‑scenes access to America’s spaceport.

[Learn More about MAX POWER](https://www.nasa.gov/maxpower/)
extract_contentThe page as clean markdown for the model to read
batch_screenshotsUp to 50 pages in one job
bbc.com/news at 12:18
12:18
bbc.com/news at 12:49, new lead photo
12:49, changed
bbc.com/news at 13:19, new headline
13:19, changed
scheduled capturesHourly, daily or weekly, set up in the API or dashboard

Or call it from code.

The same capture engine over REST, with SDKs for Node, Python and Go and the full parameter list in the docs.

// Cursor, Windsurf and most clients
{
  "mcpServers": {
    "snaprender": { "url": "https://app.snap-render.com/mcp" }
  }
}
// VS Code: "servers" with "type": "http"; Claude Code: one command, above
What comes backREST response headers (sample, free plan)
HTTP/2 200
content-type: image/png
x-cache: MISS
x-ratelimit-limit: 200
x-remaining-credits: 187
x-ratelimit-burst-limit: 10
x-response-time: 1356ms

// MCP: the image arrives inline as a tool result,
// so the model sees it in the same turn.

SnapRender or a browser MCP?

Use both. They do different jobs.

A local browser MCP compared with SnapRender
QuestionLocal browser MCP Playwright, PuppeteerSnapRender hosted
Best forClicking through flows, forms, loginsSeeing and reading any public page
Set-upNode and a browser on each machineOne URL, sign in once
claude.ai and hosted clientsNot availableWorks
Cookie walls and adsYour agent clicks them awayRemoved before the capture
Calls per lookNavigate, then screenshotOne
Pages behind a loginYes, in your sessionNo
CostFree, on your hardware200 a month free, then from $9

Start free. About $0.001 a capture at scale.

Every feature on every plan. Free includes one daily or weekly schedule; paid plans add hourly schedules and up to 180 days of history. Annual billing gives two months free.

Free $0 / month 200 captures a month No card needed
Starter $9 / month 2,000 a month $0.0045 a capture
Growth $29 / month 10,000 a month $0.0029 a capture
Business $79 / month 50,000 a month $0.0016 a capture
Scale $199 / month 200,000 a month $0.001 a capture
Get free API keyPrices in USD. Cancel from the dashboard at any time. Details and credit packs on the pricing page.

The same workload elsewhere

Free plan and monthly cost for 2,000 to 200,000 captures a month
Captures a monthFree plan2,00010,00050,000200,000
SnapRender200$9$29$79$199
ScreenshotOne100$17$79$259$859
Urlbox (Hi-Fi)None$49$67$240$800
ApiFlash100$35$35$180Quote
CaptureKit100$16$29$89$1,214

Cheapest monthly plan that covers each volume, from each vendor's published pricing page, checked October 6, 2026; overage added where a vendor allows it. Urlbox's lower Lo-Fi tier covers sites you own only. ApiFlash publishes no plan above 100,000. Detailed comparisons

Questions agent builders ask.

How is SnapRender different from Playwright MCP?

Playwright MCP drives a browser on your machine step by step, which is what you want for clicks, forms and logins. SnapRender is for seeing and reading pages: one call returns the rendered page with cookie walls cleared, from any client, including claude.ai and cloud agents that cannot run a local browser. Many agents use both.

Do I need an API key to connect Claude, Cursor or Codex?

No. The hosted MCP server asks you to sign in through your browser (Google, GitHub or email) the first time your client connects, so there is no key to copy. Scripts, SDKs, CI jobs and clients without sign-in support use an API key from the dashboard instead.

What happens when my agent runs out of free captures?

The free plan includes 200 captures a month; email sign-ups get 25 until they confirm their email with a 6-digit code. When the month runs out, the tool answers with a plain message your agent can pass on to you: the date the allowance resets and where to upgrade. Nothing is charged automatically.

Do you keep the pages my agent captures?

Each capture comes back in the tool result. Your agent gets a new render every time by default. It can ask for a free copy of the same page captured in the last 24 hours when that is good enough, and API captures are cached only when you turn caching on.

Can it capture pages behind a login?

No. SnapRender opens pages without your cookies or login, so it captures public pages, including preview deployments anyone can open. For pages behind a login, use a browser automation tool.

Can I cancel a paid plan?

Yes. Cancel from the billing page in your dashboard. You keep the plan until the end of the billing period, then the account moves to the free plan.

How much does it cost to give an AI agent web vision?

The free plan includes 200 captures a month with no card. Paid plans are Starter at $9 for 2,000, Growth at $29 for 10,000, Business at $79 for 50,000 and Scale at $199 for 200,000 captures a month, which is about $0.001 a capture. Annual billing gives two months free, and every plan includes every feature.

Which AI clients can connect?

Claude (claude.ai, Desktop and Claude Code), Cursor, OpenAI Codex, VS Code, Windsurf, Gemini CLI, Zed, Cline and any other client that supports remote MCP servers. Each one has a short setup guide on the AI connectors page.

Can the agent read the page as text too?

Yes. The extract_content tool returns the page as clean markdown, plain text, the main article, its links or its metadata, rendered in the same real browser, so the agent can look at the layout and then read the words.

Does SnapRender work with autonomous agents that run unattended?

Yes. Agents authenticate with an API key or OAuth, every REST response carries rate limit and remaining credit headers so a loop can pace itself, batch jobs report back through signed webhooks, and scheduled captures keep running on their own with a webhook when a page changes.

Can I use SnapRender as an OpenAI tool_call?

Yes. Define a function tool that takes a URL and calls the REST endpoint, or import the OpenAPI spec at https://snap-render.com/openapi.json. The OpenAI Agents SDK, LangChain, CrewAI and AutoGen can also connect to the hosted MCP server directly.

How do AI agents use a screenshot API?

The agent calls a tool with a URL and gets back an image of the rendered page, which a vision model can read like a person would. SnapRender exposes that as an MCP tool (take_screenshot), a REST endpoint and SDKs, so the same capture works from Claude, Cursor, Codex, an agent framework or a plain script.

What is MCP and how does SnapRender support it?

The Model Context Protocol is the standard way AI clients discover and call tools. SnapRender runs a hosted MCP server at https://app.snap-render.com/mcp with 11 tools: screenshots, device emulation, page content as markdown, signed links, batch jobs, usage and webhooks. You can sign in with Google, GitHub or email when your client connects, or pass an API key. A local package (npx snaprender-mcp) is available for clients that only run local servers.

Your agent's first capture is one command away.

200 captures a month free, no card. Connect your client and sign in with Google or GitHub, or take an API key for scripts and SDKs.

Get free API key
$claude mcp add --transport http --scope user snaprender \https://app.snap-render.com/mcp

Then type /mcp, choose snaprender and Authenticate.

Let your agent set itself upEvery client guideAPI docs