Back to HomeReference

Shopify Admin API Access Token Scopes

Every scope you can request when generating an Admin API access token in 2026, organized by category. Use it as a checklist when picking the minimum set your app needs.

By Datora Team · Updated

What are Shopify scopes?

A scope is a string that tells Shopify which parts of a store an access token is allowed to read or write. Every scope follows the same shape: read_resource for read access and write_resource for read and write access combined.

When you start the OAuth flow, you list the scopes you need as a comma-separated string. Shopify shows them to the merchant on the consent screen, the merchant approves, and the issued access token is permanently bound to exactly that set of scopes.

Tokens never auto-expand. If you later realize you need a scope you didn’t request, you have to re-run the OAuth flow and ask the merchant to re-approve.

Least privilege: request only the scopes you actually need. Merchants reject installs that ask for too much, and a leaked over-scoped token does more damage.

Use cases

Common scope sets

Starting points for typical app types. Trim or extend based on your specific needs. (Building a customer-facing storefront? You want the Storefront API and its own scope system instead.)

Read-only product catalog

Pull product data into a third-party tool (PIM, ERP, search index).

read_productsread_inventoryread_locations

Order export / accounting sync

Export orders to an accounting system or data warehouse.

read_ordersread_customersread_products

Inventory sync

Two-way inventory sync with an external system.

read_productsread_inventorywrite_inventoryread_locations

Order management / fulfillment app

Read orders, manage fulfillments, update tracking.

read_orderswrite_ordersread_fulfillmentswrite_fulfillments

Customer / marketing app

Sync customer data with an email or CRM platform.

read_customerswrite_customersread_marketing_events

Theme / storefront app

Edit themes and inject storefront customizations.

read_themeswrite_themesread_fileswrite_files
Complete reference

All Shopify Admin API scopes

Grouped by resource. Scopes marked as protected require approval from Shopify before you can request them.

Products & Inventory

Manage your catalog, inventory levels, and how products are published to sales channels.

ScopeDescription
read_productsRead products, variants, collections, images, and tags.
write_productsCreate, update, and delete products and variants.
read_inventoryRead inventory levels at every location.
write_inventoryAdjust inventory quantities and connect inventory items to locations.
read_product_listingsRead product publication status across sales channels.
write_product_listingsPublish or unpublish products on specific sales channels.
read_publicationsRead sales channel publications.
write_publicationsManage sales channel publications.

Orders

Read and manage orders, draft orders, edits, and returns. Some scopes require Shopify approval.

ScopeDescription
read_ordersRead orders placed in the last 60 days.
write_ordersCreate, update, and cancel orders.
read_all_ordersRead all historical orders. Protected scope — requires Shopify approval.
read_draft_ordersRead draft orders.
write_draft_ordersCreate and modify draft orders, including converting to real orders.
read_order_editsRead the history of edits applied to orders.
write_order_editsEdit completed orders (line items, prices, taxes).
read_returnsRead return requests and statuses.
write_returnsApprove, decline, and process returns.

Customers

Customer profiles, payment methods, and B2B companies. Some customer data is protected.

ScopeDescription
read_customersRead customer profiles, addresses, and order history.
write_customersCreate and update customer profiles and addresses.
read_customer_payment_methodsRead customers' saved payment methods (tokenized references).
read_companiesRead B2B companies, locations, and contacts. Requires Shopify Plus.
write_companiesCreate and manage B2B companies. Requires Shopify Plus.

Storefront, Themes & Content

Modify the merchant's online store: themes, pages, blogs, navigation, and locales.

ScopeDescription
read_themesRead theme files (Liquid templates, sections, assets).
write_themesCreate themes, modify theme files, and publish themes.
read_script_tagsRead JavaScript script tags injected into the storefront.
write_script_tagsAdd or remove storefront script tags. Deprecated in favor of theme app extensions for new apps.
read_online_store_pagesRead static pages (About, Contact, etc.).
write_online_store_pagesCreate and edit static pages.
read_online_store_navigationRead menus and link lists.
write_online_store_navigationManage menus and link lists.
read_contentRead blog articles, comments, and metafields on content.
write_contentCreate and update articles, blogs, and comments.
read_localesRead the locales (languages) configured for the store.

Fulfillment, Shipping & Locations

Move orders through fulfillment, configure shipping, and read store locations.

ScopeDescription
read_fulfillmentsRead fulfillments and tracking information.
write_fulfillmentsCreate and update fulfillments.
read_assigned_fulfillment_ordersRead fulfillment orders assigned to your app as a fulfillment service.
write_assigned_fulfillment_ordersUpdate fulfillment orders assigned to your app.
read_merchant_managed_fulfillment_ordersRead fulfillment orders the merchant fulfills themselves.
write_merchant_managed_fulfillment_ordersUpdate merchant-managed fulfillment orders.
read_shippingRead shipping zones, rates, and carrier services.
write_shippingConfigure shipping zones, rates, and carrier services.
read_locationsRead the store's physical and virtual locations.

