Skip to content


Repository files navigation

Virus Total Public API v2.0 PHP Wrapper

Total Downloads Latest Stable Version Scrutinizer Code Quality Build Status

Project website: (

This is a PHP SDK to interact with Virus Total Public API v2.0, please see for details

I want to show you my appreciation!

If you find the project useful and would love show your appreciation, awesome!

Support via Gittip


Include the following in your composer.json:

  "require": {
    "jayzeng/virustotalapi": "dev-master"
composer update -v -o

Quick start:

require_once 'Vendors/autoload.php';

$apiKey = 'your_api_key';

$file = new VirusTotal\File($apiKey);
$resp = $file->scan('foo.txt');


Sample output:

[jayzeng] ~/Projects/virustotal_apiwrapper/Example] (master)>  php file.php |more
array(8) {
  string(75) "1afc739de16163a80380326ce05e1e69edfc99b7a931329ab127b5099377f076-1370244536"
  string(40) "da9ed61e1bfa981c545acad4136e8a05f0602e45"
  string(64) "1afc739de16163a80380326ce05e1e69edfc99b7a931329ab127b5099377f076"
  string(64) "1afc739de16163a80380326ce05e1e69edfc99b7a931329ab127b5099377f076"
  string(117) ""
  string(32) "b2f301b40a5fb752b19ae0e5c7f679b4"
  string(64) "Scan request successfully queued, come back later for the report"

##Example: Still feeling confusing? See Examples/ (

I also hack up a demo application, source code is available at

##How to run tests?

phpunit --configuration Tests/Conf/phpunit.xml Tests


Vendors/bin/phpunit --configuration Tests/Conf/phpunit.xml Tests

##Issues & Development

  • Source code is hosted on GitHub
  • Report issues, questions, or request features on GitHub Issues

##How to release new version?

  • RELEASE_VERSION - version number
  • RELEASE_MESSAGE - release message
make release RELEASE_VERSION="0.1" RELEASE_MESSAGE="v0.1 is released"

##How to contribute? Awesome! Please follow these steps:

  • Create an issue GitHub Issues to explain what you intended to do
  • Fork the repository into your GitHub account
  • Create a new branch (preferably with a descriptive name that ties to the issue number e.g: feature/issue1_add_urlendpoint)
  • Add/Refactor tests
  • Run tests locally (Please reference How to run tests) and make sure they all pass locally
  • Send in a pull request
  • Pass tests & travis build

##Author: Jay Zeng, e-mail: