About This Guide

Welcome to the MetaDefender Cloud guide. This guide is intended to provide the information you need to:

Start analyzing files with 20+ anti-malware engines

How to use MetaDefender Cloud Public APIs

Learn about new features, updated features, and bug fixes Learn about frequently asked questions and additional concepts through our library of knowledge base articles

Key Features of MetaDefender Cloud

File Analysis - Analyzing binaries with 20+ anti-malware engines

Deep CDR (aka Content Disarm and Reconstruction) with support for 100+ file types

Sandbox dynamic analysis to detect more unknown and targeted attacks

Binary vulnerability data assessment

IP-Domain reputation

Threat Intelligence Feeds

Server
https://api.metadefender.com/v4
Server Variables

Apikey

The apikey and related limits can be found in the account page. It is generated automatically when the account is created.

The apikey is used for all API requests to MetaDefender Cloud service.

Apikey info

Retrieve information about your apikey such as (but not limited to): max file size, API limits, created date, expiration date, and account nickname.

Auth
Headers
apikeystring

The apikey identifies and authenticates the user.

safe_redirect_optionsinteger

By default, it is disabled (0). If enabled (1), the safe_redirect_options lists are added to the response.

GET /apikey/
Copy
Responses
200

The request has succeeded

Headers
X-Authenticatedstring

Indicates the source of authentication.

X-Response-Timestring

Indicates the response time expressed in milliseconds.

Body
Account Informationobject
max_file_downloadint32

The maximum file size for downloading

max_upload_file_sizeint32

The maximum upload size for files (expressed in MB)

max_archive_file_depthint32

The maximum file depth for archives

max_archive_file_sizeint32

The maximum upload size for archives (expressed in MB)

max_archive_file_numberint32

The maximum number of files contained in an archive

max_custom_workflowsint32

The maximum number of custom workflows allowed for the apikey

limit_preventionint32

The daily limit of Prevention API calls. The daily limit is reset 24 hours after the first call on a given day.

limit_reputationint32

The daily limit of Reputation API calls. The daily limit is reset 24 hours after the first call on a given day.

limit_threat_intel_searchint32

The daily limit of Threat Intel Search API calls. The daily limit is reset 24 hours after the first call on a given day.

limit_sandboxint32

The daily limit of Sandbox API calls. The daily limit is reset 24 hours after the first call on a given day.

limit_feedint32

The daily limit of Feed API calls. The daily limit is reset 24 hours after the first call on a given day.

mdc_license_typestring

The apikey's MetaDefender Cloud license type

qos_scanstring

The selected scan queue, based on the apikey type

useridstring

The userid corresponding to the apikey

sandbox_qos_scanstring

The selected sandbox scan queue, based on the apikey type

time_intervalstring

The duration of time your apikey limit lasts for (daily for most)

Enum: monthly,daily

Default: daily

expiration_datestring

The expiration date of the apikey. For paid apikey's this date is in the future.

workflow_ruleint32

The flag specifies if an apikey is allowed to scan large files or archives (1GB+), 0 = not allowed, 1 = allowed

enforce_private_scanboolean

The attribute that specifies if the apikey enforces private scans

is_enterpriseboolean

The attribute that specifies if the apikey is enterprise

throttling_limitint32

The maximum number of requests for the duration of time your apikey lasts (one day for most)

mtls_onlyboolean

The attribute that specifies if the apikey is MTLs only

portal_api_keystring

The apikey that has been queried

nicknamestring

The nickname of the user correlated to the queried apikey

vulnerability_submissionsarray[string]

The number of vulnerability submissions done by the user correlated to the queried apikey

created_atstring

The date when the apikey was created

updated_atstring

The last date when the apikey information was updated

scan_withstring

The service used by the apikey for scanning

ref_tokenstring

The reference token for the apikey

paid_userint32

Specifies the user's paid status. - 1: Paid user - 0: Not paid user

safe_redirect_optionsobject

The safe redirect lists for the apikey

organizationobject

The organization information

organization_idstring

The unique identifier of the organization

limit_preventionint32

The organization's daily limit for Prevention API calls

limit_reputationint32

The organization's daily limit for Reputation API calls

limit_threat_intel_searchint32

The organization's daily limit for Threat Intel Search API calls

limit_sandboxint32

The organization's daily limit for Sandbox API calls

limit_feedint32

The organization's daily limit for Feed API calls

throttling_limitint32

The organization's request throttling limit

ip_whitelistobject
v4array[string]

IPv4 whitelist

v6array[string]

IPv6 whitelist

expiration_datedate-time

The organization's license expiration date

enforce_private_scanboolean

The attribute that specifies if the organization enforces private scans

licenseLimitsTimeIntervalstring

The duration of time your organization limit lasts for (daily for most)

Enum: monthly,daily

Default: daily

mdc_license_typestring

The organization's MetaDefender Cloud license type

max_upload_file_sizeint32

Maximum file upload size for the organization (MB)

max_archive_file_sizeint32

Maximum archive file size for the organization (MB)

max_archive_file_numberint32

Maximum number of files in archives for the organization

max_archive_file_depthint32

Maximum archive depth for the organization

max_custom_workflowsint32

Maximum number of custom workflows for the organization

qos_scanstring

The selected scan queue, based on the organization's license type

sandbox_qos_scanstring

The selected sandbox scan queue, based on the organization's license type

