REST Admin API reference
The REST Admin API lets you build apps and other integrations for the Shopify admin.
If you want to create Shopify-powered storefronts for platforms outside of the Shopify admin, including websites, mobile apps, and game development engines, then see the Storefront API instead.
Shopify offers a wide range of APIs to provide functionality at every stage of a store's operation. For help selecting which APIs and resources you need for your app, see Selecting APIs for your app.
For the latest information about changes to Shopify's APIs, visit the API Announcements section of the Shopify Forums.
Use our featured APIs to quickly integrate sophisticated Shopify functionality into your app:
Application proxies - Display data on a Shopify store page from an outside location.
Charging users for your app - Create and issue charges to store owners purchasing your app.
Carrier service - Register a new carrier service with a list of applicable shipping rates.
Fulfillment service - Register, edit, and delete new fulfillment services.
Liquid - Load dynamic content on storefronts with the Liquid template language.
Multipass SHOPIFY PLUS - Manage your Shopify customers across multiple applications.
Webhooks - Retrieve and store data based on certain events in Shopify.
Selecting APIs for your app
You'll need to use different APIs depending on the service that your app provides. Use the following tables to see which APIs are useful for different kinds of tasks.
View and manage the access that has been granted to you by merchants.
AccessScope View the access scopes approved by merchants during installation of your app. StorefrontAccessToken Generate a storefront access token to access the Storefront API.
Manage a store's configuration.
Give merchants new ways to receive, process, and manage their orders.
Abandoned checkouts Retrieve a list of incomplete checkouts. Each Checkout object includes a URL to the online checkout, where the customer can complete their purchase. DraftOrder Allow merchants to manually create orders on behalf of customers. The order is saved as a draft in the Shopify admin until it's marked as completed. Order Create and update a store's orders. Each order is a record of a complete purchase that includes details of the customer, their cart, and any transactions. Order Risk Display a fraud analysis and recommendations on the details page of an order. Refund Create and retrieve refunds for an order. Each refund is a record of money being returned to the customer. Use the calculate endpoint to make sure that any refund that you create is accurate. Transaction Create and retrieve transactions for an order. Transactions are created for every order that results in an exchange of money.
Payouts Get information regarding Shopify Payments payouts. Balance View the current balance for a Shopify Payments account Transactions Get information regarding Shopify Payments balance transactions.
Access and manipulate a store's catalog using product and collection APIs.
Collect After creating a custom collection, add products to it by creating a collect for each product. Each collect associates one product with one custom collection. Product Manage a store's products, which are the individual items and services for sale in the store. SmartCollection Create or update smart collections by defining selection conditions. Products that match the conditions are included in the collection automatically. Product Image Add or update a store's product images, which sales channels use to display the products to shoppers. Product Variant Add or update a product's variants. Variants are the different combinations of the product's options. For example, a t-shirt product with size and color options might have a variant in a small size and blue color. CustomCollection Manage a store's custom collections. A custom collection is one where products are included manually, as opposed to being included automatically because they meet selection conditions.
Fetch event data or register webhooks to keep your app synced with the merchant store.
Webhook Retrieve and store event data using webhooks. Event Retrieve a list of events, which are important actions in the operation of a shop. Shopify records events for a range of resources, and each resource has its own set of actions that create events.
Help merchants manage their customer data.
Customer Address Manage the customer addresses for a store. Customers can have multiple addresses, one of which is the default address that's used to calculate taxes and shipping charges. Customer Add or update information about a store's customers, including their addresses and whether they have an active customer account with the store. CustomerSavedSearch Add or update customer saved searches. Saved searches help merchants to organize their customers into groups that they can access quickly from their admin. They're also useful for specifying sets of customers, such as the customers that are eligible to use a certain discount code.
Create custom functionality for high GMV merchants using APIs exclusive to Shopify Plus.
User Retrieve the permissions on staff accounts. From the Shopify admin, merchants can give each staff account full permissions or individual permissions that control access to a part of Shopify. Multipass Manage the authentication of customers across multiple applications to provide a single login experience for those websites. Gift Card Create and manage gift card codes, which can be entered at checkout to pay using a gift card.
Provide a merchant with detailed reports to help them analyze how their business is performing.
ShopifyQL Write queries that fetch data from the available Shopify schemas. ShopifyQL queries can be used to publish reports using the Report API. Report Create, update, and delete reports that appear on the Reports page of the Shopify admin. Each report is built from a query written with Shopify Query Language (ShopifyQL).
Help merchants to offer flexible discounts.
PriceRule Create the logic for a discount, and then use the DiscountCode API to associate a code with the discount so it can be applied at checkout. DiscountCode After setting up the logic for a discount using the PriceRule API, use the DiscountCode API to associate the discount with a code, which can be entered at the checkout to apply the discount.
Create your own sales channel. Your sales channel might be a mobile app, a website, or an online marketplace.
Checkout Create and update checkouts to provide a custom checkout experience for your sales channel. ResourceFeedback Notify merchants about actions required to resolve errors with your app. ProductListing Manage the products that are available to your sales channel and retrieve their information. CollectionListing Manage the collections that are published to your sales channel and retrieve their information. Payment Create and update payments to provide a custom checkout experience for your sales channel.
Manage inventory levels across multiple locations.
InventoryItem List or update the inventory of a variant's inventory item.Each variant can have one inventory item, and each inventory item can have many locations.Each location can have many inventory items for many variants. Location Retrieve the locations that a merchant has set up from their Shopify admin. Each location refers to the address of a business' headquarters, retail stores, and pop-up stores. The store's locations are used to track sales and to configure the tax rates applied at checkout. InventoryLevel Get or update the inventory level of an inventory item at a location. Each inventory level is associated to a single inventory item and location.
Shipping and fulfillment
Show custom shipping rates at checkout, or register your app as a store's fulfillment service and then manage its fulfillments.
CarrierService Provide real-time shipping calculations before checkout with your custom shipping service. FulfillmentEvent Create fulfillment events for an order's fulfillments. The fulfillment events are displayed on the order status page so the customer can track the progress of their delivery. Fulfillment Manage the fulfillment of an order's line items. Create a fulfillment for each shipment, provide tracking information, and notify the customer that their items have shipped. FulfillmentService Register a fulfillment service with a store. The merchant can then set it as the fulfillment service for their products, and your service can manage the fulfillment of those products using the Fulfillment and FulfillmentEvent APIs.
Update a merchant's online storefront and its content.
Get paid for your app by collecting a one-time charge, a fixed monthly fee, or a variable monthly fee based on usage.
UsageCharge Charge varying amounts based on the monthly usage of your app. ApplicationCredit Request to create an application credit for a particular shop. ApplicationCharge Charge a shop a one-time fee by creating an application charge. RecurringApplicationCharge Charge a shop a subscription fee to use your app. Charged every 30 days.
Create or update marketing events to track activity associated with a merchant's marketing campaigns.
Add metadata to store resources.