Types of apps

Apps play an important role within Shopify’s ecosystem. This guide explains the different types of apps you can build. It also describes how merchants and developers manage apps.

What type of app should I build?

The type of app you choose to build depends on its purpose and how you’ll distribute or sell it. You can't change the type of app after you create it, so make sure that you understand the different capabilities and requirements of each type.

You can build the following types of apps:

  • Public app: An app that you can distribute to many merchants.
  • Custom app: An app that is tailored for a single merchant.
  • Private app: An app that is tailored for merchants with specific requirements not met by a custom app.

Capabilities and requirements

The following table shows the capabilities and requirements that are associated with each type of app:

Type of app Authentication method Installation Approval required Distribution in App Store Features and limitations
Public OAuth. If embedded, then OAuth and session tokens. Installed on multiple Shopify stores Yes Yes
Custom OAuth. If embedded, then OAuth and session tokens. Installed on a single Shopify store. Shopify Plus service partners
can install the same custom app
on multiple Plus stores for a single Shopify Plus merchant.
No No
Private Basic HTTP Installed on a single Shopify store No No

Embedded apps

Embedded apps enable you to add features to certain parts of Shopify’s user interface and online stores.

Embedded apps are hosted on your own infrastructure, integrate with Shopify using Shopify App Bridge, and display directly in the Shopify admin or POS inside an iframe.

By default, all newly created apps are set up to embed in the Shopify admin. If you need to turn on the setting to embed an app, then you can follow these steps.

Alternatives to embedded apps

We recommend building embedded apps because they deliver the best merchant experience and are closely integrated with Shopify.

However, you can build a standalone app, which isn't embedded in the Shopify admin. Standalone apps expose their own user interface, on their own web domain, and don’t have access to app extensions.

POS apps

Shopify POS allows merchants to use Shopify as a point of sale app on a smartphone or tablet, or to use dedicated Shopify hardware. You can extend or add new features to Shopify POS.

How merchants manage apps

Merchants manage apps by installing them in the Shopify admin, which authorizes Shopify to share certain data with that app. Installation varies for public, custom, and private apps.

Installing public apps

Public apps are installed using OAuth. During installation, a URL is displayed to the merchant to request specific API access scopes. If the merchant grants the requested access, then the app can be installed.

The installation process can be initiated with any web link. However, listing in the Shopify App Store is the best way to reach the greatest number of potential customers.

Installing custom apps

Custom apps are installed using OAuth. They can only be installed by a single Shopify store, using a generated install link tied to the merchant's store URL. To test your custom app without limits on installations, you can install it on a development store.

Custom apps can only be installed on a merchant store once. You should only generate your custom app's install URL when you're ready for a merchant to install the app, as it can't be changed or updated later.

Installing private apps

Private apps use basic HTTP authentication with credentials generated by a single store. If the app has a valid API key and secret for that store, then it has access to the store’s data.

Private apps are managed from the merchant's Shopify admin.

Uninstalling apps

Merchants can delete apps from their stores at any time. Deleting an app revokes API access tokens for that store, stops subscription payments, and generates an uninstall webhook. Uninstall events also occur when a Shopify store using an app is closed or suspended.

How developers manage apps

Shopify provides a range of software tools, sample apps, and libraries to accelerate your development process:

  • Partner Dashboard: Create and manage your public and custom apps, collaborate with development teams, and track app installations and revenue. To log in to your account or to sign up for a new account, visit Shopify Partners.

  • Development stores: Test any apps that you create.

  • Shopify CLI: Accelerate your app development process by quickly generating starting code for your app.

  • API libraries: Use Shopify's official libraries to interact with the Admin API. You can also access third-party Admin API libraries that are maintained by members of the Shopify community.

  • App Bridge: Streamline embedding an app in the Shopify admin using Shopify's JavaScript library.

Next steps

  • Use Shopify CLI to create an app, quickly set up your development environment, and generate starting code.
  • Learn about the different methods of authenticating and authorizing apps and services with Shopify’s platform.
  • Use webhooks to stay in sync with Shopify or execute code after a specific event occurs in a shop.
  • Learn how to use metafields to share additional information about Shopify resources with your app.