snapshot-site-com API

snapshot-site-com API as documented publicly: 11 operations. Contract generated from the documentation by API Evangelist (2026-10-31); not the provider's own document.

Operations 11

POST /api/v1 Build an explicit screenshot request instead of relying on hidden defaults #
GET /api/v1/screenshot GET /api/v1/screenshot #
POST /api/v1/screenshot POST /api/v1/screenshot #
POST /api/v2/screenshot Browser Rendering API example #
POST /api/v3/analyze POST /api/v3/analyze #
POST /api/v3/compare Compare two live captures or two PNG screenshots, then inspect the diff image and mismatch rate. #
POST /v1/screenshot v1/screenshot: The Simple Case #
GET /v1/urltoimage ApiFlash GET https://api.apiflash.com/v1/urltoimage?access_key=…&url=…&format=png returns the image, or a JSON envelope if you add response_type=json. #
POST /v1/urltoimage POST /v1/urltoimage #
POST /v2/screenshot v2/screenshot: When You Need to Change the Page First #
POST /v3/analyze v3/analyze: Screenshot Plus AI Insight #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/snapshot-site-com:snapshot-site-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

snapshot-site-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: snapshot-site-com API
  version: '2026-10-31'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-31: 11 operation(s) read from 40 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; snapshot-site-com has published no machine-readable
    contract that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 7
    pages-with-code: 36
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-31'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://snapshot-site.com/pdf-api
  - https://snapshot-site.com/visual-diff-api
  - https://snapshot-site.com/html-to-image-api
  - https://snapshot-site.com/webpage-to-png-api
  - https://snapshot-site.com/nuxt-screenshot-api
  - https://snapshot-site.com/webpage-to-html-api
  - https://snapshot-site.com/webpage-to-jpeg-api
  - https://snapshot-site.com/webpage-to-webp-api
  - https://snapshot-site.com/astro-screenshot-api
  - https://snapshot-site.com/headless-browser-api
  - https://snapshot-site.com/screenshot-delay-api
  - https://snapshot-site.com/browser-rendering-api
  - https://snapshot-site.com/chrome-screenshot-api
  - https://snapshot-site.com/website-thumbnail-api
  - https://snapshot-site.com/browser-automation-api
  - https://snapshot-site.com/express-screenshot-api
  - https://snapshot-site.com/website-screenshot-api
  - https://snapshot-site.com/chromium-screenshot-api
  - https://snapshot-site.com/screenshot-viewport-api
  - https://snapshot-site.com/posts/ai-webpage-analysis-api
  - https://snapshot-site.com/custom-javascript-screenshot-api
  - https://snapshot-site.com/posts/turn-rendered-web-pages-into-structured-data-with-the-analyze-api
  - https://snapshot-site.com/posts/comparing-a-live-page-against-a-design-mockup-with-the-visual-diff-api
  - https://snapshot-site.com/posts/auditing-a-component-library-or-storybook-for-visual-drift-with-the-compare-api
  - https://snapshot-site.com/posts/snapshot-api-v1-vs-v2-vs-v3-which-endpoint-to-use
  - https://snapshot-site.com/api-docs
  - https://snapshot-site.com/integrations/zapier
  - https://snapshot-site.com/screenshot-api-curl
  - https://snapshot-site.com/apiflash-alternative
  - https://snapshot-site.com/screenshot-api-examples
  - https://snapshot-site.com/screenshot-api-aws-lambda
  - https://snapshot-site.com/screenshot-api-authentication
  - https://snapshot-site.com/posts/snapshot-site-vs-apiflash
  - https://snapshot-site.com/screenshot-api-request-parameters
  - https://snapshot-site.com/posts/best-free-screenshot-apis-for-developers
  - https://snapshot-site.com/posts/how-to-screenshot-a-strapi-powered-site-in-typescript
  - https://snapshot-site.com/posts/tuning-threshold-in-the-visual-diff-api-to-avoid-false-positives
  - https://snapshot-site.com/posts/avoiding-duplicate-capture-costs-a-simple-client-side-caching-pattern
  - https://snapshot-site.com/posts/automating-screenshots-with-pipedream-a-developer-friendly-no-code-recipe
  - https://snapshot-site.com/posts/restaurant-and-food-delivery-monitoring-menu-pages-across-delivery-platforms
