<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "SafariServices",
  "identifier" : "/documentation/SafariServices",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Safari Services"
    ],
    "preciseIdentifier" : "SafariServices"
  },
  "title" : "Safari Services"
}
-->

# Safari Services

Enable web views and services in your app.

## Overview

Use the Safari Services framework to integrate Safari behaviors into your iOS or macOS app, or to extend the behavior of Safari.

You can:

- Provide a user interface that is almost identical to the user interface that the Safari app provides. Users can browse the web in this view and then return to your app’s content. This view is more consistent with the Safari user interface than implementing your own custom browsing solution and can be done using fewer lines of code. (iOS)
- Add items to the user’s Safari Reading List. (iOS)
- Convert your existing Chrome, Firefox, or Edge extensions into a Safari web extension, or create a new Safari web extension that can work in other browsers. (iOS and macOS)
- Determine from your app whether your content blocker extension is loaded, and if it is, tell it to refresh its contents. (iOS and macOS)
- Implement Safari app extensions. Determine from your app whether a Safari app extension is loaded. (macOS)
- Allow the user to share cookies and website data between an app and Safari for a single sign-on (SSO) experience with  <doc://com.apple.documentation/documentation/AuthenticationServices/ASWebAuthenticationSession>.

## Topics

### Safari web extensions

[Safari web extensions](/documentation/SafariServices/safari-web-extensions)

Create web extensions that work in Safari and other browsers.

### Content blockers

[Creating a content blocker](/documentation/SafariServices/creating-a-content-blocker)

Create a content blocker for Safari in Xcode.

[`SFContentBlockerManager`](/documentation/SafariServices/SFContentBlockerManager)

A class that your app uses to interact with a content blocker extension.

[`SFContentBlockerState`](/documentation/SafariServices/SFContentBlockerState)

The state of a content blocker extension.

### Safari app extensions

[Safari app extensions](/documentation/SafariServices/safari-app-extensions)

Learn how Safari app extensions extend the web-browsing experience in Safari by leveraging web technologies and native code.

[`SFSafariExtension`](/documentation/SafariServices/SFSafariExtension)

A proxy for the Safari extension.

[`SFSafariApplication`](/documentation/SafariServices/SFSafariApplication)

A proxy for the Safari app.

[`SFSafariWindow`](/documentation/SafariServices/SFSafariWindow)

A proxy for a Safari window.

[`SFSafariPage`](/documentation/SafariServices/SFSafariPage)

A proxy for a Safari webpage.

[`SFSafariTab`](/documentation/SafariServices/SFSafariTab)

A proxy for a tab in a Safari window.

### Safari content in your app

[Importing data exported from Safari](/documentation/SafariServices/importing-data-exported-from-safari)

Transfer bookmarks, saved passwords, and other information between browsers.

[`SFSafariViewController`](/documentation/SafariServices/SFSafariViewController)

An object that provides a visible standard interface for browsing the web.

[`SFAuthenticationSession.CompletionHandler`](/documentation/SafariServices/SFAuthenticationSession/CompletionHandler)

The completion handler for an authentication session when the user cancels or finishes the login.

[`SFSafariSettings`](/documentation/SafariServices/SFSafariSettings)

A class that provides your app access to several of Safari’s settings options.

### Associated domains

  <doc://com.apple.documentation/documentation/Xcode/supporting-associated-domains>

[`SFUniversalLink`](/documentation/SafariServices/SFUniversalLink)

An object that provides browsers with the ability to discover associations between an app and a website.

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.associated-domains>

### Availability

[`SFSafariServicesAvailable(_:)`](/documentation/SafariServices/SFSafariServicesAvailable(_:))

Indicates whether a given version of Safari services is available.

[`SFSafariServicesVersion`](/documentation/SafariServices/SFSafariServicesVersion)

The version of Safari services.

### Safari Reading List

[`SSReadingList`](/documentation/SafariServices/SSReadingList)

An object for adding items to a user’s Safari Reading List.

[`SSReadingListErrorDomain`](/documentation/SafariServices/SSReadingListErrorDomain)

The domain for Safari Reading List errors.

[`SSReadingListError.Code`](/documentation/SafariServices/SSReadingListError/Code)

Messages that describe a Safari Reading List error.

[`SSReadingListError`](/documentation/SafariServices/SSReadingListError)

A Safari Reading List error.

### Home Screen bookmarks

[`SFAddToHomeScreenActivityItem`](/documentation/SafariServices/SFAddToHomeScreenActivityItem)

A protocol that describes a bookmark someone can add to their Home Screen.

### Miscellaneous errors

[`SFError`](/documentation/SafariServices/SFError)

A content blocker or Safari app extension error.

[`SFError.Code`](/documentation/SafariServices/SFError/Code)

Messages that describe a content blocker or Safari app extension error.

[`SFErrorDomain`](/documentation/SafariServices/SFErrorDomain)

The domain for content blocker or Safari app extension errors.

### Deprecated

[Deprecated symbols](/documentation/SafariServices/deprecated-symbols)

Review unsupported symbols and their replacements.



---

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)