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 a video 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