Creating a custom app in Shopify is one of the most powerful ways to extend your store's functionality. Whether you're building internal tools, integrating third-party services, or developing custom features tailored to your business needs, you'll need a Shopify access token to authenticate your API requests. This comprehensive guide will walk you through the entire process of creating a Shopify custom app and generating your access token in 2026.
API scopes determine what permissions your custom app has access to. Before creating your app, you need to decide which scopes you need. Here are some common scopes you might require:
| Scope | What It Allows |
|---|---|
| read_products, write_products | Read and modify product information, including titles, descriptions, pricing, and variants |
| read_orders, write_orders | Access and modify order data, including customer information and fulfillment status |
| read_inventory, write_inventory | Read and update inventory levels across your store and sales channels |
| read_customers, write_customers | Access and modify customer profiles, addresses, and contact information |
| read_fulfillments, write_fulfillments | Create and manage fulfillment orders and track shipping status |
Choose only the scopes your app actually needs. This follows the principle of least privilege and improves security. You can always add more scopes later if needed.
Follow these detailed steps to create your Shopify custom app and obtain your access token:
Log into your Shopify admin panel at https://admin.shopify.com. Make sure you're using an account with administrative privileges. If you don't have a development store, you can create one for free through the Shopify Partner dashboard.
In your Shopify admin dashboard, look for the "Apps and integrations" section in the left sidebar menu. Click on it to expand the menu options. You should see several submenu items including "Apps and sales channels," "Develop apps," and "API credentials."
Click on "Develop apps" to access the app development area. If this is your first time creating an app, you may need to accept terms and conditions. Shopify may also ask you to provide some basic information about your development project.
Click the "Create an app" button. A dialog box will appear asking for your app name. Choose a descriptive name that reflects what your app does, such as "Inventory Sync Tool" or "Customer Data Exporter." You can also add an app icon and description here, though these are optional.
After creating your app, you'll be taken to the app configuration page. Look for the "Admin API access scopes" or "Configuration" section. Here, you'll see a list of all available API scopes. Select only the scopes your app needs. For example, if you're building an inventory management tool, select "read_inventory" and "write_inventory." Remember to save your changes.
Once you've configured your scopes, look for the "API credentials" or "Admin API" section. You should see a button that says "Generate access token" or "Reveal token." Click this button to generate your access token. Shopify will create a unique token that you'll use to authenticate your API requests.
IMPORTANT: Copy your access token immediately and store it in a secure location. Shopify will only display this token once. If you lose it, you'll need to generate a new one. Never share your access token or commit it to version control systems like GitHub.
To verify that your access token works correctly, you can make a test API request. Here's an example using curl to fetch your store information:
curl -X GET "https://your-store.myshopify.com/admin/api/2024-01/shop.json" \
-H "X-Shopify-Access-Token: shpat_your_access_token_here" \
-H "Content-Type: application/json"
Replace "your-store" with your actual store name and "shpat_your_access_token_here" with your generated access token. If successful, you'll receive a JSON response containing your shop information, confirming that your token is working properly.
In your application code, never hardcode your access token. Instead, use environment variables. Here's an example in Python:
import os
from shopify import Session, ShopifyResource
access_token = os.getenv('SHOPIFY_ACCESS_TOKEN')
shop_url = os.getenv('SHOPIFY_SHOP_URL')
session = Session(shop=shop_url, access_token=access_token)
ShopifyResource.activate_session(session)
Store your access token in a .env file (which you should never commit to version control) or use your hosting platform's secrets management system.
If you want to streamline the process of creating a custom app and managing your access tokens, consider using getshopifytoken.com. This tool automates many of the manual steps involved in creating a Shopify custom app, allowing you to generate access tokens more quickly and efficiently. Instead of navigating through multiple Shopify admin screens, you can complete the process in just a few clicks. GetShopifyToken also provides helpful documentation and keeps track of your tokens in one centralized location, making it easier to manage multiple apps and development environments.
No. Each Shopify store requires its own access token. If you're managing multiple stores, you'll need to create separate custom apps on each store and generate individual access tokens for each one. This is a security feature that prevents one compromised token from giving access to all your stores.
Shopify access tokens remain valid indefinitely until you manually revoke them or delete the associated custom app. However, it's good practice to rotate your tokens periodically as a security measure. If you suspect a token has been compromised, immediately regenerate it or delete the app.
A custom app is created for a specific store and uses an access token for authentication. Custom apps are private and only work with the store they were created on. A public app, on the other hand, is listed in the Shopify App Store and uses OAuth 2.0 for authentication, allowing it to be installed on multiple stores. Choose a custom app if you're building something specific to your own business, and choose a public app if you want to distribute your solution to other Shopify merchants.