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
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.
Updated 3 months ago