Built for agent context windows

Let your AI agent see the web — without torching its context

Most screenshot APIs hand your agent a 500KB base64 image that torches the context window. We return a ~30KB preview, extracted page text, and a signed URL for the full-res original — so your agent sees everything and spends ~90% less.

terminal
# Screenshot any URL — one POST
curl -X POST https://api.pagevistly.com/v1/screenshot \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "url": "https://example.com",
    "full_page": true,
    "block_cookie_banners": true,
    "block_ads": true
  }' --output page.png

# Or let your agent call it via MCP
# claude_desktop_config.json
{
  "mcpServers": {
    "pagevistly": {
      "command": "npx",
      "args": ["-y", "@pagevistly/mcp"],
      "env": { "PAGEVISTLY_API_KEY": "sk_live_..." }
    }
  }
}

One screenshot. Two very different bills.

What your agent actually receives when it asks to "see" a webpage.

Typical screenshot API

response
{
  "image": "data:image/png;base64,
  iVBORw0KGgoAAAANSUhEUg..." [500KB]
}

One image burns most of the context window.

PageVistly

response
{
  "preview": "iVBOR..." [~30KB],
  "text": "Pricing. Starter $5...",
  "full_res_url": "https://...",
  "est_tokens": 1800
}

~90% less context, same information.

Rendering, optimized for your agent's context budget.

Headless Chrome at scale is a part-time job. We already did it — cookie banners, lazy loading, web fonts, retries — so you don't have to.

Context-economical

Official MCP server with max_tokens budgets and detail presets. Your agent gets a ~30KB preview + extracted text instead of a 500KB raw image.

📸

Screenshots

Full-page or viewport, PNG/JPEG/WebP, retina scale, custom device emulation. Cached responses return in milliseconds.

📄

PDF rendering

URL or raw HTML to print-perfect PDF. Headers, footers, page ranges — everything headless Chrome can do, minus the DevOps.

🖼️

OG images

Template-based social cards. Pass a title and author, get back a 1200×630 image. Perfect for programmatic content sites.

🚫

Banner & ad blocking

One flag removes cookie consent walls and ads before capture. Clean pixels, every time — our most-loved option.

🔒

Simple, honest limits

API keys with per-key quotas and rate limits. Usage dashboard included. No surprise bills — overage is opt-in.

Native MCP server. Zero glue code.

Drop two lines into Claude Desktop, Cursor, or any MCP-compatible agent. Your agent gains eyes: it can screenshot pages, archive receipts as PDF, and verify what a site actually looks like.

  • Published on npm as @pagevistly/mcp
  • Install in one line: npx @pagevistly/mcp
  • Tools: read_page, make_og_image
  • Works with Claude, Cursor, Windsurf, and custom agents
agent session
# Inside your agent's tool loop
tool_call: read_page
  url: "https://stripe.com/pricing"
  detail: "low"          # compact preview + text
  max_tokens: 4000

# → context-friendly response
{
  "title": "Stripe Pricing",
  "text": "Pricing. Starter $9...", # extracted page text
  "preview": "iVBOR...",          # downscaled, ~30KB
  "full_res_url": "https://...",   # signed, fetch if needed
  "est_tokens": 1800
}

Pricing that scales with you

Start free. Pay only when your agents get busy.

Free
$0/mo
500 renders / month
  • All three endpoints
  • MCP server access
  • Agent-ready output
  • Community support
Start free
MOST POPULAR
Starter
$5/mo
2,000 renders / month
  • Everything in Free
  • Retina & device emulation
  • Banner / ad blocking
  • Email support
Get Starter
Pro
$15/mo
10,000 renders / month
  • Everything in Starter
  • Priority render queue
  • Custom cache TTL
  • Overage at $2.5 / 1k renders
Get Pro

Get early access

We're onboarding the first 100 developers. Join the list — founding members get 50% off for life.

No spam. One email when we launch, unsubscribe anytime.
You're on the list. Talk soon.