[Read Before Posting] Custom Storefront + Storefront API F.A.Q

Shopify Staff
Shopify Staff
535 105 107

Custom Storefronts FAQ

Welcome to the Custom Storefronts community board. Please read through this information prior to asking your question.

What is a custom storefront?

  • Think mobile apps for your business, a custom front end for your website, adding commerce into a video game, offline commerce such as a smart mirror - and more.
  • If you have questions about customizing your theme please post in the Shopify Design board

Bug Reporting:

  • If you are reporting a bug with a specific SDK please utilize the Github repos. Otherwise, please post it here with the title [bug] followed by a brief description.

Setup Tips:

Rate Limiting:

  • The Storefront API is rated limited by the buyer IP and can not be utilized server-side or with a proxy for this reason
  • The Storefront API utilizes a time-based leaky bucket algorithm and every request to the Storefront API costs at least 0.5 seconds to run


  • The Storefront API is an unauthenticated API and access is managed by scopes
  • For a private app, you will utilize the storefront access token from the Admin. This is different from the API Key and Password used for the Admin API
  • For a public app or Sales Channel, the storefront access token is obtained through OAuth


Cart + Performance: 

  • There is no cart object in the Storefront API
  • It is best practice to only initialize a checkout when necessary
  • A cart UI can be built with localStorage to handle Add To Cart actions for the best performance 

Custom Domain: 

  • If you are having issues with your .myshopify.com URL being surfaced at checkout, please check that you are initializing the client and API with the custom domain such as https://backyardbotanicgoods.com/api/2020-04/graphql vs. coolstore.myshopify.com/api/2020-04/graphql 

Flash Sales:

  • The Storefront API is not designed to be used for flash sales for two main reasons:
  • Bot protection is unavailable
  • The Storefront API has a limit on the amount of checkouts that can be created per minute. If an API client exceeds this throttle, then a 200 Throttled error response is returned. Shopify recommends designing your app to be resilient to this scenario. For example, you could implement a request queue with an exponential backoff algorithm.




Vix | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog