openapi: 3.1.0 info: title: ScreenshotOne Account Screenshots API description: Minimal OpenAPI description of the ScreenshotOne screenshot rendering API. version: 1.0.0 x-generated-from: https://screenshotone.com/docs/ x-generated-by: claude-crawl-2026-05-08 servers: - url: https://api.screenshotone.com description: ScreenshotOne production API security: - accessKeyQuery: [] - accessKeyHeader: [] tags: - name: Screenshots paths: /take: get: tags: - Screenshots summary: Take a screenshot description: Captures a screenshot of the requested URL or rendered HTML/Markdown content. parameters: - $ref: '#/components/parameters/Url' - $ref: '#/components/parameters/Html' - $ref: '#/components/parameters/Markdown' - $ref: '#/components/parameters/Format' - $ref: '#/components/parameters/FullPage' - $ref: '#/components/parameters/ViewportWidth' - $ref: '#/components/parameters/ViewportHeight' - $ref: '#/components/parameters/BlockAds' - $ref: '#/components/parameters/BlockCookieBanners' responses: '200': description: Rendered screenshot content: image/png: schema: type: string format: binary image/jpeg: schema: type: string format: binary image/webp: schema: type: string format: binary '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - Screenshots summary: Take a screenshot (POST) description: Same as GET /take but accepts options as a JSON request body. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScreenshotOptions' responses: '200': description: Rendered screenshot content: image/png: schema: type: string format: binary image/jpeg: schema: type: string format: binary image/webp: schema: type: string format: binary '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' components: parameters: Format: name: format in: query description: Output image format. schema: type: string enum: - png - jpeg - jpg - webp - gif - pdf BlockAds: name: block_ads in: query description: Block advertisements during rendering. schema: type: boolean Markdown: name: markdown in: query description: Markdown content to render. One of url, html, or markdown is required. schema: type: string FullPage: name: full_page in: query description: Capture the entire scrollable page. schema: type: boolean ViewportHeight: name: viewport_height in: query description: Viewport height in pixels. schema: type: integer minimum: 1 ViewportWidth: name: viewport_width in: query description: Viewport width in pixels. schema: type: integer minimum: 1 BlockCookieBanners: name: block_cookie_banners in: query description: Block cookie consent banners during rendering. schema: type: boolean Html: name: html in: query description: Raw HTML to render. One of url, html, or markdown is required. schema: type: string Url: name: url in: query description: The URL of the website to screenshot. schema: type: string format: uri schemas: ScreenshotOptions: type: object description: Generic ScreenshotOne options envelope. properties: url: type: string format: uri html: type: string markdown: type: string format: type: string full_page: type: boolean viewport_width: type: integer viewport_height: type: integer access_key: type: string additionalProperties: true Error: type: object description: Generic error response. properties: error_code: type: string error_message: type: string additionalProperties: true securitySchemes: accessKeyQuery: type: apiKey in: query name: access_key description: API access key passed as a query string parameter. accessKeyHeader: type: apiKey in: header name: X-Access-Key description: API access key passed via the X-Access-Key request header.