# Import a catalog

> Import an existing catalog into the Unity Dashboard to create or replace your catalog.

Use catalog import to pull your existing listings from App Store Connect or Google Play directly into the Unity Dashboard. When you import, Unity retrieves your listings using the credentials you provide and adds new listings to your catalog. For listings that already exist, you can choose to skip or overwrite them.

## Import from App Store Connect or Google Play

To import a catalog from the Unity Dashboard, follow these steps:

1. Open **In-App Purchases** > **Catalog**.
2. Select **Import catalog**.
3. Select the Platform you want to import a catalog from (either **iOS** or **Android**).
4. Select the credential for your platform. For the required credential contents and permissions, refer to [Credential requirements](#credential-requirements).
5. Review the import summary. Each listing in the file is assigned a status. For listings with a **Conflict** status, choose how to handle them:
   * **Skip duplicates**: keep the existing listing and ignore the imported version.
   * **Overwrite existing**: replace the existing listing with the imported version.
6. Select **Import SKUs**.

### Credential requirements

The credential is a secret you store in [Secret Manager](/services/secret-manager.md). Unity uses it to read your listings from the store. For each platform, copy the full JSON entry into a single secret. The required contents and permissions depend on your platform.

For iOS, store an App Store Connect API key as the following JSON entry:

```json
{
  "p8": "<.p8 App Store Connect API key>",
  "keyId": "<App Store Connect Key ID>",
  "issuerId": "<Issuer ID>"
}
```

Include `issuerId` for team keys only, and omit it for an individual key. The API key must have the **App Manager** role or higher, such as **Admin** or **Account Holder**.

For Android, store a Google Play service account key as the following JSON entry:

```json
{
  "serviceAccountJSON": "<Google service account JSON key>"
}
```

The service account must have the **View app information (read only)** and **Manage store presence** permissions.

## Import statuses

Each SKU has a status tag:

| Status       | Description                                                                                                                              |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **New**      | The SKU doesn't exist in your catalog and is ready to import.                                                                            |
| **Error**    | The SKU has a missing or invalid required field. Correct the error and try to import again.                                              |
| **Conflict** | The SKU already exists in your catalog. Compare the existing and incoming values in the import window, then choose to skip or overwrite. |

## Deploy a Remote Catalog from the Editor or CLI

You don't have to import a catalog to manage it on the Dashboard. When you deploy a [Remote Catalog](../payment-providers/configure-remote-catalog) from the Unity Editor or the CLI, Unity adds those listings to the Unity Dashboard automatically. You can then manage, edit, and deploy them from the Dashboard alongside any catalogs you import.
