ShopifyAPI
Shopify API for Python
What it is and what it does
ShopifyAPI is the official Python client for Shopify's Admin API, enabling developers to programmatically interact with Shopify shops. It provides object-oriented wrappers around Shopify's REST and GraphQL endpoints, allowing you to create, read, update, and delete resources like products, orders, customers, and fulfillments. The library handles OAuth authentication for public and custom apps, as well as direct access for private apps, and includes session management to scope API calls to specific shops.
The package relies on pyactiveresource, PyJWT, PyYAML, and six as runtime dependencies. However, Shopify has deprecated the REST API as of October 1, 2024, with public apps required to migrate to GraphQL by February 2025 and custom apps by April 2025. New projects should plan for GraphQL-first development.
Use it for:
- Build Shopify apps that sync product catalogs, inventory, or order data to external systems.
- Automate billing and subscription management by creating and activating application charges.
- Implement custom fulfillment workflows that retrieve orders and create fulfillments.
- Develop private apps for Shopify merchants that need direct API access without OAuth.
- Migrate existing REST-based integrations to GraphQL before the February–April 2025 deadline.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for the Shopify Admin API, supporting both REST and GraphQL endpoints for managing shop data, products, orders, and other Shopify resources.
Yes, with conditions. ShopifyAPI is actively maintained and production-stable for existing REST integrations, but new projects should commit to GraphQL from the start given the REST API deprecation timeline (February 2025 for public apps, April 2025 for custom apps). The high install friction is manageable for Shopify-focused work.
Install
shopifyapi on PyPI
pip
pip install shopifyapiuv
uv add shopifyapipoetry
poetry add shopifyapiInstalling ShopifyAPI
Before you install
High install friction due to four runtime dependencies. Maintenance is active with recent commits and 1433 repository stars, though REST API examples are deprecated as of October 1, 2024 and will be removed by early 2025, requiring migration to GraphQL.
License in practice
MIT License (permissive) allows commercial and private use with minimal restrictions, suitable for both open-source and proprietary applications.
Quickstart
pip install ShopifyAPI
from shopify import Session, ShopifyResource, Shop
Session.setup(api_key='YOUR_KEY', secret='YOUR_SECRET')
session = Session('shop.myshopify.com', '2024-07', access_token='TOKEN')
ShopifyResource.activate_session(session)
shop = Shop.current()
Requires Shopify Partner account to create applications and obtain API credentials; REST API is legacy and will be removed by early 2025, requiring GraphQL migration.
Verify before relying
- Whether pyactiveresource, PyJWT, PyYAML, and six have known vulnerabilities or maintenance issues.
- Current state of REST API removal and whether existing code will break before the stated deadline.
- Whether the experimental shopifyapp package is recommended as a replacement for new projects.
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | 4 — pyactiveresource, PyJWT, PyYAML, six |
| Maintenance | actively maintained — 648 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 752,869/month — #5,151 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: shopifyapi-12.7.0.tar.gz
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
google-shopping-merchant-productsPython client library for Google Shopping…
permissive · top 15,000 on PyPI
python-liquidPython Liquid is a template engine that renders…
permissive · top 5,000 on PyPI
google-shopping-typeProvides Python type definitions and client…
permissive · top 15,000 on PyPI
fyers-apiv3Official Python client library for the Fyers…
permissive · top 15,000 on PyPI
razorpayPython client library for the Razorpay payment…
permissive · top 5,000 on PyPI
dhanhqPython client library for the Dhan trading API,…
permissive · top 15,000 on PyPI
google-analytics-adminPython client library for the Google Analytics…
permissive · top 1,000 on PyPI
fastapi-slimThis package is a deprecated migration shim…
permissive · top 15,000 on PyPI
pinterest-api-sdkPython client library for the Pinterest API…
permissive · top 15,000 on PyPI
google-analytics-dataPython client library for querying Google…
permissive · top 5,000 on PyPI