# 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://screenshotbuddy.io/api/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): How many requests per minute an account may make, the headers that report it, and the usage endpoint that reports it before you spend one. - [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. - [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. ## Machine readable - [ScreenshotBuddy OpenAPI specification](https://screenshotbuddy.io/api/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://screenshotbuddy.io/api/v1/postman.json): the same API as a Postman collection, with every endpoint and every parameter it accepts.