VirusTotal · JSON Structure

Virustotal Retrohunt Job Object Structure

A Retrohunt job — scans the VT corpus historically with a YARA ruleset.

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

RetrohuntJobObject 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-retrohunt-job-object-structure.json",
  "name": "RetrohuntJobObject",
  "description": "A Retrohunt job \u2014 scans the VT corpus historically with a YARA ruleset.",
  "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 RetrohuntJobObject.",
      "properties": {
        "rules": {
          "type": "string",
          "description": "Raw YARA rule text."
        },
        "notification_email": {
          "type": "string"
        },
        "corpus": {
          "type": "string",
          "enum": [
            "main",
            "goodware"
          ],
          "description": "Which corpus the retrohunt runs against."
        },
        "scanned_bytes": {
          "type": "int32"
        },
        "num_matches": {
          "type": "int32"
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "starting",
            "running",
            "aborting",
            "aborted",
            "finished"
          ]
        },
        "progress": {
          "type": "double"
        },
        "eta_seconds": {
          "type": "int32"
        },
        "creation_date": {
          "type": "int32"
        },
        "start_date": {
          "type": "int32"
        },
        "finish_date": {
          "type": "int32"
        },
        "time_range": {
          "type": "object",
          "properties": {
            "start": {
              "type": "int32"
            },
            "end": {
              "type": "int32"
            }
          }
        }
      }
    },
    "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-retrohunt-job-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.