> ## 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.

# Harvest a page's images

> Harvest all images from a page with their metadata.



## OpenAPI

````yaml https://api.hydrafetch.com/openapi.json post /v1/web/images
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/images:
    post:
      tags:
        - Web Scraping
      summary: Harvest a page's images
      description: Harvest all images from a page with their metadata.
      operationId: images
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImagesRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponseDto'
components:
  schemas:
    ImagesRequestDto:
      type: object
      properties:
        url:
          type: string
          example: https://example.com
          description: The URL to harvest images from. Must be http(s).
        maxAge:
          type: number
          minimum: 0
          maximum: 604800000
          description: >-
            Serve from cache if a capture of this URL is younger than this many
            milliseconds. Omit for the default window; 0 always fetches fresh.
            Capped at 7 days.
      required:
        - url
    ImagesResponseDto:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/WebImagesDataDto'
      required:
        - data
    WebImagesDataDto:
      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.
        images:
          description: Every image found on the page, with its metadata.
          type: array
          items:
            $ref: '#/components/schemas/WebImageDto'
      required:
        - url
        - finalUrl
        - images
    WebImageDto:
      type: object
      properties:
        src:
          type: string
          example: https://example.com/logo.png
          description: The image URL, resolved to absolute.
        alt:
          type: object
          nullable: true
          example: Company logo
          description: The image alt text, if any.
        width:
          type: object
          nullable: true
          example: 320
          description: The image width in pixels, if declared.
        height:
          type: object
          nullable: true
          example: 240
          description: The image height in pixels, if declared.
      required:
        - src
        - alt
        - width
        - height
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key

````