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.pngScreenshot
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.pngWebsite 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.pdfOG 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.pngParameters
| Param | Values | Description |
|---|---|---|
| url | required | The http(s) URL to capture. Internal/private addresses are rejected. |
| key | required | Your API key (or send as Authorization: Bearer <key>). |
| format | png | jpeg | Image format for /screenshot. Default png. |
| full_page | true | false | Capture the full scrollable page. Default false. |
| width | number | Viewport width in px. Default 1280. |
| height | number | Viewport 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.