safe_redirect_optionsobject

The safe redirect lists for the organization

404

The requested page was not found

Response
Copy

Apikey limits

Retrieve information about the consumed limits for an apikey. Every time a request is made to an endpoint that consumes a specific limit, it will be reflected in this endpoint. It is the equivalent of the X-RateLimit-Used from the response headers. Depending on your license, your rate limit will reset daily or monthly.

Auth
Headers
apikeystring

The apikey identifies and authenticates the user.

GET /apikey/limits
Copy
Responses
200

The request has succeeded

Headers
X-Authenticatedstring

Indicates the source of authentication.

X-Response-Timestring

Indicates the response time expressed in milliseconds.

Body
Apikey usageobject
reputation_apiint32

The consumed Reputation API limits for the apikey

threat_intel_search_apiint32

The consumed Threat Intel Search API limits for the apikey

prevention_apiint32

The consumed Prevention API limits for the apikey

feed_apiint32

The consumed Feed API limits for the apikey

download_fileint32

The consumed limits for file downloads for the apikey

sandbox_apiint32

The consumed Dynamic Analysis API limits for the apikey

404

The requested page was not found

Response
Copy

Apikey scan history

Retrieve a paginated list of files uploaded by the user in reverse chronological order (newest to oldest). The pagination is controlled by the user (how many items per page and which page) by specifying the limit and offset query parameters in the request. The response only contains a summary of the files, with minimum information.

Auth
Headers
apikeystring

The apikey identifies and authenticates the user.

Query String
limitinteger

Pagination - how many entries you want to return.

offsetinteger

Pagination - how many entries to skip (sorted chronologically).

cursorstring

Utilize a string-based cursor for efficient pagination in database queries. This approach enhances performance and should be used in place of the traditional offset parameter.

searchstring

An optional search term to filter results by hash or file display name. Supports the * wildcard for flexible matching.

start_datestring

Start date for the scan history is in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SSZ).

end_datestring

End date for the scan history is in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SSZ).

sort_bystring

Sort field.

sort_dirstring

Sort direction.

Enum: asc,desc

statusstring

Status of the scan history.

Enum: Allowed,Blocked

GET /apikey/scan-history
Copy
Responses
200

The request has succeeded

Scan historyobject
dataarray[object]

Scan History

data_idstring

The unique id received by the API for a submitted file

process_infoobject

Information about the analysis process

progress_percentageint32

The progress percentage of the analysis process

file_infoobject

Information about the file

md5string

The MD5 hash corresponding to the file scanned

sha1string

The SHA1 hash corresponding to the file scanned

sha256string

The SHA256 hash corresponding to the file scanned

display_namestring

The display name of the file

file_type_extensionstring

The file extension

scan_resultsobject

Scan result

total_detected_avsint32

The number of AVs that detected a threat

total_avsint32

The number of AVs used by the API

scan_all_result_iint32

The flag that specifies if the submitted file is infected

start_timestring

The date when the scan started

scan_withstring

The service used by the apikey for scanning

dlp_infoobject

Contains the verdict from Proactive DLP

verdictinteger

The overall result for the scanned file. Possible values:

  • 0 - Clean
  • 1 - Found matched data
  • 2 - Suspicious
  • 3 - Failed
  • 4 - Not scanned

Enum: 0,1,2,3,4

sanitizedobject

Represents the sanitization information of an item.

reasonstring

The reason or explanation for the sanitization.

resultstring

The result or outcome of the sanitization process.

progress_percentageinteger

The progress percentage of the sanitized file.

failure_reasonsobject

The object wrapping the list of files in the archive for which sanitization failed.

data_idobject

Sanitization failure reason for file

display_namestring

The name of the offending file.

file_pathstring

Path to reach the file

reasonstring

Description of the sanitization error

detailsstring

Additional details on the sanitization error

sandboxobject

Sandbox scan final verdict

verdictstring

The overall result for the scanned file.

threatLevelnumber

The infection score indicating the severity of the detected threats.

confidenceinteger

The confidence score when determining the severity of the detected threats.

blockedboolean

The indicator whether the file is blocked.

vulnerabilityobject

The highest vulnerability based on the CVEs associated with the file

severity_indexinteger

A numerical representation of the severity of the vulnerability

severityinteger

A textual representation of the severity index of the vulnerability

Enum: LOW,MODERATE,IMPORTANT,CRITICAL

nextCursorstring

A string-based cursor used to retrieve the next page of results, replacing the traditional offset parameter. This parameter is available only on the last element within the results array.

404

The requested page was not found

Response
Copy

Apikey remaining limits

Retrieve information about the remaining limits for an apikey.

Auth
Headers
apikeystring

The apikey identifies and authenticates the user.

GET /apikey/limits/status
Copy
Responses
200

The request has succeeded

Apikey usageobject
reputation_apiint32

The remaining Reputation API limits for the apikey

threat_intel_search_apiint32

The remaining Threat Intel Search API limits for the apikey

prevention_apiint32

The remaining Prevention API limits for the apikey

feed_apiint32

The remaining Feed API limits for the apikey

download_fileint32

The remaining limits for file downloads for the apikey

sandbox_apiint32

The remaining Dynamic Analysis API limits for the apikey

throttling_limitint32

The remaining Throttling limits for the apikey

404

The requested page was not found

Response
Copy