SnapAPI Video API

Video recording of webpages

Operations 1

POST /v1/video Record Video #

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/snapapi-pics-video-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

snapapi-pics-video-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SnapAPI - Screenshot & Web Data Analyze Video API
  version: 2.0.0
  description: 'Professional screenshot, PDF, video, scraping, content extraction, and AI analysis API. Convert any URL into structured data or visual captures with a single API call. Powered by headless Chromium.


    ## Authentication


    All API endpoints (except Auth and Health) require one of:

    - `X-Api-Key: sk_live_xxx` header (recommended for server-side)

    - `Authorization: Bearer sk_live_xxx` header

    - `?access_key=sk_live_xxx` query parameter (for GET endpoints)


    Dashboard endpoints use JWT Bearer tokens obtained from `/auth/login`.


    ## Rate Limits


    | Plan | Requests/month | Rate |

    |------|---------------|------|

    | Free | 100 | 10/min |

    | Starter | 5,000 | 60/min |

    | Pro | 50,000 | 300/min |


    Rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`'
  contact:
    email: support@snapapi.pics
    url: https://snapapi.pics
servers:
- url: https://api.snapapi.pics
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Video
  description: Video recording of webpages
paths:
  /v1/video:
    post:
      operationId: recordVideo
      summary: Record Video
      description: Record a video of a webpage with optional scrolling. Supports WebM, MP4, and GIF output. Costs 5 credits per recording.
      tags:
      - Video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoRequest'
            examples:
              basic:
                summary: 5-second recording
                value:
                  url: https://example.com
                  duration: 5
                  format: mp4
              scrolling:
                summary: Scrolling video
                value:
                  url: https://example.com
                  duration: 10
                  scrolling: true
                  scrollSpeed: 150
                  format: webm
      responses:
        '200':
          description: Video recorded
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            video/webm:
              schema:
                type: string
                format: binary
            video/mp4:
              schema:
                type: string
                format: binary
            image/gif:
              schema:
                type: string
                format: binary
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: string
                  format:
                    type: string
                  width:
                    type: integer
                  height:
                    type: integer
                  duration:
                    type: integer
                  fileSize:
                    type: integer
                  took:
                    type: integer
        '400':
          description: Validation error
        '429':
          description: Quota exceeded
        '503':
          description: Server busy (max concurrent videos reached)
components:
  headers:
    X-Request-Id:
      schema:
        type: string
      description: Unique request identifier for debugging
  schemas:
    VideoRequest:
      type: object
      required:
      - url
      properties:
        url:
          type: string
          format: uri
        format:
          type: string
          enum:
          - webm
          - mp4
          - gif
          default: webm
        width:
          type: integer
          minimum: 320
          maximum: 1920
          default: 1280
        height:
          type: integer
          minimum: 240
          maximum: 1080
          default: 720
        duration:
          type: integer
          minimum: 1
          maximum: 30
          default: 5
          description: Duration in seconds
        fps:
          type: integer
          minimum: 10
          maximum: 30
          default: 25
        scrolling:
          type: boolean
          default: false
        scrollSpeed:
          type: integer
          default: 100
        darkMode:
          type: boolean
          default: false
        blockAds:
          type: boolean
          default: false
        blockCookieBanners:
          type: boolean
          default: false
        delay:
          type: integer
          default: 0
        responseType:
          type: string
          enum:
          - binary
          - base64
          - json
          default: binary
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your SnapAPI API key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from /auth/login or /auth/refresh