The onCreated() event of the downloads API fires when a download begins, i.e. when is sucessfully invoked.

The listener is passed the downloads.DownloadItem object in question as a parameter.


chrome.downloads.onCreated.addListener(function(downloadItem) {...})

This API is also available as browser.downloads.onCreated.*.

Events have three functions:

Adds a listener to this event.
Stop listening to this event. The listener argument is the listener to remove.
Check whether a given listener is registered for this event. Returns true if it is listening, false otherwise.

addListener syntax



A callback function that will be called when this event occurs. This function will be passed the following arguments:

The downloads.DownloadItem object in question.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes No 48.0 48.0 33


In this snippet, we have a button that when clicked initiates a download via a call to This call triggers an downloads.onChanged event to fire, in which we check for runtime.lastError, then check to see if the download is safe via the downloads.DownloadItem object's danger property. If it is safe to download we let it continue; if not, we call downloads.cancel() to cancel the download.

var btn = document.querySelector('button');

btn.onclick = function() {{ url : ''});

chrome.downloads.onCreated.addListener(function(downloadItem) {
  if(chrome.runtime.lastError) {
  } else {
    if(downloadItem.danger === 'safe') {
      console.log('File safe to download — continuing');
    } else {
      chrome.downloads.cancel(, function() {
        console.log('File not safe — download cancelled');

Note: downloads.acceptDanger() provides an arguably more convenient mechanism to check for dangerous downloads, but it is not yet supported by Firefox or Edge.


This API is based on Chromium's chrome.downloads API.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: Makyen, chrisdavidmills, wbamberg
 Last updated by: Makyen,