website_download

Download and mirror a publicly accessible website, including HTML pages and required frontend assets, and return a machine-readable manifest and optional downloadable archive.

When to use

Use when an agent needs an offline mirror of a public website and its frontend assets.

Selection guidance

Role: specialized. Use when an agent needs an offline mirror of a public website and its frontend assets.

Use cases

Access

Price: $0.75 USD per call. Payment options are deployment-configured; inspect /api/v1/payment-methods. Prices and payment semantics are unchanged from the canonical registry.

Related tools

Example input

{
  "url": "https://example.com",
  "maxDepth": 1,
  "includeAssets": true,
  "convertLinks": true,
  "adjustExtensions": true,
  "sameDomainOnly": true,
  "maxSizeMb": 10,
  "maxFiles": 100,
  "timeoutSeconds": 30,
  "output": "manifest"
}

Example output

{
  "success": true,
  "sourceUrl": "https://example.com/",
  "finalUrl": "https://example.com/",
  "pagesDownloaded": 1,
  "assetsDownloaded": 0,
  "totalFiles": 1,
  "totalSizeBytes": 1256,
  "durationMs": 1200,
  "archive": null,
  "manifest": {
    "files": [
      {
        "localPath": "example.com/index.html",
        "type": "html",
        "contentType": null,
        "sizeBytes": 1256
      }
    ]
  },
  "warnings": []
}

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "maxDepth": {
      "default": 3,
      "type": "integer",
      "minimum": 0,
      "maximum": 10
    },
    "includeAssets": {
      "default": true,
      "type": "boolean"
    },
    "convertLinks": {
      "default": true,
      "type": "boolean"
    },
    "adjustExtensions": {
      "default": true,
      "type": "boolean"
    },
    "sameDomainOnly": {
      "default": true,
      "type": "boolean"
    },
    "maxSizeMb": {
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 1024
    },
    "maxFiles": {
      "default": 2000,
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    },
    "timeoutSeconds": {
      "default": 120,
      "type": "integer",
      "minimum": 5,
      "maximum": 900
    },
    "output": {
      "default": "archive_and_manifest",
      "type": "string",
      "enum": [
        "manifest",
        "archive",
        "archive_and_manifest"
      ]
    }
  },
  "required": [
    "url",
    "maxDepth",
    "includeAssets",
    "convertLinks",
    "adjustExtensions",
    "sameDomainOnly",
    "maxSizeMb",
    "maxFiles",
    "timeoutSeconds",
    "output"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "const": true
    },
    "sourceUrl": {
      "type": "string"
    },
    "finalUrl": {
      "type": "string"
    },
    "pagesDownloaded": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "assetsDownloaded": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "totalFiles": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "totalSizeBytes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "durationMs": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "archive": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "available": {
              "type": "boolean",
              "const": true
            },
            "format": {
              "type": "string",
              "const": "zip"
            },
            "sizeBytes": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "fileId": {
              "type": "string"
            },
            "downloadUrl": {
              "type": "string"
            }
          },
          "required": [
            "available",
            "format",
            "sizeBytes",
            "fileId",
            "downloadUrl"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "manifest": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "localPath": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "html",
                  "css",
                  "javascript",
                  "image",
                  "font",
                  "json",
                  "document",
                  "media",
                  "other"
                ]
              },
              "contentType": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "localPath",
              "type",
              "contentType",
              "sizeBytes"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "files"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "success",
    "sourceUrl",
    "finalUrl",
    "pagesDownloaded",
    "assetsDownloaded",
    "totalFiles",
    "totalSizeBytes",
    "durationMs",
    "archive",
    "manifest",
    "warnings"
  ],
  "additionalProperties": false
}

Category: Website Intelligence · hierarchy: specialized · idempotent: no · side effects: yes