<!--
{
  "documentType" : "article",
  "framework" : "watchOS Apps",
  "identifier" : "/documentation/watchOS-Apps/making-background-requests",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Making background requests"
}
-->

# Making background requests

Send requests from your app when it’s running in the background.

## Overview

Use background requests when your app is running in the background or about to become
inactive.

To create a background session:

1. Create a background configuration by calling the <doc://com.apple.documentation/documentation/Foundation/URLSessionConfiguration/backgroundSessionConfiguration(_:)>
   method on the <doc://com.apple.documentation/documentation/Foundation/URLSessionConfiguration>
   class.
2. Create a background session by calling the <doc://com.apple.documentation/documentation/Foundation/URLSession>
   class’s <doc://com.apple.documentation/documentation/Foundation/URLSession/init(configuration:delegate:delegateQueue:)>
   initializer, passing both the background configuration and a session delegate. Background
   sessions must have a session delegate.
3. Create a task to download data by calling the session object’s <doc://com.apple.documentation/documentation/Foundation/URLSession/downloadTask(with:)-1onj>
   method.
4. Start the task by calling its <doc://com.apple.documentation/documentation/Foundation/URLSessionTask/resume()>
   method.
5. Implement your WatchKit extension delegate’s <doc://com.apple.documentation/documentation/WatchKit/WKExtensionDelegate/handle(_:)-92ulv>
   method to respond to (and complete) the WatchKit background task. For more information,
   see <doc://com.apple.documentation/documentation/WatchKit/WKURLSessionRefreshBackgroundTask>.
6. Implement the session delegate’s methods to receive data and notifications from
   the session. For more information, see <doc://com.apple.documentation/documentation/Foundation/URLSessionDelegate>.

Unlike default and ephemeral sessions, a background session persists even if your
watchOS app closes. If your app is still the frontmost app, the system wakes your
app as soon as it receives a response. Otherwise, the system may defer delivering
the response to your app, based on system resources. If the response hasn’t been
delivered yet, it’s delivered the next time your app becomes active.

Background sessions may be deferred based on the system’s state, network connectivity,
and other issues. When making a background request, smaller transfers are better.

For more information on working with WatchKit background tasks, see <doc://com.apple.documentation/documentation/WatchKit/background-execution>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)