---
title: 'Shopify APIs, libraries, and tools'
description: >-
  Explore Shopify's APIs, references, and developer tools. Find the right
  resources for building apps, storefronts, themes, and integrations.
source_url:
  html: 'https://shopify.dev/docs/api'
  md: 'https://shopify.dev/docs/api.md'
---

# Shopify APIs, libraries, and tools

Reference documentation for Shopify's APIs, libraries, and developer tools, plus the concepts that apply across all of them.

[Authentication\
\
](https://shopify.dev/docs/api/usage/authentication)

[How authentication works across Shopify's APIs, and which token and header each API uses.](https://shopify.dev/docs/api/usage/authentication)

Core concepts

## Know what applies to every API

Authentication, versioning, limits, and error handling work in similar ways across Shopify's APIs, though the details can differ from one API to the next. All Shopify APIs are subject to the [Shopify API License and Terms of Use](https://www.shopify.com/legal/api-terms).

* [Authentication](https://shopify.dev/docs/api/usage/authentication) covers which token and header each API uses, and [access scopes](https://shopify.dev/docs/api/usage/access-scopes) gate what that token can read and write. Some APIs also require Shopify's approval or a specific [Shopify plan](https://www.shopify.com/pricing).

* [API versioning](https://shopify.dev/docs/api/usage/versioning) explains how Shopify releases a new version each quarter and supports each one for a year. You can find new features, breaking changes, and deprecations in the [developer changelog](https://shopify.dev/changelog).

* [Limits](https://shopify.dev/docs/api/usage/limits) covers input array size, pagination depth, how rate limiting works, and where to find the rate limit figures for each API.

* [Response status and error codes](https://shopify.dev/docs/api/usage/response-codes) are shared across APIs, and [idempotent requests](https://shopify.dev/docs/api/usage/idempotent-requests) let you safely retry a request that might have failed.

* [Global IDs](https://shopify.dev/docs/api/usage/gids) identify objects in the GraphQL APIs, [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-graphql) walks long lists of them, and the [search query syntax](https://shopify.dev/docs/api/usage/search-syntax) filters those lists.

![The Dev Dashboard app overview beside a terminal running Shopify CLI to create an app.](https://shopify.dev/assets/assets/images/apps/dev-dashboard/app-creation-dashboard-light-mode-Bx4Fn3YE.png)

***

Dev tools

## Set up your development environment

Shopify's tools generate a project, run it against a store while you work, and deploy it.

* [Shopify CLI](https://shopify.dev/docs/api/shopify-cli) scaffolds apps, themes, and custom storefronts, runs them against a dev store while you work, and packages and releases your app versions.

* [Dev stores](https://shopify.dev/docs/apps/build/stores/development-stores) are stores with test data that you build and test against.

* [React Router app package](https://shopify.dev/docs/api/shopify-app-react-router) is Shopify's app package for React Router v7 and later.

* [Libraries and templates](https://shopify.dev/docs/api/libraries-and-templates) include official and community API libraries for Ruby, Node, PHP, Go, and .NET, plus app templates and sample apps.

![The Stores page in the Dev Dashboard, listing dev stores, client transfer stores, and collaborations.](https://shopify.dev/assets/assets/images/apps/dev-dashboard/dev-stores-1xWzOtyw.png)

***

App data and logic

## Read and write store data

Your app reads and writes a store's data, runs its own logic on that data inside Shopify, and learns when something changes.

* [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql) reads and writes products, customers, orders, inventory, and the rest of the data behind the Shopify admin.

* [Events](https://shopify.dev/docs/api/events) report object and field-level changes to GraphQL resources with highly configurable payloads, while classic [webhooks](https://shopify.dev/docs/api/webhooks) notify your app when a store changes.

* [Shopify Functions](https://shopify.dev/docs/api/functions) run your own logic inside Shopify's backend for discounts, payments, and delivery.

* [ShopifyQL](https://shopify.dev/docs/api/shopifyql) queries store data with SQL-like syntax and returns typed columns and rows.

* [Payments Apps API](https://shopify.dev/docs/api/payments-apps) handles payment, capture, refund, and void sessions for payments partners.

![Diagram of an app calling the GraphQL Admin API to reach store data such as products, orders, customers, and inventory, with webhooks and events flowing back to the app, and Shopify Functions running the app's own logic inside Shopify.](https://shopify.dev/assets/assets/images/api/index/app-data-light-PWahdadR.svg)

***

Extensions and UI

## Extend every Shopify surface

Extensions render your app's interface inside Shopify's own surfaces, so it keeps working when Shopify changes the surface underneath it. Each surface has its own extension API.

* [App Home](https://shopify.dev/docs/api/app-home) is the page merchants open your app on. Build it as an embedded page with App Bridge and Polaris, or [as a UI extension](https://shopify.dev/docs/api/app-home-ui-extension) with Preact.

* [Admin UI extensions](https://shopify.dev/docs/api/admin-extensions) add actions and blocks to pages in the Shopify admin.

* [Checkout UI extensions](https://shopify.dev/docs/api/checkout-ui-extensions) customize the buyer's path to purchase, and [customer account UI extensions](https://shopify.dev/docs/api/customer-account-ui-extensions) customize order status and profile pages.

* [POS UI extensions](https://shopify.dev/docs/api/pos-ui-extensions) add your app to Shopify Point of Sale (POS), for staff selling in person.

![The Shopify admin products page with an app's action modal open on top of it.](https://shopify.dev/assets/assets/images/templated-apis-screenshots/admin-extensions/2025-07/admin.product-index.action.render-BiEFZ80k.png)

***

Storefronts

## Build custom commerce experiences

Buyer-facing experiences run on Shopify's storefront APIs, frameworks, and template languages, from a Shopify theme to a storefront you host yourself.

* [Storefront API](https://shopify.dev/docs/api/storefront) provides the commerce primitives for custom storefronts. [Hydrogen](https://shopify.dev/docs/api/hydrogen) is Shopify's React framework built on it, and [Hydrogen React](https://shopify.dev/docs/api/hydrogen-react) brings its components and hooks to any React app.

* [Liquid](https://shopify.dev/docs/api/liquid) is the template language for Shopify themes, and the [Ajax API](https://shopify.dev/docs/api/ajax) adds interactive elements, such as cart updates, without a full page reload.

* [Storefront Web Components](https://shopify.dev/docs/api/storefront-web-components) bring Shopify-powered commerce to any website with HTML, and [standard storefront events and actions](https://shopify.dev/docs/api/storefront-events-and-actions) give a storefront and the apps running on it a shared vocabulary.

* [Customer Account API](https://shopify.dev/docs/api/customer) provides access to customer identity and order history, and the [Customer Privacy API](https://shopify.dev/docs/api/customer-privacy) records buyer consent.

![A Hydrogen storefront running locally, showing a hero banner and a recommended products row.](https://shopify.dev/assets/assets/images/custom-storefronts/hydrogen/mockshop-screenshot-CwtXGip4.png)

***

App management

## Manage and monitor your apps

The Dev Dashboard is where you configure a live app and watch how it's behaving. The APIs in this section cover the same ground programmatically.

* [Dev Dashboard](https://shopify.dev/docs/apps/build/dev-dashboard) creates and manages apps, stores, and catalogs, and its [monitoring and logs](https://shopify.dev/docs/apps/build/dev-dashboard/monitoring-and-logs) chart webhooks, functions, and your own events.

* [API health report](https://shopify.dev/docs/apps/build/dev-dashboard/monitoring-and-logs#api-health) shows whether your apps are making deprecated API calls, before a version removes them.

* [App Events API](https://shopify.dev/docs/api/app-events) sends your app's own events to that monitoring, and reports usage for usage-based charges.

* [Partner API](https://shopify.dev/docs/api/partner) provides access to the data in the Partner Dashboard, such as organizations and payouts.

![Dev Dashboard charts showing webhook delivery volume and response times over time.](https://shopify.dev/assets/assets/images/apps/dev-dashboard/monitoring-LV3qq4O7.png)

***

Additional APIs

## Go deeper with specialized tools

Specialized tools cover specific surfaces and use cases: reaching shoppers in the Shop app, taking payments on sites that aren't on Shopify, measuring what buyers do, and reusing customer logins you already have.

* [Shop API](https://shopify.dev/docs/api/shop) connects your storefront to Shop, Shopify's consumer commerce surface, and [Shop Minis](https://shopify.dev/docs/api/shop-minis) are experiences that run inside the Shop app.

* [Shop Pay Wallet](https://shopify.dev/docs/api/commerce-components/pay) adds Shop Pay checkout to an ecommerce site that isn't on Shopify.

* [Web pixel app extensions](https://shopify.dev/docs/api/pixels) collect behavioral data for marketing, optimization, and analytics.

* [Multipass](https://shopify.dev/docs/api/customer-authentication/multipass) manages customer authentication across multiple applications, so a customer who already logged in on your platform doesn't log in again.

![A phone showing the Shop app with a product card and a Shop Pay checkout panel.](https://shopify.dev/assets/assets/images/api/index/additional-apis-light-Ct7T7iQr.png)

***