Discounts & Pricing

Create and manage automatic discounts, discount codes, price rules, and gift cards.

ScopeDescription
read_discountsRead automatic discounts and discount codes.
write_discountsCreate, update, and delete discounts.
read_price_rulesRead legacy price rules. Use read_discounts for new code.
write_price_rulesManage legacy price rules. Use write_discounts for new code.
read_gift_cardsRead gift cards. Requires Shopify Plus.
write_gift_cardsIssue and manage gift cards. Requires Shopify Plus.

Marketing & Analytics

Marketing events, reports, and customer-facing pixels for tracking.

ScopeDescription
read_marketing_eventsRead marketing events created by apps and channels.
write_marketing_eventsCreate and update marketing events.
read_reportsRead built-in and custom reports.
write_reportsCreate custom reports.
read_pixelsRead web pixels installed on the storefront.
write_pixelsInstall and manage web pixels (custom or app-based).

Markets & Localization

International markets, languages, and translated content.

ScopeDescription
read_marketsRead the store's configured markets.
write_marketsCreate and manage markets.
read_translationsRead translations for products, pages, and other content.
write_translationsCreate and update translations.

Files & Media

Files uploaded to the merchant's Files section in admin.

ScopeDescription
read_filesRead files (images, videos, documents) in the Files section.
write_filesUpload and delete files.

Workflows & Automation

Shopify Flow workflows for automation.

ScopeDescription
read_flowRead Shopify Flow workflows and runs.
write_flowCreate and update Shopify Flow workflows.

Payments & Disputes

Payment disputes and Shopify Payments data. Many of these are read-only.

ScopeDescription
read_disputesRead chargebacks and payment disputes across providers.
read_shopify_payments_payoutsRead Shopify Payments payout history.
read_shopify_payments_bank_accountsRead connected bank account details (Shopify Payments).
read_shopify_payments_disputesRead Shopify Payments dispute records.

Checkout & Validations

Cart validations and checkout customization.

ScopeDescription
read_validationsRead cart and checkout validation functions.
write_validationsCreate and update cart validation functions.
read_checkout_branding_settingsRead checkout branding configuration. Requires Shopify Plus.
write_checkout_branding_settingsUpdate checkout branding. Requires Shopify Plus.

Apps

Read information about installed apps.

ScopeDescription
read_appsRead the list of apps installed on the store.

Best practices

Request the minimum set. If you only display orders, you don’t need write_orders. Asking for write access you don’t use makes merchants suspicious and your blast radius larger.

Use read-only scopes whenever possible. Most integrations are read-heavy. Reach for read_products before write_products unless you really do need to mutate data.

Document why each scope is needed. Store an internal note next to your scope list explaining which feature uses each one. When you remove a feature, you can confidently drop the scope.

Don’t request protected scopes you don’t need. read_all_orders, read_customers for protected fields, and Shopify Payments scopes require an approval process. Skip them unless your app genuinely requires the data.

Re-test on scope changes. When you add a new scope, your existing token won’t have it. Re-run the OAuth flow with the new scope list and replace the token.

Generate a token with the right scopes

Pick your scopes from the list above, paste your Client ID and Secret, approve on Shopify, and copy your token in under a minute.

Frequently asked questions

Can I add new scopes to an existing Shopify access token?+

No. Access tokens are tied to the exact set of scopes that were approved during OAuth. To add new scopes you have to re-run the OAuth flow with the expanded scope list. The merchant will be prompted to re-approve, and you'll receive a new access token.

What happens if I request a Shopify scope that doesn't exist?+

Shopify rejects the OAuth request with an invalid_scope error before the merchant ever sees the consent screen. Double-check spelling — scope names are case-sensitive snake_case (for example read_products, not read-products or readProducts). See the OAuth errors reference for full debugging steps.

What's the difference between read_orders and read_all_orders?+

read_orders gives access to orders placed in the last 60 days. read_all_orders is a protected scope that grants access to all historical orders and requires explicit approval from Shopify before you can request it. Most apps don't need it.

Are there Shopify scopes that require approval?+

Yes. Protected scopes like read_all_orders, read_customers (for protected customer data), and certain Shopify Payments scopes require you to apply for access through your Partner Dashboard. Standard scopes like read_products, write_products, and read_orders are available immediately.

How many scopes can I request in a single Shopify access token?+

There's no hard limit, but request only what you actually need. Asking for too many scopes lowers approval rates from merchants and increases your blast radius if a token leaks. Follow the principle of least privilege.