Different types of Shopify apps


Introduction

Shopify apps are web applications that add functionality to Shopify stores in several different ways:

  • Reading and writing store data, either in response to user input or webhook event notifications
  • Extending new features inside existing parts of the Shopify admin or POS
  • Enhancing the way stores display information to customers
👉

We host Shopify apps on our own infrastructure. We can host our apps anywhere and can build with any tech stack of our choice. A partners account is required to create and manage all types of apps.

Types of Shopify apps

Depending on the purpose of our app and how we’ll distribute or sell it, we first need to choose what type of app we’ll build. App types can’t be changed after the app has been created, so we must understand the different capabilities and requirements of each type. There are four app types:

1. Public Apps

Public apps are meant for developers who want to distribute their apps to many merchants. These are the key features of public apps:

Every public app that passes Shopify’s approval process has a profile page on the Shopify App Store. We can choose to make our app’s profile page listed or unlisted. Which one we choose depends on our business model and how we want to promote and sell our app. We can change our app’s listing status at any time.

Types of public apps

  1. Listed apps

    Listed apps are fully visible in Shopify App Store search results and categories:

    • It has a listing page with a Shopify App Store URL
    • Merchants can install it from that listing page
    • Its listing shows up in relevant category pages
    • Its listing is indexed in App Store search results
    • Its listing is visible to other search engines
    • By default, all approved public apps are listed.

  2. Unlisted apps

    Unlisted apps don't appear in Shopify App Store search results or categories. Instead, we can install them from the app's App Store listing or the developer's website.

    If we don’t want our app to be listed in the Shopify App Store, we can choose to make it unlisted. Being unlisted means our app has limited visibility in the Shopify App Store:

    • It has a listing page with a Shopify App Store URL
    • Merchants can install it from that listing page
    • Its listing does not show up in relevant category pages
    • Its listing is not indexed in App Store search results
    • Its listing is not visible to other search engines
👉
Both listed and unlisted apps must pass the Shopify App review process. A listed app is fully visible in the Shopify App Store, but an unlisted app has limited visibility in the Shopify App Store.

2. Custom Apps

Custom apps are meant for developers building an app tailored for a single merchant. These are the key features of custom apps:

  • They can be installed on a single Shopify store
  • They don’t go through Shopify’s app approval process
  • We can’t sell them in the Shopify App Store
  • WE can’t use the Billing API to charge merchants for them
  • They manage authentication with OAuth 2.0
  • They’re created and managed in our Partner Dashboard
  • They can use Shopify App Bridge to appear as an embedded app in the Shopify admin
  • They can use app extensions to extend the Shopify admin UI

A custom Shopify app can interact with the Shopify API on behalf of a single store. To authenticate with Shopify by using a custom app, we need to generate an installation link from our Partner Dashboard. The merchant uses the link to go through the OAuth process and install the app on their store.

👉
Custom apps are built exclusively for one Shopify store and aren't listed on the Shopify App Store.

3. Private Apps

Private apps are meant for developers building an app for a merchant with specific requirements not met by custom apps. These are the key features of private apps:

  • They’re created for a single Shopify store, or a small group of clients
  • They don’t go through Shopify’s app approval process
  • We can’t sell them in the Shopify App Store
  • Manage authentication with basic HTTP authentication
  • They’re created and managed in the merchant’s Shopify admin

A private Shopify app can interact with the Shopify API on behalf of a single store. To authenticate with Shopify by using a private app, we need to generate the credentials from the Shopify admin and provide these credentials in our request to Shopify.

👉

Private apps are available only to the store we created it from and aren't listed on the Shopify App Store. We can create a private app for our store in the Shopify admin.

4. Draft apps

Draft apps are used by Shopify Partners during development, and can only be installed on development stores for testing purposes. Installing a draft app on a development store disables store transfer permanently.

👉
Draft apps can only be installed on other stores after Shopify review, or once they're converted to a custom app.

More information for building apps is available here