> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hydrafetch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Screenshot a page

> Capture a full-page PNG screenshot of a rendered page.



## OpenAPI

````yaml https://api.hydrafetch.com/openapi.json post /v1/web/screenshot
openapi: 3.0.0
info:
  title: Hydrafetch API
  description: >-
    Hydrafetch turns any URL into clean, LLM-ready data through one API.


    Give us a link and get back Markdown, the page's own structured data,
    extracted JSON, links, a

    summary, or a screenshot. Point us at a whole site and get every page. Ask a
    question and get

    answers with per-field confidence and the passage each value came from. You
    describe the outcome

    you want — the pipeline decides how to get it.


    ## Authentication


    Every request is authenticated with your API key in the `X-API-Key` header.
    Keys are scoped to a

    workspace and carry its credit balance.


    ## Credits


    Calls are billed in credits and charged only on success. A standard scrape
    is one credit; richer

    formats and the extraction tier cost more. Each response reports what it
    consumed.


    ## Conventions


    All timestamps are UTC ISO 8601. Long-running jobs (crawl, batch) return a
    job id you poll, or a

    webhook you register. Errors return a structured body with a stable `code`
    and an HTTP status.
  version: '1.0'
  contact:
    name: Hydrafetch
    url: https://hydrafetch.com
    email: team@hydrafetch.com
servers:
  - url: https://api.hydrafetch.com
    description: Production
security:
  - apiKey: []
tags:
  - name: Web Scraping
    description: >-
      Turn URLs into clean, LLM-ready content: scrape a single page, crawl or
      batch-scrape a whole site, map its URLs, search the web, and capture
      screenshots or images.
  - name: Web Extraction
    description: >-
      Pull schema-shaped JSON out of one or many pages, with optional per-field
      confidence and the source passage behind each value.
paths:
  /v1/web/screenshot:
    post:
      tags:
        - Web Scraping
      summary: Screenshot a page
      description: Capture a full-page PNG screenshot of a rendered page.
      operationId: screenshot
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreenshotRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreenshotResponseDto'
components:
  schemas:
    ScreenshotRequestDto:
      type: object
      properties:
        url:
          type: string
          example: https://example.com
          description: The URL to screenshot. Must be http(s).
        fullPage:
          type: boolean
          example: true
          description: >-
            Capture the entire scrollable page instead of just the viewport.
            Default off.
        waitFor:
          type: number
          minimum: 0
          maximum: 30000
          description: Extra milliseconds to let the page settle before capture.
        timeout:
          type: number
          minimum: 1000
          maximum: 120000
          description: Overall time budget for the request, in milliseconds.
      required:
        - url
    ScreenshotResponseDto:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/WebScreenshotDataDto'
      required:
        - data
    WebScreenshotDataDto:
      type: object
      properties:
        url:
          type: string
          example: https://example.com
          description: The URL you requested.
        finalUrl:
          type: string
          example: https://example.com/
          description: The final URL after any redirects.
        status:
          type: number
          example: 200
          description: HTTP status of the captured page.
        image:
          type: string
          description: The screenshot as a base64-encoded PNG string.
      required:
        - url
        - finalUrl
        - status
        - image
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key

````