ShotpaneGet a free key

API documentation

One base URL, three REST endpoints, and an MCP server. Authenticate with ?key= or an Authorization: Bearer header. Want to try it without writing code? Use the render playground.

Authentication

Every request needs a key (get one free, 100 renders/mo, no card). Pass it as a ?key= query parameter or, equivalently, an Authorization: Bearer header.

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://www.shotpane.com/api/v1/screenshot?url=https://stripe.com" -o shot.png

Screenshot

GET /api/v1/screenshot returns an image (PNG or JPEG) of the page. Supports format, full_page, width, and height.

curl "https://www.shotpane.com/api/v1/screenshot?url=https://stripe.com&full_page=true&key=YOUR_KEY" -o out.png

Website to PDF

GET /api/v1/pdf returns an A4 PDF of the page.

curl "https://www.shotpane.com/api/v1/pdf?url=https://stripe.com&key=YOUR_KEY" -o out.pdf

OG image

GET /api/v1/og renders a URL at the 1200×630 social size. Point it at your own /og route. See the OG-image guide.

curl "https://www.shotpane.com/api/v1/og?url=https://myapp.com/og/post-123&key=YOUR_KEY" -o out.png

Parameters

ParamValuesDescription
urlrequiredThe http(s) URL to capture. Internal/private addresses are rejected.
keyrequiredYour API key (or send as Authorization: Bearer <key>).
formatpng | jpegImage format for /screenshot. Default png.
full_pagetrue | falseCapture the full scrollable page. Default false.
widthnumberViewport width in px. Default 1280.
heightnumberViewport height in px. Default 800.

Errors

401 invalid/missing key · 429 monthly limit reached · 400 bad/blocked URL · 502 render failed. Errors come back as { "error": "…" } JSON.

OpenAPI / Postman / RapidAPI

An OpenAPI 3.1 spec describes every endpoint, parameter, and response. Import it into Postman, Insomnia, RapidAPI, or any client to generate requests and SDKs.

https://www.shotpane.com/openapi.jsonView spec →

Connect your AI agent (MCP server)

Shotpane is a streamable-HTTP MCP server exposing the screenshot, url_to_pdf, and og_imagetools, so Claude, Cursor, or any MCP client can capture pages with a metered key. Add this to your client’s mcpServers config (Claude Desktop, Claude Code, Cursor, Windsurf all use the same shape) and swap in your key:

{
  "mcpServers": {
    "shotpane": {
      "url": "https://www.shotpane.com/mcp?key=YOUR_KEY"
    }
  }
}

The endpoint is https://www.shotpane.com/mcp (POST, JSON-RPC 2.0). Pass your key via the URL as above, an Authorization: Bearer header, or an apiKey tool argument. Shotpane is also listed for one-click discovery on Glama and Smithery.