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.