SnapRender integration
SnapRender captures web pages in real Chrome. Capture a URL, raw HTML or Markdown as a PNG, JPEG, WebP or PDF file (viewport or full page, device presets, dark mode, ads and cookie banners removed, elements hidden or clicked first), extract a page as markdown, text, HTML, article fields, links or metadata, capture up to 50 URLs in one batch job, create signed links that render a capture without a key, schedule hourly, daily or weekly captures that detect page changes, read usage, and manage webhooks. Each capture, extraction, batch item or scheduled capture uses one of the plan's monthly captures (free plan 200 a month, 10 requests a minute; failed batch and scheduled captures are refunded; cached hits are free); pages get up to 30 seconds to load and private or local addresses are refused. The query-string twins of the screenshot and extract tools and the keyless render route of signed links are not exposed. Authentication is an API key (sk_live_...) from the SnapRender dashboard, sent in the X-API-Key header.
Say what should happen.
The workflow builds itself.
What you can do with SnapRender
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Schedule, 6 operations
create_scheduleCreate schedulePOSTAgents: ask firstCreates a schedule that captures a URL every hour, day or week as PNG, first within a minute, and compares each capture with the last. Each capture uses one monthly capture (failed ones refunded). Read results with list_schedule_captures.delete_scheduleDelete scheduleDELETEAgents: ask firstDeletes a schedule together with all its stored captures, for good.get_scheduleGet scheduleGETAgents: ask firstReturns one schedule: URL, interval, render options, change threshold, email notification, whether it is active or why it is paused, consecutive failures, last error and last and next run times.list_schedulesList schedulesGETAgents: ask firstLists the account's schedules, newest first (URL, interval, render options, change threshold, active or paused and why, failures, last and next run), with the plan's limits (schedules allowed, used, retention days).run_schedule_nowRun schedule nowPOSTAgents: ask firstMakes a schedule capture now: the capture runs within a minute and uses one monthly capture. Fails with 409 when the schedule is paused. Read the result with list_schedule_captures.update_scheduleUpdate schedulePATCHAgents: ask firstRenames, retimes, pauses or resumes a schedule, or changes its change threshold or email notification. Only the fields sent change; leave a field out to keep its current setting. Resuming needs an eligible plan.
Webhook, 4 operations
create_webhookCreate webhookPOSTAgents: ask firstRegisters an https URL that SnapRender POSTs signed events to (screenshot.completed, quota.warning, quota.exceeded, capture.completed, change.detected), at most 5 per account. The whsec_ signing secret it returns is withheld here.delete_webhookDelete webhookDELETEAgents: ask firstDeletes a webhook: SnapRender stops delivering events to its URL.list_webhooksList webhooksGETAgents: ask firstLists the account's webhooks with their id, URL, subscribed events, whether each is active and when it was created. Signing secrets are withheld.test_webhookTest webhookPOSTAgents: ask firstSends a real test delivery to the webhook's URL now and returns whether it succeeded, the HTTP status code received and when it was delivered.
Batch, 2 operations
create_batchCreate batchPOSTAgents: ask firstStarts a job that captures up to 50 URLs with the same options and returns its jobId at once; poll get_batch until status is completed or failed to get each item's download link. Each URL uses one monthly capture (failed ones refunded).get_batchGet batchGETAgents: ask firstReturns a batch job's progress (status pending, processing, completed or failed; totals completed and failed) and each URL's status, download link (valid 24 hours) or error. Call it again until status is completed or failed.
Usage, 2 operations
get_daily_usageGet daily usageGETAgents: ask firstReturns the number of captures used per day over the last N days (30 by default, up to 90).get_usageGet usageGETAgents: ask firstReturns the account's plan and its usage for the current monthly period: captures used, the monthly limit and captures remaining, with the period's start and end. Captures reset on the 1st of each month (UTC).
Capture, 1 operation
list_schedule_capturesList schedule capturesGETAgents: ask firstLists a schedule's captures, newest first: status, time, share of the page changed and whether it counted as a change, SHA-256, size, render time, error and a download link valid one hour. Pass nextBefore as before for older ones.
Page content, 1 operation
extract_contentExtract contentPOSTAgents: ask firstLoads a web page in real Chrome and returns its content: markdown (default), text, html, article (title, author, excerpt, content), links (href and text) or metadata (title, description, Open Graph, Twitter Card). Uses one monthly capture.
Screenshot, 1 operation
capture_screenshotCapture screenshotPOSTAgents: ask firstCaptures a web page (url), raw HTML (html) or Markdown (markdown) in real Chrome and returns the PNG, JPEG, WebP or PDF as a stored file. Pass exactly one source. Uses one monthly capture unless a cached copy is returned.
Screenshot cache, 1 operation
get_screenshot_cache_infoGet screenshot cache infoGETAgents: ask firstChecks whether a capture of this URL, format and size is in SnapRender's cache, and when it was cached and expires. Captures nothing and uses no capture.
Service, 1 operation
get_healthGet healthGETAgents: ask firstChecks whether SnapRender is up: returns status ok plus the state of its Chromium, Redis and database and the uptime. Needs no key and uses no capture.
Signed url, 1 operation
create_signed_screenshot_urlCreate signed screenshot urlPOSTAgents: ask firstCreates a signed link that renders a fresh capture of the URL whenever it is opened, with no API key, until it expires. Anyone holding the link can use it, and each opening uses one of your monthly captures. Signing itself is free.
Use SnapRender from Claude Code, Cursor or Codex
Connect SnapRender in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its SnapRender operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect SnapRender
- Create your workspace
Sign up free. Nothing to install.
- Connect SnapRender once
Add your SnapRender connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
SnapRender integration FAQ
What can you do with the SnapRender integration?
LiveContext exposes 20 operations on SnapRender, covering schedule, webhook, batch and usage.
