<!--
{
  "availability" : [
    "iOS: 3.0.0 - 18.0.0",
    "iPadOS: 3.0.0 - 18.0.0",
    "macCatalyst: 13.1.0 - 18.0.0",
    "macOS: 10.7.0 - 15.0.0",
    "tvOS: -",
    "visionOS: 1.0.0 - 2.0.0",
    "watchOS: 6.2.0 - 11.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SKProductsRequest",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SKProductsRequest"
  },
  "title" : "SKProductsRequest"
}
-->

# SKProductsRequest

An object that can retrieve localized information from the App Store about a specified list of products.

```
class SKProductsRequest
```

## Overview

Your app uses an [`SKProductsRequest`](/documentation/StoreKit/SKProductsRequest) object to present localized prices and other information to the user without having to maintain that list of product information itself.

To use an [`SKProductsRequest`](/documentation/StoreKit/SKProductsRequest) object, you initialize it with a list of product identifier strings, attach a delegate, and then call the request’s [`start()`](/documentation/StoreKit/SKRequest/start()) method. When the request completes, your delegate receives an [`SKProductsResponse`](/documentation/StoreKit/SKProductsResponse) object.

> Note:
> Be sure to keep a strong reference to the request object; otherwise, the system might deallocate the request before it can complete.

## Topics

### Initializing a Products Request

[`-  initWithProductIdentifiers:`](/documentation/StoreKit/SKProductsRequest/init(productIdentifiers:))

Initializes the request with the set of product identifiers.

### Setting the Delegate

[`delegate`](/documentation/StoreKit/SKProductsRequest/delegate)

The delegate that receives the response of the app’s products request.

[`SKProductsRequestDelegate`](/documentation/StoreKit/SKProductsRequestDelegate)

A set of methods the delegate implements so it receives the product information your app requests.

## Relationships

### Conforms To

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

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

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

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

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

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

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

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

### Inherits From

[`SKRequest`](/documentation/StoreKit/SKRequest)

---

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)