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.
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.
The following API resources are currently only available to Shopify Plus Customers:
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:
- Product and collections management
- Sales channel
- Shipping and fulfillment
- Store properties
- Customer management
- Modifying the online store
- Inventory management
- Shopify Payments
Product and collections management
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.|
|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.|
|Product||Manage a store's products, which are the individual items and services for sale in the store.|
|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.|
|SmartCollection||Create or update smart collections by defining selection conditions. Products that match the conditions are included in the collection automatically.|
Create your own sales channel. Your sales channel might be a mobile app, a website, or an online marketplace.
|ProductListing||Manage the products that are published to your sales channel and retrieve their information.|
|CollectionListing||Manage the collections that are published to your sales channel and retrieve their information.|
|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.|
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.|
|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.|
|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.|
|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.|
Manage a store's configuration.
|Country||Manage the country and provincial tax rates that are applied to applicable items at checkout.|
|Province||Manage the tax rates that are applied to orders from a specific province or state.|
|Shipping Zone||Retrieve the shipping zones that a merchant has set up from their Shopify admin. Each Shipping Zone object includes the countries and provinces added to the shipping zone, as well as the tax rates and shipping rates that are set up.|
|Shop||Access a store's general settings and information as configured by the merchant in their Shopify admin.|
Help merchants manage their customer data.
|Customer||Add or update information about a store's customers, including their addresses and whether they have an active customer account with the store.|
|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.|
|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.|
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.|
Get paid for your app by collecting a one-time charge, a fixed monthly fee, or a variable monthly fee based on usage.
|ApplicationCharge||Charge a shop a one-time fee by creating an application charge.|
|ApplicationCredit||Request to create an application credit for a particular shop.|
|RecurringApplicationCharge||Charge a shop a subscription fee to use your app. Charged every 30 days.|
|UsageCharge||Charge varying amounts based on the monthly usage of your app.|
Modifying the online store
Update a merchant's online storefront and its content.
|Blog Article||Manage a store's articles (blog posts). Each article belongs to a blog and can have many comments.|
|Asset||Manage the files that make up a store's theme to change the look of the online store.|
|Blog||Create, edit, and delete a store's blogs. Each store can have multiple blogs, and each blog can have many articles (blog posts). Use the Article API to manage each blog's articles.|
|Comment||Manage the reader comments for articles (blog posts). Each article can have many comments. Some available actions include creating comments, updating comments, deleting comments, marking comments as spam, and approving comments.|
|Page||Create and update static pages for an online store.|
|Theme||Manage a store's themes, which control the look and feel of an online store. Use the Asset API to update specific files within a theme.|
Provide a merchant with detailed reports to help them analyze how their business is performing.
|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).|
|Shopify Query Language||Write queries that fetch data from the available Shopify schemas. ShopifyQL queries can be used to publish reports using the Report API.|
Help merchants to offer flexible discounts.
|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.|
|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.|
Fetch event data or register webhooks to keep your app synced with the merchant store.
|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.|
|Webhook||Retrieve and store event data using webhooks.|
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.|
|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.|
|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.|
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.|
Run campaigns and track their success.
|MarketingEvent||Create or update marketing events to track activity associated with a merchant's marketing campaigns.|
Attach extra data to resources with metafields.
|Metafield||Add metadata to store resources.|
Create custom functionality for high GMV merchants using APIs exclusive to Shopify Plus.
|GiftCard||Create and manage gift card codes, which can be entered at checkout to pay using a gift card.|
|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.|
Access Shopify Payments payout and balance information.
|Payout||Get information regarding Shopify Payments payouts.|
|Transaction||Get information regarding Shopify Payments balance transactions.|