Explore Shopify’s API reference and templating documentation. Shopify provides a range of software tools, app templates, example apps, and libraries to accelerate your development process. Check out your options to see which one is right for you. ## Build apps Extend Shopify’s core functionality by building apps that integrate into Shopify’s admin, online store, checkout and more.

GraphQL Admin API

The GraphQL API lets you build apps and integrations that extend and enhance the Shopify admin. It provides data on products, customers, orders, inventory, fulfillment, and more.

Partner API

Scale your business with the Partner API. When you use the Partner API, you can access the data found in your Partner Dashboard to automate front and back-office operations.

App Bridge

Use App Bridge to build embedded apps integrated with the Shopify admin.

Remix app package

Build your app's web experiences with Remix, integrate with Shopify APIs, and embed into the Shopify admin.

Payments Apps API

Use the Payments Apps API to manage user account data including payments, refunds, and more.

Shopify Function APIs

Use Shopify Function APIs to customize the backend logic that powers parts of Shopify.

Webhooks

Use webhooks to keep apps in sync with Shopify data or to perform an action after a specific event occurs in a shop. Webhooks are a performant alternative to continuously polling APIs.

### Component libraries, references, and app extensions Explore the available component libraries and references for building apps. Seamlessly add your app’s functionality to Shopify user interfaces using app extensions.

Discounts

Use Shopify's discount React library to build a discount form page.

ShopifyQL

Use ShopifyQL to write analytical queries and find insights in user store data.

Admin UI extensions

Use Admin UI extensions to create a deeper integration into the Shopify admin.

Product subscription app extensions

Use Product subscriptions extensions to help merchants manage selling plans in the Shopify admin.

Checkout app extensions

Use checkout app extensions to extend your app code into checkout and customize many aspects of the checkout experience.

Shopify POS app extensions

Use Shopify POS app extensions to build custom POS UI Extensions, loyalty programs and discounts in Point of Sale shopping carts, as well as product recommendations.

Web pixel app extensions

Use web pixel app extensions to collect behavioral data for marketing campaign optimization and analytics.

Marketing activities app extensions

Use marketing activities app extensions to enable users to manage promotional campaigns and marketing automations from the Marketing page in the Shopify admin.

## Build custom storefronts Build commerce experiences and branded custom storefronts using the Storefront API and Hydrogen.

Storefront API

Build custom shopping experiences for any platform. Render product and inventory details and initiate checkouts from any surface, such as web, mobile, gaming, and more.

Customer Account API

Securely manage and personalize customer data such as orders, payments, discounts, refunds, and more, with a single sign-on experience across multiple surfaces.

Hydrogen and Oxygen

Use Shopify’s recommended full-stack solution for building headless commerce experiences, with off-the-shelf components, hooks, utilities, and hosting built in.

Hydrogen React

Explore an unopinionated and performant library of Shopify-specific React components, reusable functions, and utilities for interacting with the Storefront API.

## Build themes Help users express their unique brand in their storefront by building a custom theme.

Liquid

Use Liquid to build or customize Shopify themes using the Liquid template language.

Ajax API

Use the Ajax API to add dynamic elements to Shopify online stores with a lightweight JSON API for product data, recommendations, and shopping cart management.

Section Rendering API

Use the Section Rendering API to update page content by fetching only partial elements of a page instead of reloading it entirely.

Customer Privacy API

Use the Customer Privacy API to integrate buyer consent and opt-outs.

## API exploration Start exploring Shopify's GraphQL Admin and Storefront APIs on a demo shop.

Admin API GraphiQL explorer

Use the interactive GraphiQL explorer for the Admin API.

Storefront API GraphiQL explorer

Use the interactive GraphiQL explorer for the Storefront API.

## API libraries Shopify provides several official libraries for interacting with the [GraphQL Admin API](/docs/api/admin-graphql). Members of the Shopify developer community have created similar libraries covering other languages and technology stacks. ### Official Shopify Admin API libraries

Shopify/shopify-api-ruby

Shopify’s official Ruby gem for interacting with the Admin API

Shopify/shopify_app

A Rails engine for building Shopify Apps

Shopify/shopify-api

Shopify’s official Node library for interacting with the Storefront and Admin APIs, handling OAuth, webhooks, and billing

Shopify/admin-api-client

Shopify’s official lightweight Node library for interacting with the Admin API

Shopify/shopify-api-php

Shopify’s official PHP library for interacting with the Admin API

### Third-party Admin API libraries > Tip: > These libraries are created and maintained by members of the Shopify community. They aren’t official Shopify API libraries. #### Node

Shopify-api-node

Node Shopify connector

shopify-node-api

OAuth2 Module for Shopify API

#### PHP

php-shopify

PHP SDK for Shopify API

shopify-php-sdk

PHP SDK for development with the Shopify API

Basic-Shopify-API

A simple, tested, API wrapper for Shopify using Guzzle for GraphQL

#### Go

go-shopify

A Go library that helps developers easily authenticate with and manage Shopify stores.

#### .NET

ShopifySharp

A .NET core library that helps developers easily authenticate with and manage Shopify stores.

## App templates The following templates can help you start your Shopify app development. When you scaffold an app using [Shopify CLI](/docs/apps/build/cli-for-apps), you can specify the template that you want to use with the `--flavor` flag. Enter `remix`, `node`, `ruby`, or `php` to use one of our app templates, or use a third-party template by providing a path to a GitHub repository for the template. Shopify recommends using the Remix template for most apps. You can also build an extension-only app, which is an app that contains no [app home](/docs/apps/build/admin), and uses the extension-only template. To create an extension-only app, select **Start by adding your first extension** when you create your app. [Learn more about extension-only apps](/docs/apps/build/app-extensions/build-extension-only-app). To learn more about building using the template, and deploying apps built using the template, review the readme in the template repository.

Remix app template

An app template that uses Remix.

Extension-only app template

An app template for building extension-only apps.

Express app template

An app template that uses Express, Node.js, and React.

Ruby app template

An app template in Ruby and React.

PHP app template

An app template in PHP.

## Sample apps The following examples can help you with your app. - **[Shopify QR Code app](https://github.com/Shopify/shopify-app-examples/tree/main/qr-code/node)**: An example app based on the Node app template. The app, inspired by [Shopcodes](https://apps.shopify.com/shopcodes), implements basic QR code generation for products and discounts. - **[Storefront API apps](https://github.com/Shopify/storefront-api-examples)**: A series of example apps that demonstrate how to use the Storefront API. The examples are built and maintained by community members.