Rate Limits

When a rate limit is reached, the API will return a 429 Too Many Requests with the following response body:

{
  "status": "failed",
  "message": "api key limit exhausted"
}

The rate limit will be reset at the start of the next minute, and the API will accept more requests.

All rate limits described in this document are defaults. Each limit can be increased by contacting FireEye sales.

Submission rate limit

Detection On Demand rate limits /files, /hashes, and /urls submissions. The rate limit defaults to 100 submissions per minute, but this limit can be increased by contacting FireEye sales.

Reporting rate limits

/reports are limited to 300 requests/minute, /presigned-url are limited to 300 requests/minute, and /artifacts are limited to 60 requests/minute.

Health rate limit

The /health endpoint is rate limited to 60 requests per minute

Telemetry rate limit

The /telemetry endpoint is rate limited to 5 requests per minute. This is because the /telemetry endpoint is a batch call and returns a large number of records.

File quotas

In addition to the per minute rate limit, the DoD API also imposes a daily and monthly quota for /files submissions on trial accounts. If you have a trial account, you can view your quotas by submitting a request to the /health endpoint with your API key, or by checking the health of the API key in the DoD Portal by following this short guide. The response will provide you with the details on your daily and monthly limits, as well as information on how many requests you have remaining. An example response from the health endpoint looks like this:

{
    "status": "success",
    "service_status": "RUNNING",
    "api_key_valid": true,
    "subscription_status": "active",
    "subscription_start_date": "2020-05-11 22:15:45",
    "subscription_end_date": "2021-05-20 00:00:00",
    "files_api_quota_total": 12000,
    "files_api_quota_remaining": 11920,
    "files_api_quota_monthly": 1000,
    "files_api_quota_monthly_remaining": 998,
    "files_api_quota_daily": 100,
    "files_api_quota_daily_remaining": 100
}

When the daily, monthly, or total quota is reached, the API will return a 429 Too Many Requests with the following response body:

{
  "status": "failed",
  "message": "api key limit exhausted"
}

Paid plans do not have daily or monthly quotas, and are only subject to the per minute rate limit.