<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "marketplacekit",
  "identifier" : "/documentation/MarketplaceKit/MarketplaceAppExtension",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "MarketplaceKit"
    ],
    "preciseIdentifier" : "s:14MarketplaceKit0A12AppExtensionP"
  },
  "title" : "MarketplaceAppExtension"
}
-->

# MarketplaceAppExtension

An extension that facilitates authentication, installation, and launch of a marketplace with deep links.

```
protocol MarketplaceAppExtension : AppExtension, Sendable
```

## Overview

You provide this extension to enable the operating system to facilitate some tasks for your app even if it isn’t running, such as:

- Automatically updating apps when a new version is available.
- Providing additional header text for communications with your marketplace server.
- Launching your app storefront for a specific app.
- Handling failures in requests to your marketplace server.

### Define the extension point identifier

To set up your marketplace extension in Xcode, use a generic extension template and set the `EXExtensionPointIdentifier` key in the `Info.plist` file to `com.apple.marketplace.extension`:

```
<dict>
  <key>EXAppExtensionAttributes</key>
  <dict>
    <key>EXExtensionPointIdentifier</key>
    <string>com.apple.marketplace.extension</string>
  </dict>
</dict>
</plist>
```

## Topics

### Instance Methods

[`func additionalHeaders(for: URLRequest, account: String) async -> [String : String]`](/documentation/MarketplaceKit/MarketplaceAppExtension/additionalHeaders(for:account:))

Adds information to the request header for communications from the operating system to your marketplace endpoints.

[`func automaticUpdates(for: [AppVersion]) async throws -> [AutomaticUpdate]`](/documentation/MarketplaceKit/MarketplaceAppExtension/automaticUpdates(for:))

[`func availableAppVersions(forAppleItemIDs: [AppleItemID]) async -> [AppVersion]`](/documentation/MarketplaceKit/MarketplaceAppExtension/availableAppVersions(forAppleItemIDs:))

[`func requestFailed(response: HTTPURLResponse) async -> Bool`](/documentation/MarketplaceKit/MarketplaceAppExtension/requestFailed(response:))

Handles when the operating system receives an unexpected response from your web server.

## Relationships

### Inherits From

[`AppExtension`](/documentation/ExtensionFoundation/AppExtension)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

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)