Need help with VirusTotalNet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

137 Stars 42 Forks MIT License 146 Commits 2 Opened issues


A full implementation of the VirusTotal 2.0 API

Services available


Need anything else?

Contributors list

VirusTotal.NET - A full implementation of the VirusTotal 2.0 API



  • Fully asynchronous API
  • Scan, rescan and get reports of scanned files
  • Scan URLs
  • Get reports for IP addresses, URLs, and domains
  • Support for HTTP and HTTPS
  • Batch support for APIs that support it
  • Size and resource limits built in for better performance
  • Configurable limits to accommodate VT private API features
  • See for the VT API documentation


VirusTotal virusTotal = new VirusTotal("YOUR API KEY HERE");

//Use HTTPS instead of HTTP virusTotal.UseTLS = true;

//Create the EICAR test virus. See byte[] eicar = Encoding.ASCII.GetBytes(@"X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*");

//Check if the file has been scanned before. FileReport report = await virusTotal.GetFileReportAsync(eicar);

Console.WriteLine("Seen before: " + (report.ResponseCode == FileReportResponseCode.Present ? "Yes" : "No"));


Seen before: True

For more examples, take a look at the VirusTotal.Examples included in the project.


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.