Libraries and templates
Use an app template to scaffold a working app in minutes with Shopify CLI, then choose from Shopify's official API libraries or community-maintained options to suit your language and framework.
Anchor to App templatesApp templates
App templates give you a fully working Shopify app out of the box, including OAuth, billing, and webhooks. Use Shopify CLI with the --flavor flag to scaffold from a template.
Shopify recommends the React Router template for most new apps. It uses the @shopify/shopify-app-react-router package and is actively maintained.
| Template | Description |
|---|---|
| React Router template | Recommended for most apps |
| Extension-only template | For custom-distribution apps with no developer-hosted backend. Extension-only apps can have a page in App Home by using an App Home UI extension. |
| Express template | Express, Node.js, and React |
| Ruby template | Ruby on Rails |
Anchor to Sample appsSample apps
Sample apps demonstrate common patterns and integrations. Use them as a reference or starting point for your own project.
| App | Description |
|---|---|
| Shopify QR Code app | A full-featured example app with QR code generation, built with Node.js and React Router. |
Anchor to Official API librariesOfficial API libraries
Shopify's official libraries handle authentication, versioning, and request management so you can focus on building your app's logic.
For PHP and Python apps, there isn't an app template. Scaffold your own project in your framework of choice, then compose the shopify-app-php or shopify-app-python primitives into it. Each package's README documents every primitive, so you can hand the README to your AI coding tool as context when you scaffold the project.
| Library | Language | Description |
|---|---|---|
| shopify-api-ruby | Ruby | Ruby gem for the Admin API. Handles OAuth, webhooks, REST, and GraphQL. |
| shopify_app | Ruby / Rails | Rails engine that adds Shopify app scaffolding, session management, and webhooks to a Rails app. |
| shopify-api | Node.js | Library for the Storefront and Admin APIs, OAuth, webhooks, and billing. |
| admin-api-client | Node.js | Lightweight library for making Admin API requests directly, without the full app framework. |
| shopify-app-php | PHP | Framework-agnostic package for building apps. Handles request verification, token exchange, and GraphQL Admin API calls. |
| shopify-app-python | Python | Framework-agnostic package for building apps. Handles request verification, token exchange, and GraphQL Admin API calls. |
Anchor to Third-party API librariesThird-party API libraries
These community-maintained libraries cover additional languages and frameworks. Shopify doesn't officially maintain them, but they're widely used by the developer community.
| Library | Language | Description |
|---|---|---|
| Shopify-api-node | Node.js | Node Shopify connector |
| shopify-node-api | Node.js | OAuth2 module for Shopify API |
| php-shopify | PHP | PHP SDK for Shopify API |
| Basic-Shopify-API | PHP | PHP API wrapper using Guzzle for GraphQL |
| laravel-shopify | PHP / Laravel | Laravel integration for building Shopify apps |
| go-shopify | Go | Go library for Shopify |
| ShopifySharp | .NET | .NET library for Shopify |