servers:
- url: https://api.prod.ss.snapshot-site.com
paths:
  /api/v1:
    post:
      operationId: post_api_v1
      tags:
      - Api
      summary: Build an explicit screenshot request instead of relying on hidden defaults
      x-source: https://snapshot-site.com/screenshot-api-request-parameters
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1Request'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/screenshot:
    get:
      operationId: get_api_v1_screenshot
      tags:
      - Api
      summary: GET /api/v1/screenshot
      x-source: https://snapshot-site.com/posts/automating-screenshots-with-pipedream-a-developer-friendly-no-code-recipe
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl ). \n Action: a Node.js code step that calls the Snapshot Site API with the URL from the incoming payload. \n Action: the\
          \ resulting screenshot URL gets forwarded wherever the workflow needs it next — Slack, a database, another webhook. \n Step 1: Start\
          \ with an HTTP Trigger \n Create a new Pipedream workflow with the HTTP / Webhook trigger. Pipedream generates a unique endpoint URL\
          \ immediately — a"
    post:
      operationId: post_api_v1_screenshot
      tags:
      - Api
      summary: POST /api/v1/screenshot
      x-source: https://snapshot-site.com/pdf-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1ScreenshotRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST https://api.prod.ss.snapshot-site.com/api/v1/screenshot Auth: x-snapshotsiteapi-key: YOUR_API_KEY Get started for
          free PDF output Good fits Dashboard and report exports for stakeholders Archiving pricing, legal, or policy pages as documents Controlled
          invoice and receipt preview routes Long-form content exported for offline review How the PDF export works There is no separate PDF serv'
  /api/v2/screenshot:
    post:
      operationId: post_api_v2_screenshot
      tags:
      - Api
      summary: Browser Rendering API example
      description: Start a browser rendering API request. Send a JSON payload with the URL and rendering options. The API returns the rendered
        asset in the requested format.
      x-source: https://snapshot-site.com/browser-rendering-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV2ScreenshotRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v3/analyze:
    post:
      operationId: post_api_v3_analyze
      tags:
      - Api
      summary: POST /api/v3/analyze
      x-source: https://snapshot-site.com/posts/ai-webpage-analysis-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV3AnalyzeRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://api.snapshot-site.com/api/v3/analyze  -H \"Authorization: Bearer YOUR_API_KEY\"  -H \"Content-Type: application/json\"\
          \  -d '{\n \"url\": \"ttps://snapshot-site.com\",\n \"waitForDom\": true,\n \"fullSize\": true,\n \"hideCookie\": true,\n \"enableSummary\"\
          : true,\n \"enableQuality\": true\n }' \n \U0001F449 Recommended plan: Mega \n Start with Snapshot Site Related Articles SEO & Content\
          \ QA Playbook Powered by S"
  /api/v3/compare:
    post:
      operationId: post_api_v3_compare
      tags:
      - Api
      summary: Compare two live captures or two PNG screenshots, then inspect the diff image and mismatch rate.
      x-source: https://snapshot-site.com/visual-diff-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV3CompareRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV3CompareResponse'
      x-evidence:
        kind: documentation
  /v1/screenshot:
    post:
      operationId: post_v1_screenshot
      tags:
      - Screenshot
      summary: 'v1/screenshot: The Simple Case'
      x-source: https://snapshot-site.com/posts/snapshot-api-v1-vs-v2-vs-v3-which-endpoint-to-use
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ScreenshotRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/urltoimage:
    get:
      operationId: get_v1_urltoimage
      tags:
      - Urltoimage
      summary: ApiFlash GET https://api.apiflash.com/v1/urltoimage?access_key=…&url=…&format=png returns the image, or a JSON envelope if you
        add response_type=json.
      x-source: https://snapshot-site.com/posts/snapshot-site-vs-apiflash
      parameters:
      - name: access_key
        in: query
        required: true
        schema:
          type: string
        description: Your ApiFlash access key.
      - name: url
        in: query
        required: true
        schema:
          type: string
        description: The page URL to screenshot.
      - name: format
        in: query
        required: false
        schema:
          type: string
        description: Image format (png, jpeg, etc.).
      - name: response_type
        in: query
        required: false
        schema:
          type: string
        description: If set to json, returns a JSON envelope instead of raw image.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_urltoimage
      tags:
      - Urltoimage
      summary: POST /v1/urltoimage
      x-source: https://snapshot-site.com/apiflash-alternative
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1UrltoimageRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.apiflash.com/v1/urltoimage ?access_key=YOUR_KEY &url=https%3A%2F%2Fexample.com &format=png &width=1280 &full_page=true\
          \ &no_cookie_banners=true &response_type=json\"\n After — Snapshot Site curl --request POST  --url https://api.prod.ss.snapshot-site.com/api/v2/screenshot\
          \  --header 'Content-Type: application/json'  --header 'x-snapshotsiteapi-key: YOUR_API_KEY'  --data '{\n \"url\": \"h"
  /v2/screenshot:
    post:
      operationId: post_v2_screenshot
      tags:
      - Screenshot
      summary: 'v2/screenshot: When You Need to Change the Page First'
      x-source: https://snapshot-site.com/posts/snapshot-api-v1-vs-v2-vs-v3-which-endpoint-to-use
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV2ScreenshotRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v3/analyze:
    post:
      operationId: post_v3_analyze
      tags:
      - Analyze
      summary: 'v3/analyze: Screenshot Plus AI Insight'
      x-source: https://snapshot-site.com/posts/snapshot-api-v1-vs-v2-vs-v3-which-endpoint-to-use
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV3AnalyzeRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiV1Request:
      type: object
      properties:
        url:
          type: string
          description: Target URL identifies the page to capture
        format:
          type: string
          description: Selects the artifact format (e.g., webp)
        width:
          type: integer
          description: Browser viewport width for responsive layout
        height:
          type: integer
          description: Browser viewport height
        fullSize:
          type: boolean
          description: Requests the complete scrollable document rather than only the current viewport
        hideCookie:
          type: boolean
          description: Supports cleanup of common cookie or consent UI
        delay:
          type: integer
          description: Fixed delay in seconds before capture
      required:
      - url
    PostApiV1ScreenshotRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        width:
          type: integer
        hideCookie:
          type: boolean
    PostApiV2ScreenshotRequest:
      type: object
      properties:
        url:
          type: string
          description: The reachable page URL to render.
        format:
          type: string
          description: Output format, e.g., "html".
        width:
          type: integer
          description: Viewport width in pixels.
        height:
          type: integer
          description: Viewport height in pixels.
        delay:
          type: integer
          description: Delay in seconds before capture.
        hideCookie:
          type: boolean
          description: Whether to hide cookie consent UI.
        hide:
          type: string
          description: CSS selectors of elements to hide, comma‑separated.
      required:
      - url
      - format
    PostApiV3AnalyzeRequest:
      type: object
      properties:
        url:
          type: string
        waitForDom:
          type: boolean
        fullSize:
          type: boolean
        hideCookie:
          type: boolean
        enableSummary:
          type: boolean
        enableQuality:
          type: boolean
    PostApiV3CompareRequest:
      type: object
      properties:
        before:
          type: object
          description: Source for the before state
        before.url:
          type: string
          description: URL of the page to capture for the before state
        before.width:
          type: integer
          description: Viewport width for the before capture
        before.fullSize:
          type: boolean
          description: Whether to capture full page for the before state
        before.hideCookie:
          type: boolean
          description: Whether to hide cookie banner for the before state
        after:
          type: object
          description: Source for the after state
        after.url:
          type: string
          description: URL of the page to capture for the after state
        after.width:
          type: integer
          description: Viewport width for the after capture
        after.fullSize:
          type: boolean
          description: Whether to capture full page for the after state
        after.hideCookie:
          type: boolean
          description: Whether to hide cookie banner for the after state
        threshold:
          type: number
          description: Mismatch threshold for triage
      required:
      - before
      - before.url
      - before.width
      - before.fullSize
      - before.hideCookie
      - after
      - after.url
      - after.width
      - after.fullSize
      - after.hideCookie
    PostApiV3CompareResponse:
      type: object
      properties:
        status:
          type: string
          description: Result status
        message:
          type: string
          description: Human‑readable message
        fetchTime:
          type: string
          description: ISO‑8601 timestamp of the operation
        before:
          type: object
          description: Info about the before image
        before.link:
          type: string
          description: URL to the before screenshot
        before.width:
          type: integer
          description: Width of the before image
        before.height:
          type: integer
          description: Height of the before image
        before.source:
          type: string
          description: Original source URL for the before image
        after:
          type: object
          description: Info about the after image
        after.link:
          type: string
          description: URL to the after screenshot
        after.width:
          type: integer
          description: Width of the after image
        after.height:
          type: integer
          description: Height of the after image
        after.source:
          type: string
          description: Original source URL for the after image
        diff:
          type: object
          description: Info about the diff image
        diff.link:
          type: string
          description: URL to the diff screenshot
        diff.width:
          type: integer
          description: Width of the diff image
        diff.height:
          type: integer
          description: Height of the diff image
        summary:
          type: object
          description: Mismatch metrics
        summary.mismatchPixels:
          type: integer
          description: Number of pixels that differ
        summary.mismatchPercentage:
          type: number
          description: Percentage of mismatched pixels
        summary.totalPixels:
          type: integer
          description: Total pixel count compared
        summary.sameDimensions:
          type: boolean
          description: Whether the two images share dimensions
    PostV1ScreenshotRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        width:
          type: string
        height:
          type: string
        delay:
          type: string
        fullSize:
          type: string
        hideCookie:
          type: string
      required:
      - url
      - format
      - width
      - height
    PostV1UrltoimageRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        width:
          type: integer
        fullSize:
          type: boolean
        hideCookie:
          type: boolean
    PostV2ScreenshotRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        width:
          type: string
        height:
          type: string
        hide:
          type: string
        javascriptCode:
          type: string
      required:
      - url
      - format
      - width
      - height
    PostV3AnalyzeRequest:
      type: object
      properties:
        url:
          type: string
        format:
          type: string
        width:
          type: string
        height:
          type: string
        waitForDom:
          type: string
        enableSummary:
          type: string
        enableQuality:
          type: string
      required:
      - url
      - format
      - width
      - height
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-snapshotsiteapi-key
security:
- apiKey: []
tags:
- name: Analyze
- name: Api
- name: Screenshot
- name: Urltoimage