# Download api available?

**URL:** <https://discourse.mozilla.org/t/download-api-available/125785>\
**Category:** Firefox for Android Add-ons\
**Created:** [January 2, 2024, 7:45pm UTC](https://discourse.mozilla.org/t/download-api-available/125785 "2024-01-02T19:45:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![opto](https://avatars.discourse-cdn.com/v4/letter/o/59ef9b/32.png) [@opto](https://discourse.mozilla.org/u/opto)\
**Post date:** [January 2, 2024, 7:45pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/1 "2024-01-02T19:45:50Z")

</div>

I do not understand this entry in the compatibility table on MDN:

" x48 – 68 (Released 2016-08-02)  
Removed in 79 and later"

What has been removed? The “x”?

Or does that mean download was available 69-78 and is not available now?

In any case, it does not work now in Android, only in TB and FF. Or could it be the createObjectURL?

Thanks, Klaus

---

<div class="post-metadata">

**Author:** ![dotproto](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/dotproto/32/62957_2.png) [@dotproto](https://discourse.mozilla.org/u/dotproto)\
**Post date:** [January 2, 2024, 8:33pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/2 "2024-01-02T20:33:00Z")

</div>

“48 - 68 (Released 2016-08-02)” means that support for this first landed on August 2nd, 2016 when Firefox for Android 48 was released and support was dropped in Firefox for Android 68. I suspect that the “x” you’re referring to is the red X icon in the support table. That icon indicates this item is not currently supported.

For some additional historical context, Firefox was originally released on Android as “Firefox for mobile” and was codenamed Fennec. The last release of the Fennec version of Firefox was 68. The next Android release was based on a new code base called Fenix and the first version number was 79. There were no Android releases between 68 and 79. There were significant differences between the WebExtensions APIs supported by Fennec and Fenix, which is why you will see some APIs were supported in the past but aren’t supported today.

---

<div class="post-metadata">

**Author:** ![opto](https://avatars.discourse-cdn.com/v4/letter/o/59ef9b/32.png) [@opto](https://discourse.mozilla.org/u/opto)\
**Post date:** [January 2, 2024, 8:40pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/3 "2024-01-02T20:40:08Z")

</div>

Interesting. Are you sure?  
When the red x is next to 48-68, I would interpret that as not supported in 48-68, and after that, otherwise.

Compare bookmarkTreeNode ( [bookmarks - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks) ) which has a green 45 to indicate it works since 45.

Per your interpretation, I would expect a green 48-68, followed by a red x 69

But other than the MDN signalling, does browser.download work on Android,or is there any other way to generate a file for the user?

---

<div class="post-metadata">

**Author:** ![opto](https://avatars.discourse-cdn.com/v4/letter/o/59ef9b/32.png) [@opto](https://discourse.mozilla.org/u/opto)\
**Post date:** [January 2, 2024, 8:45pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/4 "2024-01-02T20:45:21Z")

</div>

I could also interpret this as not working 48-68 (red x), working since 69, but removed (not working) since 79, with no info on what happened before 48.

---

<div class="post-metadata">

**Author:** ![dotproto](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/dotproto/32/62957_2.png) [@dotproto](https://discourse.mozilla.org/u/dotproto)\
**Post date:** [January 2, 2024, 10:45pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/5 "2024-01-02T22:45:07Z")

</div>

I’m quite sure. The compatibility tables are meant to give developers a quick reference for what is currently supported and a bit more historical context when needed.

- Items without version numbers have either always or never been supported by that browser.
  - A check mark indicates it has always been supported.
  - An X indicates it has never been supported.

- An item that only has one version number (`78`) indicates that support was added in that version.
- An item with two version numbers separated by a dash (`57 – 68`) indicates support was added in first value and removed in the second.

If you’d like to dig deeper, I’d suggest starting with the [mdn/browser-compat-data](https://github.com/mdn/browser-compat-data) repo. Specifically, check out the [webextensions/api/downloads.json](https://github.com/mdn/browser-compat-data/blob/main/webextensions/api/downloads.json) file and reference the [`version_removed`](https://github.com/mdn/browser-compat-data/blob/main/schemas/compat-data-schema.md#version_removed) and [`version_last`](https://github.com/mdn/browser-compat-data/blob/main/schemas/compat-data-schema.md#version_last) sections of the [schema docs](https://github.com/mdn/browser-compat-data/blob/main/schemas/compat-data-schema.md). It might also be worth noting that [this is where the version range is output](https://github.com/mdn/yari/blob/bda844f7dd745f7e3ac15736c3c884fc26507464/client/src/document/ingredients/browser-compatibility-table/feature-row.tsx#L118-L119) in the compatibility table.

> Per your interpretation, I would expect a green 48-68, followed by a red x 69

Unfortunately, displaying that much information in the compatibility table would make it more difficult for readers to quickly and easily assess what they can/can’t use right now.

> [@opto](#):
>
> But other than the MDN signalling, does browser.download work on Android,or is there any other way to generate a file for the user?

No, `browser.download` does not work on Android. There are other ways to write a file to disk in JavaScript such as flagging an anchor link as savable via the [`download` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#download) or the web platform’s [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API).

---

<div class="post-metadata">

**Author:** ![opto](https://avatars.discourse-cdn.com/v4/letter/o/59ef9b/32.png) [@opto](https://discourse.mozilla.org/u/opto)\
**Post date:** [January 3, 2024, 12:04pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/6 "2024-01-03T12:04:37Z")

</div>

Thanks, I will try that for saving the file.

---

<div class="post-metadata">

**Author:** ![nathanielmbeaver](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/nathanielmbeaver/32/67787_2.png) [@nathanielmbeaver](https://discourse.mozilla.org/u/nathanielmbeaver)\
**Post date:** [September 23, 2025, 6:46pm UTC](https://discourse.mozilla.org/t/download-api-available/125785/7 "2025-09-23T18:46:19Z")

</div>

For reference, here’s the bug tracking the downloads API for Fenix (the old version of Firefox for Android was called Fennec):

> **[1538348 - \[meta\] Implement the |downloads| extension API](https://bugzilla.mozilla.org/show_bug.cgi?id=1538348)**
>
> NEW (nobody) in GeckoView - Extensions. Last updated 2025-08-26.
