Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md
6581 views
---
title: downloads.DownloadQuery slug: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadQuery page-type: webextension-api-type tags: - API - Add-ons - DownloadQuery - Extensions - Non-standard - Reference - Type - WebExtensions - downloads browser-compat: webextensions.api.downloads.DownloadQuery
---

{{AddonSidebar()}}

The DownloadQuery type of the {{WebExtAPIRef("downloads")}} API defines a set of parameters that can be used to search the downloads manager for a specific set of downloads.

This type is used for example in {{WebExtAPIRef("downloads.search()")}} and {{WebExtAPIRef("downloads.erase()")}}, as a query object to filter the set of {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} to return or erase.

Type

Values of this type are objects. They contain the following properties:

  • cookieStoreId {{optional_inline}}

  • query {{optional_inline}}

    • : An array of strings. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whose filename or url contains all of the given strings. You can also include terms beginning with a dash (-) — these terms must not be contained in the item's filename or url for it to be included.

  • startedBefore {{optional_inline}}

    • : A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that started before the given time.

  • startedAfter {{optional_inline}}

    • : A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that started after the given time.

  • endedBefore {{optional_inline}}

    • : A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that ended before the given time.

  • endedAfter {{optional_inline}}

    • : A {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} that ended after the given time.

  • totalBytesGreater {{optional_inline}}

    • : A number representing a number of bytes. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whose totalBytes is greater than the given number.

  • totalBytesLess {{optional_inline}}

    • : A number representing a number of bytes. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whose totalBytes is less than the given number.

  • filenameRegex {{optional_inline}}

    • : A string representing a regular expression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whose filename value matches the given regular expression.

  • urlRegex {{optional_inline}}

    • : A string representing a regular expression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} whose url value matches the given regular expression.

  • limit {{optional_inline}}

    • : An integer representing a number of results. Include only the specified number of {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}.

  • orderBy {{optional_inline}}

    • : An array of strings representing {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} properties the search results should be sorted by. For example, including startTime then totalBytes in the array would sort the {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} by their start time, then total bytes — in ascending order. To specify sorting by a property in descending order, prefix it with a hyphen, for example -startTime.

  • id {{optional_inline}}

    • : An integer representing the ID of the {{WebExtAPIRef("downloads.DownloadItem")}} you want to query.

  • url {{optional_inline}}

    • : A string representing the absolute URL that the download was initiated from, before any redirects.

  • filename {{optional_inline}}

    • : A string representing the absolute local path of the download file you want to query.

  • danger {{optional_inline}}

    • : A string representing a {{WebExtAPIRef('downloads.DangerType')}} — include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this danger value.

  • mime {{optional_inline}}

    • : A string representing a MIME type. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this mime value.

  • startTime {{optional_inline}}

    • : A string representing an ISO 8601 format time. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this startTime value.

  • endTime {{optional_inline}}

    • : A string representing an ISO 8601 format time. Include only will limited to {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this endTime value.

  • state {{optional_inline}}

    • : A string representing a download {{WebExtAPIRef('downloads.State')}} (in_progress, interrupted, or complete). Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this state value.

  • paused {{optional_inline}}

    • : A boolean that indicates whether a download is paused — i.e. has stopped reading data from the host, but kept the connection open (true), or not (false). Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this paused value.

  • error {{optional_inline}}

    • : A string representing an {{WebExtAPIRef('downloads.InterruptReason')}} — a reason why a download was interrupted. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this error value.

  • bytesReceived {{optional_inline}}

    • : A number representing the number of bytes received so far from the host, without considering file compression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this bytesReceived value.

  • totalBytes {{optional_inline}}

    • : A number representing the total number of bytes in the downloaded file, without considering file compression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this totalBytes value.

  • fileSize {{optional_inline}}

    • : number. Number of bytes in the whole file post-decompression, or -1 if unknown. A number representing the total number of bytes in the file after decompression. Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this fileSize value.

  • exists {{optional_inline}}

    • : A boolean indicating whether a downloaded file still exists (true) or not (false). Include only {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} with this exists value.

Browser compatibility

{{Compat}}

{{WebExtExamples}}

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