Enrich files and URLs with the VirusTotal API v3

domain: docs.virustotal.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Obtain an API key from your VirusTotal account; include it in all requests as the x-apikey: YOUR_API_KEY HTTP header.
  2. Submit a file hash (MD5, SHA-1, or SHA-256) for enrichment with GET https://www.virustotal.com/api/v3/files/{hash}; parse the data.attributes.last_analysis_stats (malicious, suspicious, undetected counts) and data.attributes.names fields.
  3. Submit a URL for enrichment by first encoding it in URL-safe base64, then GET https://www.virustotal.com/api/v3/urls/{base64-encoded-url}; interpret the data.attributes.last_analysis_stats and categories fields.
  4. For IPs and domains, use GET /api/v3/ip_addresses/{ip} or /api/v3/domains/{domain} to retrieve reputation, AS owner, WHOIS, and historical DNS data.
  5. Track your quota consumption with GET https://www.virustotal.com/api/v3/users/{username}/api_usage to stay within your tier limits and implement request pacing accordingly.

Known gotchas

Related routes

recursively list all files and folders in a procore project's documents tool via the rest api
developers.procore.com · 6 steps · unrated
Fetch clean text, highlights, and summaries for known URLs via the Exa Contents API
docs.exa.ai · 6 steps · unrated
Extract clean markdown/text content from specific URLs with the Tavily Extract API
docs.tavily.com · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans