If you're building an app, integration, or automation tool that needs to interact with your Shopify store, you'll need a Shopify access token (also called an admin API key). This authentication credential grants your application permission to access your store's data and perform actions on your behalf.
In 2026, Shopify has streamlined the token generation process, but the steps remain critical for security and proper functionality. This comprehensive guide walks you through everything you need to know about obtaining and managing your Shopify access tokens.
Before generating your token, you must specify which API scopes your application needs. Scopes limit what your token can access, improving security by following the principle of least privilege. Here are the most commonly used scopes:
| Scope | What It Allows |
|---|---|
| write_products | Create, update, and delete products and their variants; modify product images and collections |
| read_products | View product data, inventory levels, pricing, and product metadata without modification permissions |
| write_orders | Create and modify orders, add fulfillments, and manage order metadata and line items |
| read_orders | View order details, customer information, and transaction history without modification rights |
| write_fulfillments | Create and update fulfillments, manage tracking information, and update fulfillment status |
Additional scopes include read_customers, write_customers, read_inventory, write_inventory, read_content, and write_content. Choose only the scopes your application actually needs for security best practices.
Navigate to your Shopify admin dashboard at https://admin.shopify.com and sign in with your store credentials. Ensure you have admin access with app development permissions enabled.
From your admin dashboard:
In the Apps and Integrations section:
After creating your app:
Be selective here—only enable scopes you actually need. For example, if your app only reads product data, enable read_products but not write_products.
Once your scopes are configured:
shpat_1a2b3c4d5e6f7g8h9i0j)Verify your token works by making a test API call. Here's a curl example to retrieve your store's general information:
curl -X GET "https://yourstore.myshopify.com/admin/api/2024-01/shop.json" \
-H "X-Shopify-Access-Token: YOUR_ACCESS_TOKEN_HERE"
Replace yourstore with your actual store name and YOUR_ACCESS_TOKEN_HERE with the token you just generated. A successful response will return your shop's data in JSON format.
Never hardcode your access token in your source code. Instead:
.env files for development)If you find the manual process tedious or need to generate multiple tokens frequently, GetShopifyToken at https://getshopifytoken.com automates the entire token generation workflow. This service:
For developers managing multiple Shopify stores or building integrations at scale, GetShopifyToken significantly reduces the time spent on token administration.
Shopify access tokens remain valid indefinitely until you explicitly revoke them or your app is uninstalled. However, it's a security best practice to rotate tokens periodically (every 90 days is recommended) and immediately revoke any token you suspect has been compromised. Older tokens automatically become invalid when they reach the end of their assigned lifecycle in certain enterprise scenarios, but most tokens persist until manual revocation.
While technically possible, this is not recommended from a security standpoint. The principle of least privilege suggests creating separate apps with separate tokens for each distinct purpose or application. This way, if one token is compromised, you can revoke it without affecting your other integrations. Additionally, separate tokens make it easier to track which application is accessing which data and performing which actions.
A custom app token is for private use on your own store—it's tied to your specific store and admin account. A public app token is for applications you plan to distribute to other Shopify merchants. Public apps use OAuth 2.0 for authorization, while custom apps use direct token generation. Choose "custom app" unless you're building something for distribution to other stores.