These docs are for v2.0. Click to read the latest docs for v3.0.

When interacting with the API, if the request was correctly handled by the server and no errors were produced, a 200 HTTP status code will be returned. The body of the response will usually be a JSON object (except for file downloads) that will contain at least the following two properties:

  • response_code: if the item you searched for was not present in VirusTotal's dataset this result will be 0. If the requested item is still queued for analysis it will be -2. If the item was indeed present and it could be retrieved it will be 1. Any other case is detailed in the full reference.
  • verbose_msg: provides verbose information regarding the response_code property.

In case of error you can get any of the following status codes:

CodeDescription
204Request rate limit exceeded. You are making more requests than allowed. You have exceeded one of your quotas (minute, daily or monthly). Daily quotas are reset every day at 00:00 UTC.
400Bad request. Your request was somehow incorrect. This can be caused by missing arguments or arguments with wrong values.
403Forbidden. You don't have enough privileges to make the request. You may be doing a request without providing an API key or you may be making a request to a Private API without having the appropriate privileges.