8 Key Things to Know Before Developing a Shopify App
Learn how to create a successful Shopify app that stands out in a crowded marketplace and generates significant revenue for your business.

Shopify apps are powerful tools that provide additional or alternative functionality for Shopify stores. These tools allow you to implement various features, such as targeting ads to customers, collecting reviews, customizing the purchase workflow, translating the store's content, replacing the default checkout, and much more.
There are thousands of apps in the Shopify App Store, both paid and free, designed to solve various problems. However, you may not find an app that meets your needs. In this case, you may consider creating your own Shopify application.
This article provides the necessary information to plan your next steps. After reading it, you will have the knowledge you need to proceed.
Is it a good idea to make a Shopify app?
It might seem like Shopify apps are easy to make and don't require any real programming skills. But that's only partly true. Shopify apps can be simple to create, but they can also be complex software products. It all depends on the type of Shopify app you want to make.
Making a Shopify app takes time and resources, so it's best to use an existing one if possible. But if you're serious about building your own, we can help you through the process.
So, here are 8 key things to know before developing a Shopify App.
1. Shopify apps vs. themes vs. app extensions
There is a difference between Shopify apps, themes, and app extensions:
- Themes make up the visuals of the Shopify store. This includes the colors, images, the layout of elements, how it looks on mobile devices, and what sections are included.
- Apps change or extend the store's logic. They can track customer behavior, update the checkout page, add tipping on the thank-you page, add a chat in the bottom corner, extend product management for admins, and more.
- App Extensions are not apps. They are mechanisms that allow an app to add features to certain parts of Shopify's user interfaces.
Apps can also change the store's visuals, but if you want to define how the store looks, you need a theme. In this article, we are focusing on apps, not themes.
2. What is Shopify API, and how does it work?
The Shopify API (Application Programming Interface) allows apps to interact with Shopify stores by providing access to almost all their data and functionality.

Shopify API offers a set of actions (endpoints), such as retrieving a list of store customers through the Get Customers endpoint or updating customer information via the Update Customer endpoint.

Shopify API requires an access token generated for a specific store once the app is installed.

3. Types of Shopify APIs
- Admin API: This API provides access to store products, customers, orders, fulfillment, and more. It’s the core of the Shopify API, and in most cases, the Shopify apps work with it.
- Storefront API: Provides read-only access to public store data such as products, collections, etc. It doesn’t require authentication and can be used to build a custom store from scratch.
- Partner API: The Partner API provides data access in the Partner Dashboard. Data includes transactions that impact your earnings, app events, and for participating partners, Experts Marketplace opportunities. With this information, you can effectively scale your business by automating front and back-office operations, freeing up time to focus on solutions for Shopify merchants.
- Payments Apps API: Provides access to the payments app's configuration data. You can use the Payments Apps API to resolve, pend, or reject payment sessions. You can also use the Payments Apps API to reject or resolve captures, refunds, and void sessions.
- Marketplaces API: Provides access to all shops in the marketplace.
- Messaging API: Used to send messages from 3rd-party services (e.g., SMS or Facebook Messenger) to the Shopify Inbox.
Choose the API that best suits your needs.
4. The structure of Shopify apps
Shopify apps can perform almost any custom logic, such as changing or extending the store's functionality for customers or admins, integrating the store with third-party platforms, etc. Regardless of functionality, every Shopify app connects with one or more Shopify stores using the Shopify API. These apps may or may not have a user interface.

5. Embedded vs. Standalone apps
There are two types of Shopify apps:
- Embedded. They are located in the Shopify admin dashboard.
- Standalone. They are hosted externally, such as on your website.
Another difference is that embedded apps must use App Bridge technology for their user interface, and standalone apps must not.
You can read more about the difference between these app types here: Embedded vs. Standalone Shopify Apps: Key Differences and How to Choose
6. Application distribution types: public vs. custom vs. private vs. draft
There are three types of Shopify apps, depending on the distribution model:
- Public apps can be published on the Shopify App Store. After they are created, they can work with multiple stores. To be accepted, public apps must pass the Shopify app review.
- Custom (or single-merchant-install) apps can only work with a single store and won't be listed on the Shopify App Store. However, unlike public apps, you don’t need to implement their installation—the access token for Shopify API is generated automatically right after setting up. It’s the best choice if you need an app to work with exactly one store, either yours or your customer's.
- Draft apps are used during development and can only be installed on development stores for testing purposes.
Private apps are no longer available after January 2022. You should use custom apps instead.
7. How to set up a new Shopify app
You can set up a new Shopify app in three ways:
- Through Shopify Partners for public apps.
- Through the admin dashboard of a specific Shopify store for custom apps.
- Through Shopify CLI (a command line tool) for both public and custom apps. This is recommended for developers as it can speed up the development process with app templates.
You can create a custom app with Shopify Partners, but your developers must set it up to obtain the access token. The access token is automatically generated when you create an app using the store's admin dashboard. We will explain access tokens in the next section.
8. App installation workflow
Shopify apps require an access token to interact with a store via the Shopify API. The token type depends on how the app was created and its type:
- For apps created in the Shopify admin dashboard, the _access token_ is created automatically.
- For Standalone apps, the app must use the OAuth workflow to generate the _OAuth access token_.
- Embedded apps need both an _OAuth access token_ and a _session token_.
Conclusion
- Creating Shopify apps requires time and resources, so if you need an app for personal usage, consider using an existing one first. This can save you time and effort.
- Shopify apps differ from Shopify themes and app extensions.
- The Shopify app connects to the Shopify store via the Shopify API, which requires authentication.
- There are different types of Shopify APIs for different needs and application types.
- Shopify apps can be either Embedded or Standalone. It's important to choose the correct type before beginning development, as the wrong choice can lead to problems.
- Shopify apps can be either public or private. It's important to decide on the type before beginning development.