Skip to main content

VirusTotal API

Project description

https://i.imgur.com/6nji8Ec.png

VirusTotal API 3 version

https://img.shields.io/github/license/drobotun/virustotalapi3?style=flat https://travis-ci.org/drobotun/virustotalapi3.svg?branch=master https://img.shields.io/pypi/v/vtapi3 https://img.shields.io/pypi/pyversions/vtapi3 https://readthedocs.org/projects/virustotalapi3/badge/?version=latest https://img.shields.io/pypi/dm/vtapi3 https://i.imgur.com/JtZ54GZ.png

The module that implements the service API functions www.virustotal.com (3 versions) available using the public key. For a detailed description of the API, see: https://developers.virustotal.com/v3.0/reference.

The following VirusTotal API functions are implemented:

For files:

  • POST /files

  • GET /files/upload_url

  • GET /files/{id}

  • POST /files/{id}/analyse

  • GET /files/{id}/comments

  • POST /files/{id}/comments

  • GET /files/{id}/votes

  • POST /files/{id}/votes

  • GET /files/{id}/{relationship}

  • GET /file_behaviours/{sandbox_id}/pcap

For URLs:

  • POST /urls

  • GET /urls/{id}

  • POST /urls/{id}/analyse

  • GET /urls/{id}/comments

  • POST /urls/{id}/comments

  • GET /urls/{id}/votes

  • POST /urls/{id}/votes

  • GET /urls/{id}/network_location

For domains:

  • GET /domains/{domain}

  • GET /domains/{domain}/comments

  • POST /domains/{domain}/comments

  • GET /domains/{domain}/{relationship}

  • GET /domains/{domain}/votes

  • POST /domains/{domain}/votes

For IP-addresses:

  • GET /domains/{domain}

  • GET /domains/{domain}/comments

  • POST /domains/{domain}/comments

  • GET /domains/{domain}/{relationship}

  • GET /domains/{domain}/votes

  • POST /domains/{domain}/votes

File and URL analysis:

  • GET /analyses/{id}

Installation

$ pip install vtapi3

Usage

import json
from vtapi3 import VirusTotalAPIFiles, VirusTotalAPIError
   ...
vt_files = VirusTotalAPIFiles('<API key>')
try:
    result = vt_files.upload('<file path>')
except VirusTotalAPIError as err:
    print(err, err.err_code)
else:
    if vt_files.get_last_http_error() == vt_files.HTTP_OK:
        result = json.loads(result)
        result = json.dumps(result, sort_keys=False, indent=4)
        print(result)
    else:
        print('HTTP Error [' + str(vt_files.get_last_http_error()) +']')
    ...

Output

{
  "data": {
    "type": "analysis",
    "id": "NjY0MjRlOTFjMDIyYTkyNWM0NjU2NWQzYWNlMzFmZmI6MTQ3NTA0ODI3Nw=="
  }
}

License

MIT Copyright (c) 2020 Evgeny Drobotun

Documentation

Documentation for using this package: https://virustotalapi3.readthedocs.io

Release History

1.0.4 (1.02.2020)

  • Fixing README.rst for better PYPI presentation.

1.0.3 (26.01.2020)

  • Added a new attribute _last_result to the VirustotalAPI base class.

  • Added a new method get_last_result to the VirustotalAPI base class.

1.0.2 (12.01.2020)

  • Fixed errors in source comments.

  • Fixing README.rst for better PYPI presentation.

  • Fixing setup.py for better PYPI presentation.

  • README.rst translated into English.

  • Added two tests (test_get_version_avi() and test_get_lost_http_error ()) in test_vt_3.py

1.0.1 (08.01.2020)

  • First release of vtapi3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vtapi3-1.0.4.tar.gz (8.6 kB view details)

Uploaded Source

File details

Details for the file vtapi3-1.0.4.tar.gz.

File metadata

  • Download URL: vtapi3-1.0.4.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for vtapi3-1.0.4.tar.gz
Algorithm Hash digest
SHA256 1c354a58f9026a8cb5b7d86241e68520883fabc70167f9201743920fbb8cd672
MD5 78320ef951e4935d53108b5e2c88a061
BLAKE2b-256 8b5195ada6e3dd9c384d7e6b406e4c0e6c85f1793a39a39bfde03e0829355906

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page