# ScreenshotBuddy > ScreenshotBuddy renders any public web page as an image or a PDF over a single authenticated `GET` request. A successful call answers with the file itself; every refusal is one JSON envelope carrying a machine readable code. The API base URL is `https://api.screenshotbuddy.io/v1`. Every page below is also served as HTML at the same URL without the `.md`. The whole of it in one fetch is [llms-full.txt](https://screenshotbuddy.io/llms-full.txt). ## Guides - [Quickstart](https://screenshotbuddy.io/documentation.md): How the API works, how to authenticate with it, and the first request in cURL, JavaScript, Python, PHP and Laravel. - [Authentication](https://screenshotbuddy.io/documentation/authentication.md): Creating, narrowing, expiring and rotating an API token, how to send it, and what the API answers when it is missing. ## Resources - [Taking screenshots](https://screenshotbuddy.io/documentation/taking-screenshots.md): Every query parameter a screenshot request accepts, with its type, its default and the range it is held to. - [Creating PDFs](https://screenshotbuddy.io/documentation/creating-pdfs.md): Every query parameter a PDF request accepts, including paper size, orientation and margins. - [Errors](https://screenshotbuddy.io/documentation/errors.md): The error envelope, every status the API answers with, every machine readable code, and which failures are worth retrying. - [Rate limits](https://screenshotbuddy.io/documentation/rate-limits.md): The two per-minute budgets an account is held to, renders and cached answers, the headers that report where you stand against them, and the usage endpoint that says so before you spend anything. - [Caching](https://screenshotbuddy.io/documentation/caching.md): When a repeated request is answered from the rendering already made, what that costs, and how to turn it off. - [Signed URLs](https://screenshotbuddy.io/documentation/signed-urls.md): Building a capture URL that carries its own HMAC proof of authorisation, so it can go straight into an image tag without your API token going with it. - [Batch and async renders](https://screenshotbuddy.io/documentation/batch-renders.md): Submitting up to 20 renders in one request and collecting them later, by polling or by a signed webhook, without holding a connection open or building a throttled queue of your own. - [The MCP server](https://screenshotbuddy.io/documentation/mcp-server.md): The same API as five tools an AI client can call, including submitting and polling a batch, the command that connects one, and how the tokens, the credits and the limits are the ones you already have. - [Changelog](https://screenshotbuddy.io/documentation/changelog.md): Every change to the API that a caller can notice, newest first, and what is promised not to change. - [SDKs and tools](https://screenshotbuddy.io/documentation/sdks.md): The Postman collection, the PHP and JavaScript reference clients, and generating a client from the OpenAPI document. ## Use cases - [The screenshot MCP server](https://screenshotbuddy.io/mcp-server.md): Connect Claude Code, Claude Desktop, Cursor or any MCP client to ScreenshotBuddy and let your agent take screenshots and PDFs with the tokens and credits you already have. - [URL to PDF API](https://screenshotbuddy.io/use-cases/url-to-pdf-api.md): Turn any URL into a pixel-perfect PDF with one GET request: paper sizes, margins, backgrounds, signed URLs and batch generation from a single endpoint. - [Website thumbnail API](https://screenshotbuddy.io/use-cases/website-thumbnails.md): Generate website thumbnails at any scale by putting a signed capture URL straight into an img tag: no storage, no cron jobs, no cache invalidation. ## Machine readable - [ScreenshotBuddy OpenAPI specification](https://api.screenshotbuddy.io/v1/openapi.json): the whole API as OpenAPI 3.1, generated from the definitions the API validates against. No token needed. - [ScreenshotBuddy Postman collection](https://api.screenshotbuddy.io/v1/postman.json): the same API as a Postman collection, with every endpoint and every parameter it accepts. - [ScreenshotBuddy agent skill](https://screenshotbuddy.io/.well-known/skills/screenshotbuddy-api/SKILL.md): the same API as an Agent Skill, installable with `npx skills add screenshotbuddy.io`.