VirusTotal · JSON Structure

Virustotal Analysis Object Structure

An analysis (scan execution) tracking the lifecycle of a file or URL submission.

Type: object Properties: 5 Required: 3
Anti MalwareThreat IntelligenceSecurityFile AnalysisURL AnalysisYARAIOCSandboxMITRE ATT&CKGoogle Cloud

AnalysisObject is a JSON Structure definition published by VirusTotal, describing 5 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id type links attributes relationships

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/virustotal/refs/heads/main/json-structure/virustotal-analysis-object-structure.json",
  "name": "AnalysisObject",
  "description": "An analysis (scan execution) tracking the lifecycle of a file or URL submission.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Object identifier."
    },
    "type": {
      "type": "string",
      "description": "Object type discriminator."
    },
    "links": {
      "type": "object",
      "description": "Hypermedia links.",
      "properties": {
        "self": {
          "type": "uri"
        }
      }
    },
    "attributes": {
      "type": "object",
      "description": "Type-specific attributes for AnalysisObject.",
      "properties": {
        "date": {
          "type": "int32",
          "description": "Unix epoch when the analysis was created."
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "in-progress",
            "completed"
          ],
          "description": "Current analysis state."
        },
        "stats": {
          "type": "object",
          "properties": {
            "harmless": {
              "type": "int32"
            },
            "malicious": {
              "type": "int32"
            },
            "suspicious": {
              "type": "int32"
            },
            "undetected": {
              "type": "int32"
            },
            "timeout": {
              "type": "int32"
            }
          }
        },
        "results": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "category": {
                "type": "string"
              },
              "engine_name": {
                "type": "string"
              },
              "engine_version": {
                "type": "string"
              },
              "engine_update": {
                "type": "string"
              },
              "method": {
                "type": "string"
              },
              "result": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      }
    },
    "relationships": {
      "type": "object",
      "description": "Pre-expanded relationships, keyed by relationship name.",
      "additionalProperties": true
    }
  },
  "required": [
    "id",
    "type",
    "attributes"
  ]
}

Work with this as data

Every JSON Structure 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 json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • 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 JSON Structure
curl "https://apis.io/api/v1/json-structures/virustotal-analysis-object-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

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

Get an API key

Free tier, no email required.

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