<!--
{
  "availability" : [
    "Apple Ads Platform API: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Apple-Ads-Platform-API",
  "identifier" : "/documentation/Apple-Ads-Platform-API/Query-Product-Page-Locale-Details",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service Endpoint",
  "symbol" : {
    "kind" : "Web Service Endpoint",
    "modules" : [
      "Apple Ads Platform API"
    ],
    "preciseIdentifier" : "rest:apple-ads-platform-api:post:product-pages-locale-details-query"
  },
  "title" : "Query Product Page Locale Details"
}
-->

# Query Product Page Locale Details

Queries the localized content associated with a custom product page.

## Discussion

This endpoint queries the localized content associated with a specific product page. For each language version, the response returns the metadata that Apple Ads will show (including the localized `appName`, `subTitle`, `promotionalText`, and `shortDescription`) along with asset references organized by device class in the `assetsByDevice` field.

To preview how a product page creative will appear across different locales before using it in a campaign, use this endpoint. This is especially useful when managing multi-locale campaigns to verify that all required language variants are present and correctly populated.

The endpoint requires a filter on `productPageId`. Omitting the `languageCode` filter returns locale details for all supported languages of the product page. Add a `languageCode` filter to retrieve a specific locale.

See [`QueryFilterOperator`](/documentation/Apple-Ads-Platform-API/QueryFilterOperator) for the full set of supported comparison operators.

## Request Body

### Filterable Fields

|Field          |Type         |Operators|Sortable|Description                                                            |
|---------------|:-----------:|:-------:|:------:|-----------------------------------------------------------------------|
|`productPageId`|string (UUID)|`EQUALS` |        |Scopes the query to a specific product page. See Key Constraints below.|
|`language`     |string       |`EQUALS` |        |Filter to a specific language identifier, such as `en` or `fr`.        |
|`languageCode` |string       |`EQUALS` |        |Filter to a specific locale, such as `en-US` or `fr-FR`.               |

The request body is a [`QueryRequest`](/documentation/Apple-Ads-Platform-API/QueryRequest) composed of [`QueryFilter`](/documentation/Apple-Ads-Platform-API/QueryFilter) conditions and [`QuerySort`](/documentation/Apple-Ads-Platform-API/QuerySort) directives ([`QuerySortOrder`](/documentation/Apple-Ads-Platform-API/QuerySortOrder)), controlled by [`QueryPagination`](/documentation/Apple-Ads-Platform-API/QueryPagination).

Keep the following constraints in mind when querying locale details:

|Constraint              |Detail                                                                                                                                                                                                                      |
|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|productPageId required  |A filter on `productPageId` is required. The query will return an error without it.                                                                                                                                         |
|All locales by default  |Omitting `languageCode` returns all locales configured for the product page.                                                                                                                                                |
|assetsByDevice structure|The `assetsByDevice` field maps each specific device type (for example, `iphone_6_5`, `iphone_6_7`) to a `DeviceAssetGroup` containing an `assets` array of asset references and an `appPreviewDeviceFallBackDevices` array.|

## Payload Examples

**All Locales for a Page:**

### Request

```json
{
 "filters": [
   {
     "field": "productPageId",
     "operator": "EQUALS",
     "value": "133fc807-d4d5-4c77-92ae-1d6ffdf0c7dc"
   }
 ]
}
```

### Response

```json
{
 "result": [
   {
     "productPageId": "133fc807-d4d5-4c77-92ae-1d6ffdf0c7dc",
     "adamId": 123456789,
     "language": "en",
     "languageCode": "en-US",
     "appName": "AwayFinder",
     "subTitle": "Get more done every day",
     "promotionalText": "Now with AI-powered scheduling",
     "shortDescription": "The all-in-one task manager for busy professionals.",
     "deviceClasses": [
       "IPHONE",
       "IPAD"
     ],
     "assetsByDevice": {
       "iphone_6_5": {
         "assets": [
           {
             "assetId": "41a91e19-e021-45bb-ac5a-5faec02f9445"
           },
           {
             "assetId": "52b02f2a-f132-56cc-bd6b-6gbfd13g0556"
           }
         ],
         "appPreviewDeviceFallBackDevices": []
       }
     }
   },
   {
     "productPageId": "133fc807-d4d5-4c77-92ae-1d6ffdf0c7dc",
     "adamId": 123456789,
     "language": "fr",
     "languageCode": "fr-FR",
     "appName": "AwayFinder",
     "subTitle": "Accomplissez plus chaque jour",
     "promotionalText": "Maintenant avec planification par IA",
     "shortDescription": "Le gestionnaire de tâches tout-en-un.",
     "deviceClasses": [
       "IPHONE"
     ],
     "assetsByDevice": {
       "iphone_6_5": {
         "assets": [
           {
             "assetId": "c5c641c8-026a-44fb-a3ce-0f78cab73cad"
           }
         ],
         "appPreviewDeviceFallBackDevices": []
       }
     }
   }
 ],
 "pagination": {
   "totalCount": 2,
   "offset": 0,
   "pageSize": 20
 }
}
```

**Specific Language:**

### Request

```json
{
 "filters": [
   {
     "field": "productPageId",
     "operator": "EQUALS",
     "value": "133fc807-d4d5-4c77-92ae-1d6ffdf0c7dc"
   },
   {
     "field": "languageCode",
     "operator": "EQUALS",
     "value": "en-US"
   }
 ]
}
```

### Response

```json
{
 "result": [
   {
     "productPageId": "133fc807-d4d5-4c77-92ae-1d6ffdf0c7dc",
     "adamId": 123456789,
     "language": "en",
     "languageCode": "en-US",
     "appName": "AwayFinder",
     "subTitle": "Get more done every day",
     "promotionalText": "Now with AI-powered scheduling",
     "shortDescription": "The all-in-one task manager for busy professionals.",
     "deviceClasses": [
       "IPHONE",
       "IPAD"
     ],
     "assetsByDevice": {
       "iphone_6_5": {
         "assets": [
           {
             "assetId": "41a91e19-e021-45bb-ac5a-5faec02f9445"
           },
           {
             "assetId": "52b02f2a-f132-56cc-bd6b-6gbfd13g0556"
           }
         ],
         "appPreviewDeviceFallBackDevices": []
       },
       "iphone_6_7": {
         "assets": [
           {
             "assetId": "9ea4bb81-5f18-401f-bfe1-101a6ee6d328"
           }
         ],
         "appPreviewDeviceFallBackDevices": [
           "iphone_6_5"
         ]
       }
     }
   }
 ],
 "pagination": {
   "totalCount": 1,
   "offset": 0,
   "pageSize": 20
 }
}
```

---

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)