For agents
Let your agent take the screenshots
ScreenshotBuddy speaks the Model Context Protocol, so the agent you already work in can render a page to an image or a PDF without you writing the request. Setup is two steps and takes about a minute.
-
1
Add the server to your client
One command, or a handful of lines of JSON. The setup for every client is below.
-
2
Hand it an API key
The key is the only thing you have to fill in. You create it yourself, under Settings, API tokens.
Setup, per client
Pick the one you use. Everything is filled in except the key, which goes where it says
<your API key>.
claude mcp add --transport http screenshotbuddy https://screenshotbuddy.io/mcp --header "Authorization: Bearer <your API key>"
{
"mcpServers": {
"screenshotbuddy": {
"url": "https://screenshotbuddy.io/mcp",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}
.cursor/mcp.json for one project, or in
~/.cursor/mcp.json to have it everywhere.
{
"servers": {
"screenshotbuddy": {
"type": "http",
"url": "https://screenshotbuddy.io/mcp",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}
npx skills add screenshotbuddy.io
curl "https://api.screenshotbuddy.io/v1/snap?url=https%3A%2F%2Fexample.com" \
-H "Authorization: Bearer <your API key>" \
--output screenshot.png
The MCP server lives at https://screenshotbuddy.io/mcp over streamable HTTP, and authenticates with the same bearer tokens as the REST API. There is no second credential and no OAuth step. What each tool answers with, what it costs and how a token narrows it is in the MCP server documentation.
What your agent can do
Three tools, described to the agent well enough that it picks the right one without being told.
- take-screenshot
- Renders a public page and hands the image back in the conversation, so the agent can look at what it captured.
- create-pdf
- Prints a page to PDF and answers with a signed download link, because the file itself is far too large to travel in a tool result. The link works for a day, and never outlasts the cached copy it hands over.
- check-usage
- Reports credits left, the plan and both rate limits. It answers at zero rather than refusing, which is the case it exists for.
The tools render one page at a time, which is what a conversation wants. When the job is a set of pages, or a page slow enough to outlast a tool call, the REST API takes them together: a single POST /renders queues the lot and answers straight away, and the results are collected by polling or from one webhook when the batch is done. Every item is paced against the account's render limit by us rather than by the agent. See batch and async renders.
What it costs
One credit per fresh render. An identical request is answered out of the cache and costs nothing, a failed render is refunded, and check-usage is always free. An agent that loops on a page it has already captured is not spending your allowance.
The rate limit splits the same way. Only a request that has to render is counted against the renders your plan allows per minute; a repeat answered from the cache comes out of a separate budget of 300 a minute, and asking how much is left costs nothing at either. An agent that polls and re-reads cannot throttle the work you were saving the renders for.
Where the key comes from
You create it, not the agent. There is deliberately no endpoint that mints a token, so an agent cannot sign itself up. Create one under Settings, API tokens, copy the value while it is on screen, and paste it into the snippet above. A token can be narrowed to screenshots only or to PDFs only, which is worth doing before handing one to an agent.
New accounts get 200 renders a month for free, so an agent can be useful before anything is paid for.
For agents reading this
If you are the agent rather than the person, read one of these instead of this page. They say the same things without the layout.
- llms.txt An index of every documentation page, in markdown, with a line on what each one covers. https://screenshotbuddy.io/llms.txt
- llms-full.txt The same documentation as one document, for a reader that would rather fetch once than ten times. https://screenshotbuddy.io/llms-full.txt
- OpenAPI 3.1 document Every parameter, response and error code of the REST API, machine readable. https://api.screenshotbuddy.io/v1/openapi.json
- Agent Skills index Discovery for the skill that npx skills add screenshotbuddy.io installs. https://screenshotbuddy.io/.well-known/skills/index.json
- Postman collection The same endpoints as an importable collection. https://api.screenshotbuddy.io/v1/postman.json
Every documentation page is also served as markdown at its own URL with .md on the end.