API Scripts and client libraries

VirusTotal's API lets you upload and scan files or URLs, access finished scan reports and make automatic comments without the need of using the website interface. In other words, it allows you to build simple scripts to access the information generated by VirusTotal. You may learn more about it in our Developer Hub.

VirusTotal Community members have written a number of scripts in different programming languages to interact with our API. Those scripts are listed here. VirusTotal itself is not responsible for these scripts, which are contributions by the Community. Use them at your own risk and make sure you follow ourΒ Terms of Service.

If you would like to see your own implementation listed in this section, just get in touch with us.

API V3Β Β official client libraries

API V3 third party scripts and client libraries

API V2 third party scripts and client libraries

API V3Β official client libraries


go_icon.svgΒ python_icon.svg

You can also use our VirusTotal Command Line Interface

API V3 third party scripts and client libraries


AutoIt

VirusTotal public API 3.0 implementation in AutoItΒ byΒ @Danyfirex.

Bash

vt-scan: VirusTotal Scan Script by sevsec.

Python

Virus Total Hunting is a tiny tool based on the VT api version 3 to run daily, weekly or monthly report about malware hunting.

virustotal3 provides an easy way to use VirusTotal version 3 REST endpoints, including those exclusive to VirusTotal Enterprise such as Live Hunt, Retro Hunt and Zip Files that were not available in version 2.

The Hugin munit script retrieves and displays information to all samples returned in a retrohunt.

VTISearchΒ is a small utility for running a VirusTotal Intelligence search query.

vt-ip-url-analysis Automating VirusTotal's API(v3) for IP address and URL analysis with HTML Reporting

Ruby

virustotalx is aΒ VirusTotal API (version 3) wrapper for Ruby.

Ruby Gem for VirusTotal API version 3.0Β byΒ pwelch.

Maltego Transforms

VTSubmitter-Maltego accepts a hash and extracts basic, useful information about its VirusTotal submitters.

API V2 third party scripts and client libraries


Our API V2 will be soon deprecated, it will remain available but we encourage every new user to adopt API v3 instead, where we will include our new functionalities.

AutoIt

VirusTotal public API 2.0 implementation in AutoItΒ byΒ @Danyfirex.

C/C++

VirusTotal public and private API 2.0 implementation in pure CΒ by VirusTotal team.

Elixir

VirusTotal API 2.0 implementation in Elixir LangΒ byΒ Doug.

Erlang

VirusTotal public API implementation in ErlangΒ byΒ dtykocki.

Go

VirusTotal public API 2.0 implementation in GoΒ byΒ Willi Ballenthin.

VirusTotal public API 2.0 implementation in Go by dutchcoders.

VirusTotal public API 2.0 implementation in GoΒ byΒ Vighneswar Rao Bojja.

Lua

VirusTotal public API 2.0 implementation in Lua by ner0x652.

Java

VirusTotal public API 2.0 implementation in JavaΒ byΒ Mauricio Correa.

VirusTotal public API 2.0 implementation in JavaΒ byΒ Kanishka Dilshan.

VirusTotal public API 2.0 implementation in JavaΒ byΒ Vighneswar Rao Bojja.

Maltego Transforms

Set of local Maltego transforms for VirusTotal's public APIΒ by Michael Yip.

VirusTotal local Maltego transformsΒ byΒ Lookingglass.

.NET

VirusTotal public API version 2.0 implementation in C#.NETΒ by Ian Qvist.

VirusTotal public API version 2.0 implementation in VB.NETΒ byΒ omegatechware.

Implementation and Integration of VirusTotal's API in ASP.NET + PythonΒ byΒ Nilay Sangani.

Node.js

An implementation of the Virustotal API for Node.js byΒ Nate Watson.

Perl

VirusTotal public API version 2.0 implementation in perlΒ by Michelle Sullivan from SORBS.

Perl script to submit files and retrieve their resultsΒ by Christopher Frenz (@cfrenz).

PHP

VirusTotal public API version 2.0, with internal PHP curl, and no other dependencies.Β byΒ @IzzyOnDroid.

VirusTotal public API version 2.0 implementation in PHPΒ byΒ @jayzeng.

PHP script for accessing VirusTotal public API Version 2.0Β by Andreas Breitschopp (@abtools).

PHP script for scanning files with VirusTotal public API Version 2.0 byΒ @adrianTNT.

Postman

VirusTotal-Postman-Collection byΒ tines.io.

Powershell

VirusTotal public API version 2.0 implementation in PowershellΒ byΒ @DBHeise.

Hash lookups using API version 2.0 in Powershell by @cbshearer.

Python

VirusTotal public API version 2.0 implementation in Python 2.xΒ by Chris Clark and Adam Meyers.

VirusTotal public API version 2.0 implementation in Python 2.xΒ byΒ Gawen Arab.

VirusTotal public API version 2.0 implementation in Python 2.xΒ byΒ @techno_vikiing.

Single and bulk lookups with VirusTotal public API version 2.0Β byΒ Claudio Guarnieri.

VirusTotal public API version 2.0 implementation in Python 2.xΒ byΒ @Erethon.

Full VirusTotal public and private API version 2.0 implementation in Python 2.xΒ byΒ Andriy Brukhovetskyy.

VirusTotal public API version 2.0 implementation in Python 3.xΒ byΒ Xiaokui Shu.

VirusTotal public API version 2.0 implementation in Python 2.xΒ byΒ Phillip Martin.

VirusTotal public and private API version 2.0 implementation in Python 2.xΒ byΒ Blacktop.

VirusTotal domain scannerΒ byΒ Matthew Clairmont.

VirusTotal public API version 2.0 implementation in PythonΒ byΒ Tal Melamed.

VirusTotal public API version 2.0 implementation in Python 2.xΒ by Harry Chauhan.

VirusTotalAPI wrapper version 2.0 implementation in Python 3.x byΒ Β JosΓ© Lopes.

VirusTotal public API version 2.0 implementation in Python 3.xΒ byΒ Dextroz.

URLs and hash lookupsΒ CLI using API version 2.0 in Python 3.x byΒ Β TheresAFewConors

R

R client for the Virustotal Public API by Gaurav Sood

Ruby

Rubygems command-line tool to interact with VirusTotal public API version 2.0Β byΒ hammackj.

Rust

Rust library for VirusTotal API byΒ Chihiro Hasegawa

XProc

XProc script to interact with VirusTotal public API version 2.0Β byΒ Martin Kraetke.