Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The BackgroundFetchManager interface of the Background Fetch API is a map where the keys are background fetch IDs and the values are BackgroundFetchRegistration objects.

Instance properties


Instance methods

fetch() Experimental

Returns a Promise that resolves with a BackgroundFetchRegistration object for a supplied array of URLs and Request objects.

get() Experimental

Returns a Promise that resolves with the BackgroundFetchRegistration associated with the provided id or undefined if the id is not found.

getIds() Experimental

Returns the IDs of all registered background fetches.


The example below shows how to get an instance of BackgroundFetchManager from a ServiceWorkerRegistration object and calls fetch() to download an audio file in the background.

navigator.serviceWorker.ready.then(async (swReg) => {
  const bgFetch = await swReg.backgroundFetch.fetch(
    ["/ep-5.mp3", "ep-5-artwork.jpg"],
      title: "Episode 5: Interesting things.",
      icons: [
          sizes: "300x300",
          src: "/ep-5-icon.png",
          type: "image/png",
      downloadTotal: 60 * 1024 * 1024,


Background Fetch
# background-fetch-manager

Browser compatibility

BCD tables only load in the browser